Linux学习笔记(4)-软件包管理

一,Redhat系软件包的管理


二进制软件包管理(RPM,YUM)


RPM包管理


RPM软件包的一个例子:

sudo-1.7.2pl-5.el-5.el5.i386.rpm

sudo表示软件名称

1.7.2pl表示版本号

5.el5表示发行号

i386表示硬件平台


卸载:

# rpm -e 软件包名

如果有依赖关系,比如samba的config工具和samba软件关联,卸载samba时会产生错误信息

如果要强行删除,可以使用--nodeps

例如:

# rmp -e --nodeps samba


安装:

# rpm -ivh 软件包名 (i是安装命令,vh可以不写)

例如:

# rpm -ivh sudo-1.7.2pl-5.el5.i386.rpm


具体事例(从光盘中安装sudo)

挂载光盘

mkdir /mnt/cdrom 通常临时设备都放在mnt目录下

mount /dev/cdrom /mnt/cdrom 在此之前需要先将光盘放入光驱,如果是dvd的话,需要用这个命令

mount /dev/dvd1 /mnt/cdrom


挂载完毕之后,在/mnt/cdrom/Packages中存在sudo的安装包

在上述目录中,

# ls | grep sudo

可以筛选出来sudo的软件包

之后使用安装命令

#rpm -ivh  sudo-1.7.2pl-5.el5.i386.rpm


查看软件包的安装状况

# rpm -q 软件包名

例如:查看是否安装了sudo

# rpm -q sudo


查询和samba软件相关的所有软件包

#rpm -qa | grep samba


升级:

# rpm -Uvh 软件包名


其他安装选项

--excludedocs

不安装软件包的文件文档


--prefix PATH

将软件包安装到由PATH制定的路径下

此命令意义不大,很多软件包已经规定了安装目录,不能修改


--test

只对安装进行测试,并不实际安装


--replacepkgs

覆盖安装,如果软件包已经安装,但是出问题了,需要重新安装,可以使用上述命令,如果不使用,会提示软件包已经被安装从而中断安装过程


--replacefiles

如果出现软件冲突,(如果要安装的软件包中有一个文件已经在安装其他软件包时安装了,会出现错误信息,并终止安装)

可以使用上述命令来对冲突文件进行覆盖


--nodeps

未解决的依赖关系

软件包可能依赖于其他软件包,如果要强行安装,可以使用上述命令。但是即使强行安装了,大多数情况下也不能用。。。

RPM的依赖关系是很麻烦的,可能出现安装软件包A,依赖软件包B,安装B又需要C。。。

因此可以YUM进行包管理


查询

选项:

-a 查询所有已经安装的软件包

-f 查询文件所属软件包

-p 查询软件包

-i 显示软件包信息

-l 显示软件包中的文件

-d 显示被标注为文档的文件列表

-c 显示被标注为配置文件的文件列表

栗子:

查询文件隶属的软件包:rpm -qf

也可以查看某个命令隶属哪个软件包,例如:rpm -qf /bin/ls

查询软件包的信息:rpm -qi,rpm -qip

查询软件安装包安装时安装了哪些文件:rpm -ql,rpm -qlp

查询软件包帮助文档:rpm -qd

查询软件包配置文件:rpm -qc


校验

rpm -V 软件包名

例如:rpm -V sudo

可以校验sudo软件安装之后是否有文件被修改

如果sudo软件的一个文件被修改了

运行上述命令,

会返回一个错误信息,并指明哪个文件的问题

例如:

S.5....T c /etc/sudoers

其中值得含义:

5 文件的md5校验值

S 文件的大小

L 链接文件

T 文件的创建时间

D 设备文件

U 文件的用户

G 文件的用户组

M 文件的权限


S.5....T c /etc/sudoers说明,大小(S)发生了变化,md5校验值(5)发生了变化, T说明文件的时间被修改了


软件包文件的提取

解压所有文件到当前目录

# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv


解压指定文件到当前目录

# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab



YUM包管理


应用YUM的好处:

自动解决软件包依赖关系

方便软件包升级


YUM的操作最好能连接互联网

安装:yum install

yum install 软件包名

其他的操作类似。。。

检测升级:yum check-update

升级:yum update

软件包查询:yum list

查看yum源上相关的软件包

软件包信息:yum info

卸载:yum remove

帮助:yum -help,man yum



源代码包安装


标准源代码包安装举例(proftpd):

# tar -xzvf proftpd-1.2.2d.tar.gz (解压缩)

# cd proftpd-1.2.2d

# ./configure --prefix=/usr/local/proftpd (配置,通常的源代码包中都有这个脚本,运行它来搜集系统信息,为编译做准备(生成一些makefile文件, --prefix为指定安装目录。))

# make (编译)

# make install (安装,把上一步编译出来的东西放到指定目录里)

(软件下载地址:http://www.proftpd.org)



脚本安装(Shell或Java脚本)


举例:(webmin)

# tar -xzvf webmin-1.530.tar.gz

# cd webmin-1.530

# vi README

# ./setup.sh



二,Debian系列Linux软件包的管理(APT)


搜索软件包:apt-cache search


软件包信息:apt-cache show


安装:apt-get install


删除:apt-get remove


更新软件源:apt-get update


更新安装包:apt-get upgrade



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值