目前的linux系统大致分为两类:
- RedHat 系列:Redhat、Centos、Fedora 等,使用rpm;
- Debian 系列:Debian、Ubuntu 等,使用dpkg。
由于自由软件的蓬勃发展,怎么管理越来越多的软件对于linux系统来说非常关键。
1. dpkg
dpkg
(package manager for Debian,debian系统的包管理工具)。dpkg是Debian的一个底层包管理工具,主要用于对已下载到本地和已安装的软件包进行管理。dpkg这个机制最早由Debian Linux社区所开发出来的,通过dpkg的机制,Debian提供的软件就能够简单的安装起来,同时能提供安装后的软件信息。
使用dpkg -i xxx.deb
或dpkg --install xxx.deb
指令来安装.deb软件包。
2. rpm
rpm
(RedHat Package Manager,RedHat系统的包管理工具)。这个机制最早由Red Hat这家公司开发出来的,后来实在很好用,因此很多distributons就使用这个机制来作为软件安装的管理方式,包括Fedora,CentOS,SuSE等知名的开发商都是用它。
使用rpm -i xxx.rpm
或rpm --install xxx.rpm
指令来安装.rpm软件包。
但是dpkg和rpm不能很方便地处理包的依赖关系,那么怎么实时通过网络查询依赖关系进行安装呢,在dpkg和rpm的基础上分别开发出了apt-get和yum(Red Hat)这种『线上升级』机制。
distribution 代表 | 软体管理机制 | 使用指令 | 线上升级机制(指令) |
---|---|---|---|
Red Hat/Fedora | RPM | rpm, rpmbuild | YUM (yum) |
Debian/Ubuntu | DPKG | dpkg | APT (apt-get) |
3. apt
由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list
列出最合适访问的镜像站点地址。
apt
可以看作apt-get
和 apt-cache
命令的子集, 可以为包管理提供必要的命令选项。
apt-get
虽然没被弃用,但作为普通用户,还是应该首先使用 apt
。
使用apt-get install
或apt install
安装后,软件的目录:
- 下载的软件的存放位置:
/var/cache/apt/archives
- 安装后软件的默认位置:
/usr/share
- 可执行文件位置:
/usr/bin
- 配置文件位置:
/etc
- lib文件位置:
/usr/lib
4. yum
YUM可以看作是CS架构的软件,YUM的存在很好的解决了RPM的属性依赖问题。YUM通过依赖rpm软件包管理器, 实现了rpm软件包管理器在功能上的扩展, 因此YUM是不能脱离rpm而独立运行的。
/etc/yum.repos.d/
里面会有多个配置文件(文件名以.repo结尾),yum会从里面逐个查找,所以里面的容器名称不能有重复。