Linux 界的两大主流:RPM 与DPKG
distribution 代表 | 软件管理机制 | 使用命令 | 线上升级机制(命令) |
Red Hat/Fedora | RPM | rpm, rpmbuild | YUM (yum) |
Debian/Ubuntu | DPKG | dpkg | APT (apt-get) |
什么是RPM 与SRPM
文件格式 | 档名格式 | 直接安装与否 | 内含程序类型 | 可否修改参数并编译 |
RPM | xxx.rpm | 可 | 已编译 | 不可 |
SRPM | xxx.src.rpm | 不可 | 未编译之原始码 | 可 |
什么是i386, i586, i686, noarch, x86_64
平台名称 | 适合平台说明 |
i386 | 几乎适用於所有的x86 平台,不论是旧的pentum 或者是新的Intel Core 2 与K8 系列的CPU 等等,都可以正常的工作!那个i 指的是Intel 兼容的CPU 的意思,至於386 不用说,就是CPU 的等级啦! |
i586 | 就是针对586 等级的计算机进行最佳化编译。那是哪些CPU 呢?包括pentum 第一代MMX CPU,AMD 的K5, K6 系列CPU (socket 7 插脚)等等的CPU 都算是这个等级; |
i686 | 在pentun II 以后的Intel 系列CPU ,及K7 以后等级的CPU 都属於这个686 等级!由於目前市面上几乎仅剩 P-II以后等级的硬件平台,因此很多distributions 都直接释出这种等级的RPM 文件。 |
x86_64 | 针对64 位的CPU 进行最佳化编译配置,包括Intel 的Core 2 以上等级CPU ,以及AMD 的Athlon64 以后等级的CPU ,都属於这一类型的硬件平台。 |
noarch | 就是没有任何硬件等级上的限制。一般来说,这种类型的RPM 文件,里面应该没有binary program 存在,较常出现的就是属於 shell script方面的软件。 |
RPM 的优点:
-
RPM内含已经编译过的程序与配置档等数据,可以让使用者免除重新编译的困扰;
-
RPM在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
-
RPM文件本身提供软件版本资讯、相依属性软件名称、软件用途说明、软件所含文件等资讯,便於了解软件;
-
RPM 管理的方式使用数据库记录RPM 文件的相关参数,便於升级、移除、查询与验证。
RPM 默认安装的路径
安装完毕后,该软件相关的资讯就会被写入/var/lib/rpm/ 目录下的数据库文件中了
/etc | 一些配置档放置的目录,例如/etc/crontab |
/usr/bin | 一些可运行文件 |
/usr/lib | 一些程序使用的动态函式库 |
/usr/share/doc | 一些基本的软件使用手册与说明档 |
/usr/share/man | 一些man page 文件 |
RPM 安装(install)
[root@www ~]# rpm -ivh package_name 选项与参数: -i :install 的意思 -v :察看更细部的安装资讯画面 -h :以安装资讯列显示安装进度
RPM 升级与升级(upgrade/freshen)
-Uvh | 后面接的软件即使没有安装过,则系统将予以直接安装;若后面接的软件有安装过旧版,则系统自动升级至新版; |
-Fvh | 如果后面接的软件并未安装到你的Linux系统上,则该软件不会被安装;亦即只有已安装至你Linux系统内的软件会被『升级』! |
RPM 查询(query)
RPM 验证与数码签章(Verify/signature)
RPM 反安装与重建数据库(erase/rebuilddb)
利用默认值安装SRPM 文件(--rebuid/--recompile)
SRPM 使用的路径与需要的软件
/usr/src/redhat/SPECS | 这个目录当中放置的是该软件的配置档,例如这个软件的资讯参数、配置项目等等都放置在这里; |
/usr/src/redhat/SOURCES | 这个目录当中放置的是该软件的原始档(*.tar.gz 的文件)以及config 这个配置档; |
/usr/src/redhat/BUILD | 在编译的过程中,有些缓存的数据都会放置在这个目录当中; |
/usr/src/redhat/RPMS | 经过编译之后,并且顺利的编译成功之后,将打包完成的文件放置在这个目录当中。里头有包含了i386, i586, i686, noarch.... 等等的次目录。 |
/usr/src/redhat/SRPMS | 与RPMS 内相似的,这里放置的就是SRPM 封装的文件罗!有时候你想要将你的软件用SRPM 的方式释出时,你的 SRPM 文件就会放置在这个目录中了。 |
配置档的主要内容(*.spec)
SRPM 的编译命令(-ba/-bb)
利用yum 进行查询、安装、升级与移除功能:
-
查询功能:yum[list|info|search|provides|whatprovides] 参数
-
安装/升级功能:yum[install|update] 软件
-
移除功能:yum[remove] 软件
yum 的配置档
yum 的软件群组功能
全系统自动升级