本章介绍Linux上各种包管理系统(package management system, PMS),以及用来进行软件安装、管理和删除的命令行工具。
9.1 包管理基础
PMS利用一个数据库来记录各种相关内容:
- Linux系统上已安装了什么软件包
- 每个包安装了什么文件
- 每个已安装软件包的版本
软件包储存在服务器上,叫仓库repository。
软件包会以来其他的包,PMS工具将会检测这些依赖关系,并在安装需要的包之前先安装好所有额外的软件包。
Linux广泛使用的两种主要PMS基础工具:
- dpkg 基于Debian的发行版(Ubuntu)
- rpm基于Red Hat的发行版
9.2 基于Debian的系统
dpkg命令是基于Debian系PMS工具的核心。
包含在这个PMS中的其他工具有:
- apt-get
- apt-cache
- aptitude
9.2.1 用aptitude管理软件包
aptitude
aptitude show package_name
dpkg命令:得到所有跟某个特定包相关的所有文件的列表。
dpkg -L package_name
反向操作:查找某个特定文件属于哪个包
dpkg --search absolute_file_name #绝对文件路径
9.2.2 用aptitude安装软件包
aptitude search package_name #查找特定的软件包
aptitude install package_name #在系统上用aptitude从软件仓库中安装软件包
sudo命令是以root用户身份运行一个命令,比如安装软件。
检查安装过程是否正常,再次使用search, 出现 i u表明安好。
9.2.3 用aptitude更新软件
aptitude safe-upgrade
aptitude full-upgrade # 不会检查包之间的依赖关系
aptitude dist-upgrade
9.2.4 用aptitude卸载软件
sudo aptitude remove package_name #只删除软件包而不删除数据和配置文件
sudo aptitude purge package_name #删除软件包和相关的数据和配置文件
要看软件包是否已删除,再用search选项,软件包名称前面y有个c,说明已删除,是个p,说明配置文件也已删除。
9.2.5 aptitude仓库
aptitude默认的软件仓库位置是在安装Linux发行版时设置的。具体位置储存在文件/etc/apt/source.list中。
9.3 基于Red Hat的系统(因为自己没用这个系统,所以笔记要简略些)
基于Red Hat 系统常见的有三种:
- yum
- urpm
- zypper
9.3.1 列出已安装包
yum list installed #找出系统上已安装的包
yum list installed > installed_software #将已安装的包重定向到一个文件中
rpm -qa > installed_software #urpm
zypper search -I > installed_software
yum list package_name #查看包是否已安装
rupmq -i package_name #包信息
rpm -q package_name #是否安装
zypper search -s package_name #包信息
yum provides file_name # 在系统上的某个特定文件属于哪个软件包
9.3.2 用yum安装文件
yum install package_name
yum localinstall package_name.rpm # 手动下载rpm安装文件并用yum安装,本地安装
9.3.3 用yum更新软件
yum list updates #列出所有已安装包的可用更新
yum update package_name #更新软件包
yum update #更新所有包
9.3.4 用yum卸载软件
yum remove package_name #只删除包而保留配置文件和数据文件
yum erase package_name #删除软件和所有文件
9.3.5 处理损坏包依赖关系
#三种方式
yum clean all
yum deplist package_name
yum update --skip-broken
9.3.6 yum软件库
yum repolist
9.4 从源码安装
软件包sysstat
首先,将sysstat的tarball下载到Linux系统上。(http://sebastien.godard.pagesperso-orange.fr/),点击下载
然后,解压 tar -zxvf sysstat-11.1.1.tar.gz
然后,cd进入新目录,列出目录内容
然后,查看README文件
然后,配置系统sysstat ./configure
然后,make命令构建各种二进制文件
然后,make install 将它安装到Linux系统的常用位置上
9.5 小结
- dpkg
- rpm
- tarball
今天说一些感想吧
一边看书一边安装了在Windows自带的Ubuntu上面敲命令,结果学到这章,只能运行aptitude,不能运行apt-get apt apt-ache这些命令,捣鼓了很久也不行。上网查了很久也没找到解决方案。
然后再自己虚拟机上准备做练习,结果VMware tool也装不上。又折腾了很久。
本来觉得自己已经入门了,现在小小问题一下打回原形。
哎