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]# lsCentOS-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】