《Linux命令行与shell脚本编程大全》 第八章 学习笔记

第一部分:Linux命令行《Linux命令行与shell脚本编程大全》 第一章:初识Linux shell《Linux命令行与shell脚本编程大全》 第二章:走进shell《Linux命令行与shell脚本编程大全》 第三章:基本的bash shell命令《Linux命令行与shell脚本编程大全》 第四章:更多的bash shell命令《Linux命令行与shell脚本编程大全》 第五章:使用Linux环境变量《Linux命令行与shell脚本编程大全》 第六章:理解Linux文件权限《Linux命令行与shell脚本编程大全》 第七章:管理文件系统《Linux命令行与shell脚本编程大全》 第八章:安装软件程序《Linux命令行与shell脚本编程大全》 第九章:使用编辑器第二部分:shell脚本编程基础《Linux命令行与shell脚本编程大全》 第十章:构建基本脚本《Linux命令行与shell脚本编程大全》 第十一章:使用结构化命令《Linux命令行与shell脚本编程大全》 第十二章:更多的结构化命令《Linux命令行与shell脚本编程大全》 第十三章:处理用户输入《Linux命令行与shell脚本编程大全》 第十四章:呈现数据《Linux命令行与shell脚本编程大全》 第十五章:控制脚本第三部分:高级shell编程《Linux命令行与shell脚本编程大全》 第十六章:创建函数《Linux命令行与shell脚本编程大全》 第十七章:图形化桌面上的脚本编程《Linux命令行与shell脚本编程大全》 第十八章:初识sed和gawk《Linux命令行与shell脚本编程大全》 第十九章:正则表达式《Linux命令行与shell脚本编程大全》 第二十章:sed进阶《Linux命令行与shell脚本编程大全》 第二十一章:gawk进阶《Linux命令行与shell脚本编程大全》 第二十二章:使用其他shell第四部分:高级shell脚本编程主题《Linux命令行与shell脚本编程大全》 第二十三章:使用数据库《Linux命令行与shell脚本编程大全》 第二十四章:使用Web《Linux命令行与shell脚本编程大全》 第二十五章:使用E-mail《Linux命令行与shell脚本编程大全》 第二十六章:编写脚本实用工具《Linux命令行与shell脚本编程大全》 第二十七章:shell脚本编程进阶

第八章:安装软件程序

包管理基础

每个主要的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安装方法

描述前端工具命令Mandrivaurpmrpm -qa > installed_softwareopenSUSEzypperzypper search -I > installed_software

查看特定软件包信息

yum list xterm

yum list installed xterm

Mandriva和openSUSE查看方法

信息类型前端工具命令包信息urpmurpmq -i package_name是否安装urpmrpm -q package_name包信息zypperzypper 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更新软件包方法

前端工具命令urpmurpm –auto-update –updatezypperzypper update

用yum卸载软件

yum remove package_name:只删除软件包,保留配置文件和数据文件

yum erase package_name:删除软件包及其所有文件

Mandriva和openSUSE卸载软件包方法

前端工具命令urpmurpme package_namezypperzypper remove package_name

处理损坏的包依赖关系

有时在安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉。称为损坏的包依赖关系(broken dependency)

首先尝试

yum clean all

然后试着用yum的update选项

如果没有解决问题,再尝试

yum deplist package_name

如果还没解决,最后尝试

yum update –skip-broken

–skip-broken允许忽略关系损坏的包而更新其他包

Mandriva和openSUSE修复损坏依赖关系方法

前端工具命令urpmurpmi -cleanzypperzypper verify

yum软件库

位置:/etc/yum.repos.d

yum repolist:查看正在从什么库获得软件

Mandriva和openSUSE软件库

动作前端工具命令显示库urpmurpmq –list-media添加库urpmurpmi.addmedia path_name显示库zypperzypper repos添加库zypperzypper addrepo path_name

从源码安装

下载压缩包,解压后安装README或AAAREADME文件中建议的方式操作即可

最后,用make编译源码,然后make install安装

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

走一个地方停一个地方。在我心里最美好的就是和你一起老在路上,

《Linux命令行与shell脚本编程大全》 第八章 学习笔记

相关文章:

你感兴趣的文章:

标签云: