关于ubuntu安装软件的问题:apt-get和dpkg区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ubuntu安装软件的问题:apt-get和dpkg区别?相关的知识,希望对你有一定的参考价值。

apt-get install可以安装什么类型的文件?dpkg -i呢?
另外我还看到一种安装方法:make和gcc,这又怎么操作呢?本人初学,非常感谢!

一、主体不同

1、apt-get:是一条linux命令,适用于deb包管理式的操作系统。

2、dpkg:为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。

二、作用不同

1、apt-get:用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

2、dpkg:是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。 


三、功能不同

1、apt-get:apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包

2、dpkg:安装一个目录下面所有的软件包,释放软件包,但是不进行配置。

参考资料来源:百度百科-apt-get

参考资料来源:百度百科-dpkg

参考技术A 两者的区别是dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。
1、dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。
2、apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。
安装软件包
dpkg -i package_name.deb //安装本地软件包,不解决依赖关系
apt-get install package //在线安装软件包
aptitude install pattern //同上
apt-get install package --reinstall //重新安装软件包
apitude reinstall package //同上
移除软件包
dpkg -r package //删除软件包
apt-get remove package //同上
aptitude remove package //同上
dpkg -P //删除软件包及配置文件
apt-get remove package --purge //删除软件包及配置文件
apitude purge pattern //同上
自动移除软件包
apt-get autoremove //删除不再需要的软件包
参考技术B 用apt-get install和dpkg -i 都是要先下载编译好的二进制deb包,
make和gcc是用来编译源代码的,也就是说把十进制的源代码编译成二进制的机器代码。
在ubuntu上一般都用apt-get install ,aptitude install 或dpkg -i, 不过有些电脑发烧友喜欢找软件的源代码自己编译成二进制文件安装。追问

我下载好了deb,用apt或dpkg都能安装么?
另外tar.gz文件解压后能不能用这个方式安装?我看网上说要make安装的。。。

追答

apt-get 工具自己会从软件源服务器上下载deb包,下载完后自动安装。比如在ubuntu系统上安装VLC播放器,只需在终端中执行命令sudo apt-get install vlc,然后输入用户密码就可以了。
如果自己下载了deb包,那么可以直接双击deb包文件,调出ubuntu软件中心进行安装,也可以用dpkg命令行工具安装。

tar.gz或tar.bz2 tar.xz格式的文件一般都是十进制源代码,必须先用make或gcc把它编译成二进制的机器代码然后安装。

本回答被提问者采纳

如何在Ubuntu下安装apt-get?

我用的ubuntu中没有安装apt-get,请问该工具如何安装?

1、更新软件数据库:sudo apt-get update2、查找你想要的软件:sudo apt-cache search softwareName3、从查找的结果中找到你想安装的软件,然后:sudo apt-get install softwareNameYouFound 备注:斜体字为命令的参数,需要根据用户需要安装的软件名称而改变。---------------------------------------------------------可以用命令:sudo apt-cache -h来得到更多信息。 --------------------------------------------------------- 例如:我想安装eclipse,但我不知道是否能通过apt-get命令来安装,如下操作:1、sudo apt-get update.2、sudo apt-cache search eclipse这时,可以看到有 3、这时可以用以下命令安装eclipse:sudo apt-get install eclipse ---end 参考技术A

这种情况经常遇到。原因是包管理软件互斥运行,比如synaptic(新立德)运行时,软件中心就不能安装软件,会提示等待apt-get退出。

解决方法:

    查出什么软件在锁定apt

    等待该程序执行完,或关闭该程序(比如遇到该软件下载软件包,下载半天都没完成,中止,程序卡死,你需要重启该程序等情况)

    重新执行程序安装


命令如下:

 sudo fuser -vik /var/lib/dpkg/lock
                     用户     进程号 权限   命令
/var/lib/dpkg/lock:  root       4788 F.... synaptic
杀死进程 4788 ? (y/N) 


可知,synaptic(新立德)在占用apt,那么

此时,按y,杀死synaptic进程,解决“等待apt-get退出“问题。

参考技术B OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
ubuntu下安装cmake比较简单,
apt-get install cmake
apt-get install libgtk2.0-dev(下面两步安装编译必须的库)
apt-get install pkg-config

然后你们下载openc-2.4.3 然后 解压
然后cmake-gui 进入了 ui配置界面 在路劲那里配置好你的opencv位置 和 安装路径
然后点 configure 然后选中 unix makefiles 然后选 use xxxxxx compilter
这跟命令行配置 cmake -D CMAKE_BUILD_TYPE=RELEASE CMAKE_INSTALL_PREFIX=/home/OpenCV 是一样的

之后就是安装了 make 然后make install

然后是配置变量
sudo gedit /etc/ld.so.conf.d/opencv.conf

最后一行增添 /usr/local/lib
然后是跟改变量
sudo gedit /etc/bash.bashrc

也是在最后一行添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

码字辛苦 请给满意答案
参考技术C ubuntu中由apt-get获得的文件包保存在/var/cache/apt/archives;
通过apt-get命令下载的软件包,放在/var/cache/apt/archives
目录下;
下载文件位置可以在/etc/apt/source.list文件中指定。

以上是关于关于ubuntu安装软件的问题:apt-get和dpkg区别?的主要内容,如果未能解决你的问题,请参考以下文章

关于ubuntu中的软件安装

ubuntu环境下通过apt-get安装软件 nginx 怎么配置文件

图文教程详解Ubuntu的两种安装方式

ubuntu apt-get安装卸载软件命令及如何查看日志

ubuntu采用apt-get安装软件出现依赖问题的解决方案

ubuntu中apt-get安装与默认路径