软件管理程序
Linux的软件安装分为源代码编译安装和打包安装。RPM是一种打包安装方式,是由 Red Hat 这家公司开发出来的,后来实在很好用,因此很多 distributions 就使用这个机制来作为软件安装的管理方式。包括 Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚
什么是 i386, i586, i686, noarch, x86_64
这是个很好玩的地方,由於 RPM 可以适用在不同的操作平台上,但是不同的平台配置的参数还是有所差异性! 并且,我们可以针对比较高阶的 CPU 来进行最佳化参数的配置,这样才能够使用高阶 CPU 所带来的硬件加速功能。 所以就有所谓的 i386, i586, i686, x86_64 与 noarch 等的文件名称出现了!
平台名称 适合平台说明 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 方面的软件。 根据上面的说明,其实我们只要选择 i386 版本来安装在你的 x86 硬件上面就肯定没问题。但是如果强调效能的话, 还是选择搭配你的硬件的 RPM 文件吧!毕竟该软件才有针对你的 CPU 硬件平台进行过参数最佳化的编译嘛!
x86_64版本不仅需要硬件cpu是64位,Linux也要是64位的才行。
RPM 默认安装的路径
/etc 一些配置档放置的目录,例如 /etc/crontab /usr/bin 一些可运行文件 /usr/lib 些程序使用的动态函式库 /usr/share/doc 一些基本的软件使用手册与说明档 /usr/share/man 一些 man page 文件
RPM 安装 (install)
因为安装软件是 root 的工作,因此你得要是 root 的身份才能够操作 rpm 这命令的。 用 rpm 来安装很简单啦!假设我要安装一个档名为 rp-pppoe-3.5-32.1.i386.rpm 的文件,那么我可以这样:
不过,这样的参数其实无法显示安装的进度,所以,通常我们会这样下达安装命令: 另外,如果我们在安装的过程当中发现问题,或者已经知道会发生的问题, 而还是『执意』要安装这个软件时,可以使用如下的参数『强制』安装上去:
可下达的选项 代表意义 –nodeps 使用时机:当发生软件属性相依问题而无法安装,但你执意安装时
危险性: 软件会有相依性的原因是因为彼此会使用到对方的机制或功能,如果强制安装而不考虑软件的属性相依, 则可能会造成该软件的无法正常使用!–replacefiles 使用时机: 如果在安装的过程当中出现了『某个文件已经被安装在你的系统上面』的资讯,又或许出现版本不合的信息 (confilcting files) 时,可以使用这个参数来直接覆盖文件。
危险性: 覆盖的动作是无法复原的!所以,你必须要很清楚的知道被覆盖的文件是真的可以被覆盖喔!否则会欲哭无泪!–replacepkgs 使用时机: 重新安装某个已经安装过的软件!如果你要安装一堆 RPM 软件文件时,可以使用 rpm -ivh *.rpm ,但若某些软件已经安装过了, 此时系统会出现『某软件已安装』的资讯,导致无法继续安装。此时可使用这个选项来重复安装喔! –force 使用时机:这个参数其实就是 –replacefiles 与 –replacepkgs 的综合体!
–test 使用时机: 想要测试一下该软件是否可以被安装到使用者的 Linux 环境当中,可找出是否有属性相依的问题。范例为:
rpm -ivh pkgname.i386.rpm –test–justdb 使用时机: 由於 RPM 数据库破损或者是某些缘故产生错误时,可使用这个选项来升级软件在数据库内的相关资讯。 –nosignature 使用时机: 想要略过数码签章的检查时,可以使用这个选项。 –prefix 新路径 使用时机: 要将软件安装到其他非正规目录时。举例来说,你想要将某软件安装到 /usr/local 而非正规的 /bin, /etc 等目录, 就可以使用『 –prefix /usr/local 』来处理了。 –noscripts 使用时机:不想让该软件在安装过程中自行运行某些系统命令。
说明: RPM 的优点除了可以将文件放置到定位之外,还可以自动运行一些前置作业的命令,例如数据库的初始化。 如果你不想要让 RPM 帮你自动运行这一类型的命令,就加上他吧!
RPM 升级与升级 (upgrade/freshen)
使用 RPM 来升级真是太简单了!就以 -Uvh 或 -Fvh 来升级即可,而 -Uvh 与 -Fvh 可以用的选项与参数,跟 install 是一样的。不过, -U 与 -F 的意义还是不太一样的,基本的差别是这样的:
-Uvh 后面接的软件即使没有安装过,则系统将予以直接安装; 若后面接的软件有安装过旧版,则系统自动升级至新版; -Fvh 如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦即只有已安装至你 Linux 系统内的软件会被『升级』!
RPM 查询 (query)
RPM 在查询的时候,其实查询的地方是在 /var/lib/rpm/ 这个目录下的数据库文件啦!另外, RPM 也可以查询未安装的 RPM 文件内的资讯喔!那如何去查询呢们先来谈谈可用的选项有哪些p>
在查询的部分,所有的参数之前都需要加上 -q 才是所谓的查询!查询主要分为两部分, 一个是查已安装到系统上面的的软件资讯,这部份的资讯都是由 /var/lib/rpm/ 所提供。另一个则是查某个 rpm 文件内容, 等於是由 RPM 文件内找出一些要写入数据库内的资讯就是了,这部份就得要使用 -qp (p 是 package 的意思)。 那就来看看几个简单的范例吧!
RPM 反安装与重建数据库 (erase/rebuilddb)
反安装就是将软件卸载啦!要注意的是,『解安装的过程一定要由最上一级往下解除』,以 rp-pppoe 为例,这一个软件主要是依据 ppp 这个软件来安装的,所以当你要解除 ppp 的时候,就必须要先解除 rp-pppoe 才行!否则就会发生结构上的问题啦!这个可以由建筑物来说明, 如果你要拆除五、六楼,那么当然要由六楼拆起,否则先拆的是第五楼时,那么上面的楼层难道会悬空p>
移除的选项很简单,就透过 -e 即可移除。不过,很常发生软件属性相依导致无法移除某些软件的问题! 我们以底下的例子来说明:
由於 RPM 文件常常会安装/移除/升级等,某些动作或许可能会导致 RPM 数据库 /var/lib/rpm/ 内的文件破损。果真如此的话,那你该如何是好心,我们可以使用 –rebuilddb 这个选项来重建一下数据库喔! 作法如下:
CentOS强烈建议使用yum来管理软件,且只使用CentOS推荐的软件,如果没有太大的需要,建议使用yum来安装软件,这样的安装可以最大的保证系统的稳定性。
YUM 线上升级机制
yum 是透过分析 RPM 的标头数据后, 根据各软件的相关性制作出属性相依时的解决方案,然后可以自动处理软件的相依属性问题,以解决软件安装或移除与升级的问题。
由於 distribution 必须要先释出软件,然后将软件放置於 yum 服务器上面,以提供用户端来要求安装与升级之用的。 因此我们想要使用 yum 的功能时,必须要先找到适合的 yum server 才行啊!
实际上当你第一次使用yum时,CentOS6以上版本优先安装了 fastestmirror,用以选择最快的yum服务器。
- 查询功能:yum [list|info|search|provides|whatprovides] 参数
- 安装/升级功能:yum [install|update] 软件
- 移除功能:yum [remove] 软件
全系统自动升级
我们可以手动选择是否需要升级,那能不能让系统自动升级,让我们的系统随时保持在最新的状态呢然可以啊!透过『 yum -y update 』来自动升级,那个 -y 很重要,因为可以自动回答 yes 来开始下载与安装! 然后再透过 crontab 的功能来处理即可!假设我每天在台湾时间 3:00am 络频宽比较轻松的时候进行升级, 你可以这样做的:
从此你的系统就会自动升级啦!很棒吧!此外,你还是得要分析登录档与收集 root 的信件的, 因为如果升级的是核心软件 (kernel),那么你还是得要重新启动才会让安装的软件顺利运行的! 所以还是得分析登录档,若有新核心安装,就重新启动,否则就让系统自动维持在最新较安全的环境吧! 真是轻松愉快的管理啊!
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览32407 人正在系统学习中 相关资源:百度图片疯狂下载器-专业指导文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!