您的位置:首页 > 运维架构 > Linux

Linux 软件包管理

2011-07-03 23:31 274 查看
最近开始在Linux下编程了。以前都是在Windows下开发一些应用程序,不过对自己所追求的有差距:即是Windows下面什么都是“密封”的,而在Linux下面则是透明的,你能看到一切。

开始第一个项目是OceanBase,海量结构化数据的分布式解决方案。分布式那块我一向感兴趣,因为高效高可靠、海量数据、负载均衡、网络编程、存储等方面的一系列有趣的话题。现在还处在看文档和看一些简单的代码,shell脚本和C/C++代码。尤其是shell,即是速度没有C/C++快速,但是简单、灵活的语句就能创造出需要很多代码才能写出功能,给我很大震撼(之前感受还没有那么深)。

转入正题,这几天主要看了一下几个方面:

1. 软件包管理。主要包括了三个方面:二进制软件包管理(RPM、YUM)、源代码包安装、脚本安装。

a) RPM安装。首先是rpm包的一个例子,sudo-1.7.2p1-5.e15.i386.rpm。其中软件名(sudo),版本号(1.7.2p1),发行号(5.e15)和硬件平台(i386)。

l 软件卸载: #rpm –e sudo 如果其他软件包有依赖关系,卸载时会产生提示信息,可用 - -nodeps强行卸载。

l 软件安装: #rpm –ivh sudo-1.7.2p1.e15.i386.rpm

l 查询软件是否安装:#rpm –q sudo 或者 #rpm –qa |grep samba

l 软件升级: #rpm –Uvh sudo-1.8.0p1-5.e15.i386.rpm

l Rpm的其他选项:- -excludedocs 不安装软件包中的文档文件;- -prefix PATH 将软件包安装到有PATH指定的路径下;- -test 只对安装进行测试,并不实际安装;- -replacepkgs 覆盖安装该软件包;对软件的未解决依赖关系(即装A软件,但需要先装B软件才能装A软件),可以强制安装使用 - -nodeps,不过十有八九软件会不能运行。

b) YUM安装。

l 安装:#yum install sudo

l 检测升级:#yum check-update sudo

l 升级:#yum update sudo

l 软件包查询:yum list

l 软件包信息:yum info sudo

l 卸载:yum remove sudo

l 帮助:yum –help、 man yum

c) RPM 和 YUM 比较:

l yum 自动解决软件包依赖关系

l yum 方便的软件包升级

l rpm 有些命令可以更方便更快捷:

1. 查询文件隶属的软件包: rpm –qf

2. 查询软件包信息: rpm –qi, rpm –qip

3. 查询软件包安装文件: rpm –ql、 rpm –qlp

4. 查询软件包帮助文档: rpm –qd

5. 查询软件包配置文件: rpm –qc

6. 对软件的校验: rpm –V 软件名称

l 5 文件的MD5校验值

l S 文件的大小

l L 链接文件

l T 文件的创建时间

l D 设备文件

l U 文件的用户

l G 文件的用户组

l M 文件的权限

d) 脚本安装。

l 安装webmin

l #tar –xzvf webmin-1.530.tar.gz

l #cd webmin-1.530

l #vi README

l #./setup.sh

l 软件下载地址:http://www.webmin.com

e) 源代码包安装

l #tar -xzvf proftpd-1.3.3d.tar.gz

l #cd proftpd-1.3.3d

l #./configure --prefix=/usr/local/proftpd(配置安装路径)

l #make(编译)

l #make install(安装)

l 软件下载地址:http://www.proftpd.org
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: