之前博文中提到过以源代码的方式来安装软件,也就是利用tarball进行软件的安装,但是比较麻烦,每次安装都需要检测操作系统与环境,设置编译参数,实际的编译等
如果我的linux系统和厂商的系统一模一样,那么在厂商的系统上面编译好的软件自然可以在自己的系统上运行,即类似windows的安装方式。
在linux,主要有两种软件管理器,分别是RPM和Debain的dpkg。
dpkg:派生于debian的linux大多使用这个机制,包括ubuntu,B2D
RPM:redhat centos suse 等
distribution代表 | 软件管理机制 | 使用命令 | 在线升级机制(指令) |
Red Hat/Fedora | RPM | rpm,rpmbuild | YUM |
Debian/Ubuntu | DPKG | dpkg | APT(apt-get) |
这里详细介绍下ubuntu的软件安装。也就是dpkg和apt-get
dpkg:Debian Packager
apt-get
apt-get install xxx 安装xxx 。如果带有参数,那么-d 表示仅下载 ,-f 表示强制安装
apt-get remove xxx 卸载xxx
apt-get update 更新软件信息数据库
apt-get upgrade 进行系统升级
apt-cache search 搜索软件包
apt理论上要求要联网
apt-get和dpkg的对比:
dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。
dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件
apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具