红帽linux系统与UOS命令对比
1 软件包管理系统
目前在各 Linux 发行版中, 比较著名的软件包管理系统有如下两种:
RPM: Red Hat/Fedora,Suse,Mandriva 使用的是这类管理系统。
DPKG: Debian,ubuntu使用的是这类管理系统。
UOS是基于Debian发行版本,因此UOS使用的是DPKG包管理机制。
Redhat的rpm软件包管理相信大家都很熟悉,这里主要讲UOS系统的软件升级的源配置,在/etc/apt/sources.list。文件内容的格式如下:
deb [by-hash=force] https://packages.chinauos.cn/ eagle main contrib non-free
其中,第一列描述了文件类型,是deb类型还是deb-src类型,deb是已经编译好的二进制软件包,deb-src是源码包,第二列是使用的镜像地址,apt可以使用多种类型的镜像地址,如:http、ftp、file等。其中,eagle 是系统的codename。 main non-free contrib是源下面不同的目录,每个目录放一类软件,即不同的子仓库。
在每次修改sources.list文件后,都需要运行apt-get update命令更新源列表系统中所有packages的信息都在 /var/lib/dpkg/目录下, 其子目录 /var/lib/dpkg/info 用于保存各个软件包的配置文件列表,/var/lib/dpkg/available文件的内容是软件包的描述信息, 该软件包括当前系统所使用的深度安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包。/var/cache/apt/archives目录是在用 apt-get install 安装软件包时,软件包的临时存放路径,而/etc/apt/sources.list 存放的是软件源站点, 当执行 apt-get install package-name 时,软件包就去这些站点下载软件包到本地并执行安装。
2 红帽与UOS操作命令对比
红帽系统与UOS的基本操作命令基本相同,属于Linux基本操作命令。二者命令的主要区别在软件包的管理上,下面就针对二者对软件包的管理命令进行对比。
表1 rpm与dpkg软件包管理常用命令对比
rpm包管理命令
deb包管理命令
说明
rpm -qa
dpkg -l
查询当前系统中已安装的所有软件包
rpm -qi package-name
dpkg -s package-name
查询系统中某个软件包的详细信息
rpm -ql package-name
dpkg -L package-name
显示已安装软件包的文件列表
rpm -qf file
dpkg -S file
查询系统中指定的文件属于哪个包
rpm -qpi file.rpm
dpkg -I pkg.deb
显示指定软件包文件的详细信息
rpm -qlp file.rpm
dpkg -c pkg.deb
显示deb包中的文件列表
rpm -ivh file.rpm
dpkg -i pkg.deb
安装指定的软件包
rpm -e package-name
dpkg -P package-name
彻底卸载deb软件包
rpm2cpio file.rpm|cpio -id
dpkg -x pkg.deb .
解包到当前目录
rpm -qpR file.rpm
apt-cache depends package-name
查询软件对环境的依赖关系
rpm --force --nodeps -i file.rpm
dpkg -i --force-all pkg.deb
强行安装软件包
rpm -qp --scripts file.rpm
dpkg -e pkg.deb
查询管理软件包脚本
rpmbuild -bb filename.spec
dpkg -b pkg.deb
建软件包
rpm -V package-name
debsums -a package-name
校验软件包中的文件是否被修改rpm --checksig file.rpm
debsig -c pkg.deb
检证软件包签名是否正确
表2 yum与apt软件包管理常用命令对比
yum包管理
apt包管理
说明
yum install package-name
apt-get install package-name
安装软件包
yum remove package-name
apt-get remove package-name
卸载软件包(保留配置文件)加入 --purge 则删除配置文件
yum upgrade
apt-get upgrade
更新所有已安装的软件包,apt-get dist-upgrade —— 将系统升级到新版本
yum clean rpmdb
apt-get clean
清除cache中包文件yumdownloader source package-name
apt-get source package-name
下载程序的源代码包
yum search package-name
apt-cache search package-name
在软件资料库中搜索软件包
yum info package-name
apt-cache show package-name
查看包信息
注:yumdownloader命令需要安装yum-utils*