apt-get in Ubuntu

apt-get

apt-cache

Search 在软件包列表中搜索字符串

1
$ apt-cache search docker

apt-cache policy 查看软件包的安装状态和版本信息

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo apt-cache policy docker.io
可以看出docker.io 共有两个版本,显示信息如下:
docker.io:
Installed: (none)
Candidate: 1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1
Version table:
1.0.1~dfsg1-0ubuntu1~ubuntu0.14.04.1 0
500 http://mirrors.aliyun.com/ubuntu/ trusty-updates/universe amd64 Packages
500 http://mirrors.aliyuncs.com/ubuntu/ trusty-updates/universe amd64 Packages
0.9.1~dfsg1-2 0
500 http://mirrors.aliyun.com/ubuntu/ trusty/universe amd64 Packages
500 http://mirrors.aliyuncs.com/ubuntu/ trusty/universe amd64 Packages

显示包的信息,版本号、安装状态和包依赖关系:

1
$ sudo apt-cache show docker.io
  • apt-cache showpkg pkgs — 显示软件包信息。
  • apt-cache dumpavail — 打印可用软件包列表。

apt-get

Update the Package Index: The APT package index is essentially a database of available packages from the repositories defined in the /etc/apt/sources.list file and in the /etc/apt/sources.list.d directory. To update the local package index with the latest changes made in the repositories, type the following:

1
$ sudo apt-get update

Install a Package: Installation of packages using the apt-get tool is quite simple. For example, to install the network scanner nmap, type the following:

安装一个新软件包(参见下文的aptitude)

1
$ sudo apt-get install nmap

Upgrade Packages: Over time, updated versions of packages currently installed on your computer may become available from the package repositories (for example security updates). To upgrade your system, first update your package index as outlined above, and then type:

apt-get update 系统软件包更新,在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。

1
$ sudo apt-get upgrade

Remove a Package: Removal of a package (or packages) is also straightforward. To remove the package installed in the previous example, type the following:

1
2
3
4
5
# 卸载一个已安装的软件包(保留配置文件)
$ sudo apt-get remove packagename
# 卸载一个已安装的软件包(删除配置文件)
$ sudo apt-get --purge remove packagename

得把apt的缓存空间清空才行。

1
2
3
4
5
$ apt-get autoclean
# apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件
$ sudo apt-get clean
# 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。

apt-get dist-upgrade 将系统升级到新版本,没有用过。

apt-file

apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。

apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然後运行apt-file update。

如果apt-file search filename输出的内容太多,您可以尝试使用

1
2
3
4
5
$ apt-file search filename | grep -w filename
# 只显示指定字符串作为完整的单词出现在其中的那些文件名
$ apt-file search filename | grep /bin/
# 只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的

dpkg

  • dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“package-name-pattern”。
  • dpkg –force-all –purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。
  • dpkg -S file——这个文件属于哪个已安装软件包。
  • dpkg -L package——列出软件包中的所有文件。

aptitude

aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。

REF::