1、PMS(Package Management System):包管理工具

dpkg: Debian的发行版
rpm: Red Hat发行版

2、Debain系统的包管理

apt-get
apt-cache
aptitude:完整的软件包管理系统(非常强大)

3、aptitude命令

##查看
aptitude show package_name

##查找&安装
aptitude search package_name (i:已经安装,p:未安装/软件和配置都删除, c:软件已删除)
aptitude install package_name

##升级
aptitude safe-upgrade 安全升级软件包
aptitude full-upgrate (不会检查包之间的依赖,不推荐)
aptitude dist-upgrate (不会检查包之间的依赖,不推荐)

##卸载
aptitude remote package_name (只删除软件包,不删除数据和配置文件)
aptitude purge package_name (删除软件包,并且删除数据和配置文件)


备注:无法使用aptitude看到的一个细节是所有跟特定软件包关联的所有文件的列表。要看到这个列表,需要采用dpkg -L package_name。同时,可以反向搜索某个特定的文件属于哪个软件包:dpkg —search absolute_file_name

4、aptitude源

aptitude 库的位置在/etc/apt/source.list
source.list文件格式:
deb (or deb-src) address distribution_name package_type_list
deb/deb-src 软件包的类型,deb代表这是一个编译后程序的源,deb-src说明这是一个源代码的源
address 软件库的的Web地址
distribution_name 特定软件库的发行版版本的名称
package_type_list 表明库里面有什么类型的包,不止一个单词(main/restricted/universe/partner)

5、Red Hat系统的包管理

yum: 在Red Hat和Fedora中使用
urpm:在Mandriva中使用
zypper:在open suse中使用

6、yum常用命令

yum list installed :列出已安装的包
yum list package_name  :列出某个特定软件包的详细信息
yum provides file_name :查看什么软件提供了配置文件

yum install package_name :安装某个包
yum install package_name.rpm 本地安装某个rpm包

yum list updates 列出所有针对已安装包的可用更新
yum update package_name 更新某个包
yum update 更新所有列在更新列表中的包

yum remove package 只删除软件包而保留配置文件和数据文件
yum erase package 删除软件和所有文件

7、处理损坏包的依赖关系

安装多个软件包时,某个包的软件依赖关系可能会被另外一个包的安装包覆盖掉,这称为:损坏的包依赖关系
step1 : yum clean all . yum update
step2 : yum deplist package_name ,这个命令,显示所有包的库的依赖关系,以及什么软件可以提供这些库依赖关系
step3 : yum update —skip-broken 允许你忽略依赖关系损坏的那个包而更新其他软件包

8、yum软件库

yum repolist, yum 库定义文件在/ect/yum.repos.d

9、源码安装软件

step1: 查看README文件
step2:为系统配置sysstat:检查你的Linux系统来保证除了用来编译源代码的合适的编译器外,是否有正常的包依赖关系 ./configure
step3:make 构建二进制文件,编译源代码,然后连接器会创建最终可执行的文件
step4:make install安装文件