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

Linux软件包管理

2017-05-23 22:19 218 查看

0 挂载光盘

【mkdir   /mnt/cdrom】

【mount    /dev/cdrom   /mnt/cdrom】

1 RPM包管理

1.1 RPM包格式

【sudo-1.7.2p1-5.el5.i386.rpm】其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386)。

1.2 RPM查询

查询软件是否安装

【rpm -q  sudo】无依赖的包

【rpm -qa | grep samba】有依赖的包,需要安装多个部分



查询文件隶属的软件包:【rpm -qf】  rpm -qf  /usr/ls   可以查询任何文件或命令

查询软件包信息:【rpm -qi】查询已安装软件包信息

【rpm -qip】查询未安装软件包信息

查询软件包安装文件:【rpm -ql】查询该软件安装了哪些文件

【rpm -qlp】

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

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

1.3 卸载

【rpm   -e   sudo】

注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用【--nodeps】强行卸载。

1.4 安装

【rpm  -ivh sudo-1.7.2pl-5.el5.i386.rpm】

其他安装选项:

【--excludedocs】不安装软件包中的文档文件

如:【rpm  -ivh --excludedocs  sudo-1.7.2pl-5.el5.i386.rpm】

【--prefix   PATH】将软件包安装到PATH指定的路径下(大多数RPM包软件不允许改变安装目录)

如:【rpm  -ivh --prefix=/usr/local/sudo sudo-1.7.2pl-5.el5.i386.rpm】

【--test】只对安装进行测试,并不实际安装

如:【rpm  -ivh --test sudo-1.7.2pl-5.el5.i386.rpm】

1.5 软件包已被安装



【rpm -ivh --replacepkgs sudo-1.7.2pl-5.el5.i386.rpm】覆盖安装软件包

1.6 文件冲突----版本比现有版本低等

如果要安装的软件包中有一个文件已在安装其他软件包时安装,会出现:conflicts with file from bark-3.2-11等

【rpm -ivh --replacefiles sudo-1.7.2pl-5.el5.i386.rpm】让rpm忽略错误信息

1.7 未解决的依赖关系

RPM软件包可能依赖于其他软件包,在安装了特定软件包之后才能安装该软件包。



此时必须安装完所有依赖的软件包,才能解决这个问题,强制安装使用【--nodeps】选项(不过这样安装的多数软件不可用)。

1.8 软件升级

【rpm -Uvh sudo-1.8.2pl-5.el5.i386.rpm】

1.9 RPM实例之查询vim配置文件【.vimrc】的注释方法

【.vimrc】文件:

set nu
# map ^P I#<Esc>
如果采用这种方式注释,每次都会提示错误:

处理 /root/.vimrc 时发生错误:
第    2 行:
E488: 多余的尾部字符: # map ^P I#<Esc>
请按 ENTER 或其它命令继续
解决步骤:

①通过rpm包查询vim相关软件包都有哪些

【rpm -qa | grep vim】

vim-common-7.4.629-5.el6.x86_64
vim-filesystem-7.4.629-5.el6.x86_64
vim-minimal-7.4.629-5.el6.x86_64
vim-enhanced-7.4.629-5.el6.x86_64
②然后,查找各个软件包目录中的配置文件的示例example

【rpm -ql vim-common | grep example】

/usr/share/vim/vim74/gvimrc_example.vim
/usr/share/vim/vim74/macros/urm/examples
/usr/share/vim/vim74/vimrc_example.vim
③进入其中一个,我们发现注释采用的是【"】,问题解决



1.10 RPM包校验

【rpm -V 软件名称】



如果文件使用中出现问题,可以这样校验:

【rpm -V sudo】

1.11 软件包文件误删----使用RPM提取文件

查询文件所属软件包

【rpm -qf /etc/inittab】

解压所有文件到当前目录

【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】

2 YUM包管理---需要联网

2.1 应用yum的好处

自动解决软件包依赖关系
方便的软件包升级

2.2 常用命令

安装【yum install】  yum install sudo
检测升级【yum check-update】 yum check-update sudo
升级【yum update】
软件包查询【yum list】yum list    或  yum list | grep sudo
软件包信息【yum info】
卸载【yum remove】
帮助【yum -help】【man yum】

2.3 更改yum源

【etc/yum.repos.d/】配置文件下,CentOS-Base.repo互联网源;CentOS-Media.repo本地媒体源;

[root@Jiaozl-PC ~]# vim /etc/yum.repos.d/CentOS-
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-Debuginfo.repo  CentOS-Media.repo
[root@Jiaozl-PC ~]# vim /etc/yum.repos.d/CentOS-

2.3.1 更改CentOS-Media.repo文件

baseurl:添加本地挂载点;enabled=1;

14 [c6-media]
15 name=CentOS-$releasever - Media
16 baseurl=file:///mnt/cdrom/
17 file:///media/cdrom/
18 file:///media/cdrom/
19 file:///media/cdrecorder/
20 gpgcheck=1
21 enabled=1
22 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

2.3.2 本地只保留Media源

[root@Jiaozl-PC yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
[root@Jiaozl-PC yum.repos.d]# mkdir /b
backup/ bin/ boot/
[root@Jiaozl-PC yum.repos.d]# mkdir /backup/
mkdir: 无法创建目录"/backup/": 文件已存在
[root@Jiaozl-PC yum.repos.d]# mv CentOS-* /backup/
[root@Jiaozl-PC yum.repos.d]# ls
[root@Jiaozl-PC yum.repos.d]# ls -l /b
backup/ bin/ boot/
[root@Jiaozl-PC yum.repos.d]# ls -l /backup/
总用量 24
-rw-r--r--. 1 root root 1991 8月 4 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 647 8月 4 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 289 8月 4 2015 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 656 6月 4 09:47 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 8月 4 2015 CentOS-Vault.repo
[root@Jiaozl-PC yum.repos.d]# mv /backup/CentOS-Media.repo ./
[root@Jiaozl-PC yum.repos.d]# ls
CentOS-Media.repo
[root@Jiaozl-PC yum.repos.d]#

3 源代码包安装

源代码包有很大的灵活性;
源代码安装没有统一的卸载命令,所以要安装到一个指定的目录。
【tar -zxvf proftpd-1.3.3d.tar.gz】解压解包

【cd proftpd-1.3.3d】

【./configure --prefix=/usr/local/proftpd】配置(检测收集硬件信息)   prefix指定安装目录

【make】编译

【make install】安装

4 脚本安装

【tar -zxvf webmin-1.530.tar.gz】

【cd webmin-1.530】

【vi README】

【./setup.sh】

5 APT包管理----debian系列

搜索软件包【apt-cache search】

软件包信息【apt-cache show】

安装【apt-get install】(reinstall、-f)覆盖安装和修复安装

删除【apt-get  remove】(autoremove、--purge)自动卸载、删除配置文件

更新软件源【apt-get update】

更新已安装包【apt-get upgrade】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: