Linux——软件包管理
author:XiaoGua
os:ubuntu16.04
sudo su:/root管理员
一、软件包管理的基本概念
整个linux系统都是由许许多多的软件包构成。,ubuntu系统也提供了多个软件包管理工具。
一)、软件包
linux系统中,所有的软件和文档都是以软件包的形式提供的。
软件包主要有两种形式:二进制软件包和源代码软件包。
二进制软件包主要用于封装可执行程序,相关的文档以及配置文件等。
源代码软件包主要包含软件包的源代码以及生成二进制软件包的方法等
1、二进制软件包
用户最常用的软件包形式。二进制软件包是一种压缩形式的文件,里面包含可执行文件、配置文件、文档资料、产品说明和版本信息。用dpkg命令查看软件包所包含的文件列表。
2、在ubuntu系统中,常见的软件包格式主要有以下三种:
DEB格式:该格式是Debian及其派生出来的Linux发行版主要支持的标准软件包格式。包括ubuntu,其扩展名为.deb。
RPM:该格式是RedHat及其派生出来的Linux发行版支持的标准软件包格式。用户可以用rpmd管理该类型的软件包
Tarball:该格式是由tar和其他的压缩命令生成的一类压缩包。大部分的源代码形式的软件包都是由Tarball格式提供的,需要先将包中的文件释放出来,然后根据其中提供的说明文件进行安装
二)、软件仓储
软件仓储通常是一组网站,其中提供了按照一定组织形式存储的软件包以及索引文件。软件包管理工具可以根据用户的需求连接到软件仓储服务器。搜索或者下载某个软件包
ubunutu软件仓储大体上可以分为4种类型:
Main:unbuntu官方提供的软件包,ubuntu的基本软件包
Restricted:ubuntu支持的,但是 没有自由软件版权的软件包
Universe:由Ubuntu社区维护,ubuntu不提供官方支持的软件包
Multiverse:非自由软件
三)、软件包之间的相互依赖
尽管一个软件包是一个相对独立的功能组合,但是软件包中的软件却不可避免依赖于其他的软件包的支持。
有了软件包管理工具,可以自动判断要安装的软件与其他的软件包的依赖关系,并且会自动安装或者更新所要的软件包。
二、软件包管理工具
软件包管理工具大都包含软件包的安装、更新、升级以及删除等基本的功能。
在ubuntu系统中,主要用的软件包管理:APT、aptitude以及synaptic
一)、APT
APT是一个通用的综合软件包管理工具,apt-get和apt提供的前端软件包管理工具
在Ubuntu系统中,APT的配置文件保存在/etc/apt目录下

apt.conf.d是主要配置文件
sources.list:保存了当前ubuntu系统的软件仓储的信息,每个软件仓储都含说明、地址及类型等信息。
var/lib/apt目录存储APT本地软件包索引

/var/lib/apt/lists都会有一个索引文件与sources.list对应,其中包含了软件仓储中每个软件包的最新信息
/var/cache/apt/archives是APT的本地缓存目录,包含了APT最近下载的软件包。
1、apt-get
apt-get是APT提供的早期软件包管理工具命令。该命令提供了APT软件包的基本管理。
apt-get install 软件包名 :安装软件包
apt-get --reinstall install 软件包:重新安装软件包
apt-get remove 软件包名:删除软件包
apt-get purge 软件包名:彻底删除软件包
apt-get update:更新软件包
apt-get upgrade:升级软件包
2、apt命令
apt提供的子命令
update:从软件仓储更新软件包索引
upgrade:升级软件包,但是不会删除软件包
full-upgrade:升级软件包,并同时会安装或删除其他的软件包以解决依赖关系
install:安装软件包
remove:删除软件包
purge:彻底删除软件包
autoremove:自动删除软件包以及依赖
search:搜索软件包
show:显示软件包的信息
list:--install 选项指定列出已安装的软件包
--upgradeable:指定可以升级的软件包
1)、apt search quota搜索软件包
软件包的搜索依赖于update子命令的更新软件包索引。
所以安装前,或者搜索前,先调用一下update命令
先apt update
然后 apt search quota

2)、安装软件包
apt install -y quota

-y:直接安装不提示
3)、删除软件包
apt remove quota

彻底清除quota软件包
apt purge quota

4)、更新和升级软件包
apt update && apt upgrade
通常一同使用

二)、aptitude命令
aptitude命令可以完全替代APT本身提供的apt以及apt-get命令。与apt-get和apt是兼容的。不仅提供了一个命令行的使用方式,还提供了一个非常友好的图形界面
1、aptitude <options> [command]
子命令
search:搜索软件包
update:更新软件仓储的软件包列表
upgrade:升级可用的软件 包
full-upgrade:将已安装的软件包升级到最新版本,根据依赖需要安装或者删除其他的依赖包
safe-upgrade:将已安装的软件包升级到最新版本,根据依赖需要安装或者删除其他的依赖包
show:显示软件包的详细信息
source:下载源代码包
install:安装指定软件包
reinstall :重新安装软件包
remove:删除软件包
purge:彻底删除软件包
download:下载指定的软件包到当前目录
1)、搜索软件包与apt相似
aptitude search quota

最左侧的字母表示软件包的状态
p 表示该软件包没有在当前系统中安装
c表示该软件包曾在当前系统中安装过,当又删除了,只留下配置文件
i表示该软件包已经安装
v表示当前软件包为虚拟软件包
第二列为软件包的名称,第三列为软件包的备注信息
2)、aptitude search [options]
~T :列出所有的软件包
~U:列出系统可以更新的软件包
~i: 列出当前系统已经安装的软件包
3)、显示zip这个软件包

4)、安装,删除,更新和升级软件包命令
aptitude install quota
aptitude remove quota
aptitude update quota
aptitude upgrade quota
2、aptitude启动图形化界面
1)、ubuntu系统默认没有安装aptitude

sudo apt install aptitude

2)、启动进入图形化界面
aptitude

Search——>Find,在search for输入:要搜索的软件包


安装软件包:搜索到,OK ,——>同时按住shift和加号键,把软件包加到安装列表中,
按住g键开始安装,会需要输入回车键,看到如下已经安装成功了

三)、synaptic软件管理工具
synaptic软件是在APT基础上的一款开发工具,用户可以非常方便管理软件
1、在ubuntu系统中,sysnaptic默认是没有安装的

2、安装后,启动图形化界面
1)、synaptic

2)、搜索软件包

3)、找到想要安装的软件包,然后单击复选框,选择Mark for installation

4)、Apply——>Summary——>To be installed——>Apply

5)、弹出如下对话框,表示安装成功

6)、删除软件包
Search ——>输入“软件包名”——>选中左侧的复选框——>Mark for removal 或彻底删除“Mark for complete removal”

7)、更新软件包
Reload

选择Mark for upgrade