Liunx 命令行与shell脚本编程大全 第八章学习笔记(Linux系统的包管理基础)
2014-09-12 17:10
1276 查看
本节将介绍Linux上能见到的各种包管理系统----PMS(Package Management System)----以及用来安装管理和删除软件用的命令行工具。
1、包管理基础
每一个主要的Linux发行版都利用包管理系统的某些形式来控制安装软件应用和库,PMS利用一个数据库来记录:
1)Linux系统上已经安装了什么软件包。
2)每一个包安装了什么文件。
3)每个已安装软件包的版本。
软件包存储在服务器上,通过运行本地Linux系统上的PMS工具通过互联网访问,这些服务器成为库。
PMS不好的一面是没有一个标准工具:Linux中广泛使用的两个主要PMS基础工具是dpkg和rpm。
基于debian的发行版比如Ubuntu和Linxu Mint ,他们的PMS工具底层用的时dpkg命令。
基于Red Hat的发行版比如Fedore,openSUSE 和 Mandriva ,他们的PMS工具底层用的时rpm命令。
2、基于Debian的系统
dpkg命令是基于Debian系PMS工具的核心。包含在这个PMS中其他的工具有:
1)apt-get
2)apt-cache
3)aptitude
aptitude最常用,其本质是apt工具和dpkg的前端,dpkg是一个软件包管理系统工具,aptitude一个完整的软件包管理系统。
2.1 aptitude管理软件包
aptitude的全屏模式:
在终端下输入:aptitude命令即可
如果已经知道了系统上的软件包,只想快速显示某个特定包的详细信息,使用命令:
aptitude show package_name; ----aptitude show 命令并不表示那个软件包在系统上已经安装,只是从软件库中得到详细的软件包信息。
无法通过aptitude看到的一个细节是:和特定软件包关联的所有文件列表。
要获取列表使用-----dpkg -L package_name
同样可以进行反向操作--------查找某个特定文件属于哪一个软件包。
dpkg --search absolute_file_name; 注:必须使用绝对路径
2.2 使用aptitude安装软件包
aptitude search package_name:搜索特定软件包 -------(i 表明该包已经安装,p表未安装)
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中,大多数时候,跟不不需要添加或删除软件库,因此不需要碰这个文件。但是aptitude只会从文件中的库中下载文件,在搜索需要安装的或更新的库时,aptitude只检查这些库,如是有需要为PMS添加一些额外的软件库,需要修改该文件。
source.list中条目格式
deb (or deb-src) address distribution_name package_type_list
deb:编译后程序的源
deb-src:源代码的源
address:软件库的web地址
distribution_name:这个特定软件库的发行版版本的名称
package_type_list:库里面有什么类型的包
Debian 6.0 下source.list文件解读
首先请注意,文件里面满是帮助性的注释和警告。指定库的源用下面的结构:
deb (or deb-src) address distribution_name package_type_list
deb 或 deb-src 表明了软件包的类型,deb值说明了这是一个编译后程序的源,而deb-src的值说明这是一个源代码的源。
address :表明软件库的web地址,我的是163的源
distribution_name:特定软件库的发行版本的名称,我的是squeeze(debian 6.0 版本)--但是这并不说明运行的发行版就是debian squeeze,它只能说明这个Linux发行版正在用debian squeeze软件库。eg:在Linux中可以混用多个软件库。
package_type_list:该条目可能不止一个单词,它表明库里面有什么类型的包,可以经常看到的值有
main、restricted、partner等。
1、包管理基础
每一个主要的Linux发行版都利用包管理系统的某些形式来控制安装软件应用和库,PMS利用一个数据库来记录:
1)Linux系统上已经安装了什么软件包。
2)每一个包安装了什么文件。
3)每个已安装软件包的版本。
软件包存储在服务器上,通过运行本地Linux系统上的PMS工具通过互联网访问,这些服务器成为库。
PMS不好的一面是没有一个标准工具:Linux中广泛使用的两个主要PMS基础工具是dpkg和rpm。
基于debian的发行版比如Ubuntu和Linxu Mint ,他们的PMS工具底层用的时dpkg命令。
基于Red Hat的发行版比如Fedore,openSUSE 和 Mandriva ,他们的PMS工具底层用的时rpm命令。
2、基于Debian的系统
dpkg命令是基于Debian系PMS工具的核心。包含在这个PMS中其他的工具有:
1)apt-get
2)apt-cache
3)aptitude
aptitude最常用,其本质是apt工具和dpkg的前端,dpkg是一个软件包管理系统工具,aptitude一个完整的软件包管理系统。
2.1 aptitude管理软件包
aptitude的全屏模式:
在终端下输入:aptitude命令即可
如果已经知道了系统上的软件包,只想快速显示某个特定包的详细信息,使用命令:
aptitude show package_name; ----aptitude show 命令并不表示那个软件包在系统上已经安装,只是从软件库中得到详细的软件包信息。
无法通过aptitude看到的一个细节是:和特定软件包关联的所有文件列表。
要获取列表使用-----dpkg -L package_name
同样可以进行反向操作--------查找某个特定文件属于哪一个软件包。
dpkg --search absolute_file_name; 注:必须使用绝对路径
2.2 使用aptitude安装软件包
aptitude search package_name:搜索特定软件包 -------(i 表明该包已经安装,p表未安装)
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中,大多数时候,跟不不需要添加或删除软件库,因此不需要碰这个文件。但是aptitude只会从文件中的库中下载文件,在搜索需要安装的或更新的库时,aptitude只检查这些库,如是有需要为PMS添加一些额外的软件库,需要修改该文件。
source.list中条目格式
deb (or deb-src) address distribution_name package_type_list
deb:编译后程序的源
deb-src:源代码的源
address:软件库的web地址
distribution_name:这个特定软件库的发行版版本的名称
package_type_list:库里面有什么类型的包
Debian 6.0 下source.list文件解读
首先请注意,文件里面满是帮助性的注释和警告。指定库的源用下面的结构:
deb (or deb-src) address distribution_name package_type_list
deb 或 deb-src 表明了软件包的类型,deb值说明了这是一个编译后程序的源,而deb-src的值说明这是一个源代码的源。
address :表明软件库的web地址,我的是163的源
distribution_name:特定软件库的发行版本的名称,我的是squeeze(debian 6.0 版本)--但是这并不说明运行的发行版就是debian squeeze,它只能说明这个Linux发行版正在用debian squeeze软件库。eg:在Linux中可以混用多个软件库。
package_type_list:该条目可能不止一个单词,它表明库里面有什么类型的包,可以经常看到的值有
main、restricted、partner等。
相关文章推荐
- Liunx 命令行与shell脚本编程大全 第五章学习笔记(Vim 编辑器使用详解 解释+图示)
- 嵌入式开发之linux基础第六天学习笔记 shell脚本编程(一)
- 【Linux 系统编程】shell 脚本基础学习(一)
- Linux系统命令及Shell脚本学习笔记二:用户管理
- Linux命令行与Shell脚本编程[学习笔记1]
- 嵌入式开发之linux基础第七天学习笔记 shell脚本编程(二)
- 【Linux 系统编程】shell 脚本基础学习之函数(五)
- Linux基础知识学习笔记(一)--文件系统的权限管理
- 学习Linux 《鸟哥的Linux私房菜 基础学习篇(第三版)》--第8章 Linux磁盘与文件系统管理 笔记
- Shell脚本学习笔记-系统管理
- linux学习笔记:shell脚本编程相关(上)
- Linux基础入门及系统管理01-bash脚本编程之二if等条件判断脚本知识17
- Linux基础入门及系统管理01-bash脚本编程之五字符串测试及for循环21
- Linux基础入门及系统管理01-bash脚本编程之四文件测试及特殊变量19
- Linux鸟哥私房菜学习笔记_第八章Linux磁盘与文件系统管理
- Linux基础入门及系统管理01-bash脚本编程之一变量、变量类型等16
- Linux 编程学习笔记----文档管理系统
- Linux系统命令及Shell脚本学习笔记四:Linux文件系统
- Linux学习-shell脚本编程基础(节选)
- Linux学习笔记(四)——Linux_shell脚本基础