第八章:安装软件程序
包管理基础
每个主要的Linux发行版都利用包管理系统的某些形式来控制安装软件应用和库
PMS(Package Manager System)利用一个数据库来记录:
1.Linux系统上已安装了什么软件包
2.每个包安装了什么文件
3.每个已安装软件包的版本
软件包存储在服务器上,这些服务器称为库(repository)
PMS会检查包的依赖关系,并在安装要求的包之前提供安装所有额外的软件包
PMS并没有一个标准的工具。基于Debian的发行版,比如Ubuntu和Linux Mint,在他们PMS工具的底层用的是dpkg。基于Red Hat的发行版,比如Fedora、openSUSE和Mandriva,在他们PMS工具的底层用的是rpm
基于Debian的系统
用aptitude管理软件包
aptitude命令会进入全屏模式,q=退出
如果想查看系统上一个已经安装了的软件包的信息,可以用下述命令
aptitude show package_name
注意:aptitude show命令并不表明这个软件包已经在系统上安装了,它只是从软件库中得到详细的软件包信息
dpkg -L package_name:查看与此软件包关联的所有文件
dpkg --search absolute_file_name:查看某个特定文件属于哪个软件包,必须用绝对路径
用aptitude安装软件包
aptitude search package_name:搜索特定软件包
aptitude install package_name:安装特定软件包
用aptitude更新软件
aptitude safe-upgrade:将所有已安装的包更新到软件库中的最新版本(检查依赖关系)
aptitude full-upgrade和aptitude dist-upgrade不会检查其中依赖关系
用aptitude卸载软件
aptitude purge package_name:卸载此软件包以及关联的软件包
aptitude remove package_name:只卸载此软件包
aptitude库
库位置存储在文件/etc/apt/source.list中
source.list中条目格式
deb (or deb-src) address distribution_name package_type_list
deb:编译后程序的源
deb-src:源代码的源
address:软件库的web地址
distribution_name:这个特定软件库的发行版版本的名称
package_type_list:库里面有什么类型的包
基于Red Hat的系统
列出已安装的软件包
yum list installed
Mandriva和openSUSE安装方法
描述 |
前端工具 |
命令 |
Mandriva |
urpm |
rpm -qa > installed_software |
openSUSE |
zypper |
zypper search -I > installed_software |
查看特定软件包信息
yum list xterm
yum list installed xterm
Mandriva和openSUSE查看方法
信息类型 |
前端工具 |
命令 |
包信息 |
urpm |
urpmq -i package_name |
是否安装 |
urpm |
rpm -q package_name |
包信息 |
zypper |
zypper search -s package_name |
是否安装 |
zypper |
同样命令,在Status列查找一个i |
yum providers file_name:查看某个特定文件属于哪个软件包
yum会从两个库中查找:fedora和installed
用yum安装软件
yum install package_name(自动查找依赖关系)
本地安装(local installation)
yum localinstall package_name.rpm
用yum更新软件
yum list updates:列出所有针对已安装包的可用更新
yum update package_name:更新指定包
yum update:更新上述列表中所有软件包
Mandriva和openSUSE更新软件包方法
前端工具 |
命令 |
urpm |
urpm --auto-update --update |
zypper |
zypper update |
用yum卸载软件
yum remove package_name:只删除软件包,保留配置文件和数据文件
yum erase package_name:删除软件包及其所有文件
Mandriva和openSUSE卸载软件包方法
前端工具 |
命令 |
urpm |
urpme package_name |
zypper |
zypper remove package_name |
处理损坏的包依赖关系
有时在安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉。称为损坏的包依赖关系(broken dependency)
首先尝试
yum clean all
然后试着用yum的update选项
如果没有解决问题,再尝试
yum deplist package_name
如果还没解决,最后尝试
yum update --skip-broken
--skip-broken允许忽略关系损坏的包而更新其他包
Mandriva和openSUSE修复损坏依赖关系方法
前端工具 |
命令 |
urpm |
urpmi -clean |
zypper |
zypper verify |
yum软件库
位置:/etc/yum.repos.d
yum repolist:查看正在从什么库获得软件
Mandriva和openSUSE软件库
动作 |
前端工具 |
命令 |
显示库 |
urpm |
urpmq --list-media |
添加库 |
urpm |
urpmi.addmedia path_name |
显示库 |
zypper |
zypper repos |
添加库 |
zypper |
zypper addrepo path_name |
从源码安装
下载压缩包,解压后安装README或AAAREADME文件中建议的方式操作即可
最后,用make编译源码,然后make install安装
转贴请保留以下链接
本人blog地址
http://su1216.iteye.com/
http://blog.csdn.net/su1216/
分享到:
相关推荐
Linux 命令行和shell脚本编程宝典(清晰绝对完整版).pdf,绝对完整的版本,清晰度比160多M的还要好一些,有完整书签,在CSDN上花8分下载了4个part,结果解压不了,超级郁闷。辛苦找到的这个真正完整的可以分享给大家...
linux脚本+命令总结
Linux命令与shell 脚本大全,内容丰富,包含了shell脚本的技术命令 以及大量的实践内容
最实用的Linux 命令行和shell脚本编程宝典,是最常用的参考手册。
《Linux命令行与Shell脚本编程大全》 学习笔记
Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、Debian(Ubuntu、Deepin)操作系统爬坑.zip Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、...
Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、Debian(Ubuntu、Deepin)操作系统爬坑.zip Linux命令行与shell脚本编程、Linux C库函数及系统调用编程、Linux内核分析即应用、...
Linux命令行与shell脚本编程大全案例
大部分案例均出自《Linux命令行与shell脚本编程大全案例》一书,方便大家学习
一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。(编写shell实用查询宝典)
《Linux命令行与shell脚本编程大全案例》源码下载脚本参考基本命令行编写入门规范入门基础awk、sed、基本输入、控制语句;gawk进阶,mysql数据库,sed进阶,shell脚本编程进阶,初识sed和gawk,处理用户输入,基本...
绝对完整版的《Linux 命令行和shell脚本编程宝典》! 这是第二分卷
shell脚本
绝对完整版《Linux 命令行和shell脚本编程宝典》! 这是分卷1
Linux 命令行和shell脚本编程宝典.part1
绝对完整版的《Linux 命令行和shell脚本编程宝典》! 第5卷
绝对完整版的《Linux 命令行和shell脚本编程宝典》! 这是第三卷
Linux 命令行和shell脚本编程宝典.part4