Linux发行版基本上采用了包管理系统来控制软件和库的安装。PMS利用一个数据库来记录各种相关内容:
- Linux上已经安装了什么软件
- 每个包安装了什么软件
- 每个已安装软件包的版本。
软件包存储在服务器上,可以利用本地linux系统上的PMS工具通过互联网访问。linux上有两种PMS基础工具:
- 基于Debian的发行版,使用dpkg
- 基于Red Hat的发行版,使用rpm
我平时用的是ubuntu。所以主要学习dpkg。
dpkg命令式基于Debian系PMS工具的核心。包含在这个PMS中的其他工具有:
- apt-get
- apt-cache
- aptitude
最常用的是aptitude,因为aptitude工具本质上是apt和dpkg的前端。
利用aptitude管理软件包
安装
$ sudo apt install aptitude
使用
$ aptitude
想要查看某个具体的包
$ aptitude show mysql-client
Package: mysql-client
Version: 5.7.25-0ubuntu0.18.10.2
State: not installed -- aptitude show命令显示此软件包还没有安装到系统上。它输出的软件包相
关的详细信息来自于软件仓库
Priority: optional
Section: database
****
无法通过aptitude看到的一个细节是所有跟某个特定软件包相关的所有文件的列表。要得
到这个列表,就必须用dpkg命令。
$ dpkg -L vim-common
查找某个特定文件属于哪个软件包。
$ dpkg --search /var/lib/vim --注意,在使用的时候必须用绝对文件路径
vim-common: /var/lib/vim
利用aptitude安装软件包
$ aptitude search mysql
p mysql-client - MySQL database client (metapackage dependi
i A mysql-client-5.7 - MySQL database client binaries
p mysql-server - MySQL database server (metapackage dependi
v mysql-server:i386 -
最前面的哪个p/v:这个包可以用,但是还没有安装;最前面的哪个是i,声明已经安装了
$ aptitude install mysql-server
利用aptitude更新软件包
$ sudo aptitude safe-upgrade --将所有已安装的包更新到软件仓库中的最新版本,
用 aptitude 卸载软件
$ sudo aptitude remove wine --只删除软件包而不删除数据和配置文件
$ sudo aptitude purge wine --删除软件包和相关的数据和配置文件
本文为博主学习<Linux命令行与shell脚本编程大全>的笔记