软件安装


包管理系统PMS(package management system)

控制软件和库的安装

软件仓库

软件包存储在服务器上,可使用PMS通过互联网访问,这些服务器成为仓库。

软件包通常依赖其他软件包,被依赖的包必须提前安装在系统上

常见的两种PMS工具

  1. dpkg(基于Debian发行版)
  2. rpm(基于RedHat发行版)

dpkg

基于Debian发行版的核心工具

配置文件在/etc/apt/sources.list

且包含如下前端工具

  • apt-get
  • apt-cache
  • aptitude

使用aptitude管理软件包

输入命令直接回车,可以看到几组软件包,每组后面的数字显示这个组包含多少个软件包

aptitude

常用参数

aptitude update             更新可用的包列表
aptitude upgrade            升级可用的包
aptitude dist-upgrade       将系统升级到新的发行版
aptitude install pkgname    安装包
aptitude remove pkgname     删除包
aptitude purge pkgname      删除包及其配置文件
aptitude search string      搜索包(每个包名字前i或u表示已安装,p或v表示包可用但未安装)
aptitude show pkgname       显示包的详细信息
aptitude clean              删除下载的包文件
aptitude autoclean          仅删除过期的包文件

 列出某个软件包所安装的全部文件

dpkg -L vim-common

查找某个特定文件属于哪个包,文件路径必须是绝对路径

dpkg --search /usr/bin/ssd

 更新软件包

检查依赖关系并进行保守更新

aptitude safe-upgrade

 不检查依赖关系强制更新(慎用)

aptitude full-upgrade
atpitude dist-upgrade

 卸载软件

aptitude remove xx 只删除软件包
aptitude purge xx 删除软件包的数据和配置文件

再次使用aptitude search查看,如果软件包名称前c表示软件已删除,配置文件还存在,如果是p表示配置文件已删除

RedHat

基于rpm工具管理软件包

配置文件存放在/etc/yum.repos.d目录下

包含如下前端工具

  • yum(Centos,redhat中使用)
  • urpm(Mandriva中使用)
  • zypper(openSUSE中使用)

列出已安装的软件包

yum list installed

查看单个软件包是否安装

yum list xterm
yum list installed xterm

找出系统某个文件属于哪个软件包

yum provides /etc/yum.conf

安装软件

yum install xxx

本地安装,需要提前下载好软件包

yum localinstall package_name.rpm

列出已安装软件包的可用更新

yum list updates

 更新软件包

yum update xx  更新某个包
yum update 更新所有

 卸载软件

yum remove xx
yum erase xx 删除软件和他所有的文件

处理损坏包依赖关系

当安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉,称为损坏的包依赖关系

先清理

yum clean all

 再更新

yum update

如果还不行,使用如下命令

yum deplist xx

 这个命令显示了所有包的库依赖关系以及什么软件可以提供这些库依赖关系,然后重装依赖包

如果还不行,则使用终极杀手锏

yum update --skip-broken

忽略依赖关系损坏的包,继续更新其他软件包

显示从哪些仓库获取软件

yum repolist

从源码安装

先从网站下载tar.gz软件包并解压

tar -zxvf xx.tar.gz

进入解压目录,阅读README或AAAREADME文件

执行配置脚本文件

./configure

查看报错信息,处理报错

最后使用make构建各种二进制文件,编译源码,生成最终的可执行文件

make 会将软件安装到当前目录下
make install 会将软件安装到常用目录下
#两者都可使用建议使用第二种