apt-get

apt-get用来安装、更新、卸载安装包。

1.1、apt-get --help

查看帮助:

这个帮助信息非常简略,看详细的帮助,请使用man apt-get命令。

1.2、apt-get update

更新源里面的索引列表。只是更新索引列表,并不会下载软件。

修改了/etc/apt/sources.list源的配置文件之后,一定要执行此命令重新更新索引列表。

示例:

更新下来的东西放在/var/lib/apt目录下,如下:

/var/lib/apt/lists目录下的文件就是一些索引文件。

1.3、apt-get install -y [packageName]...

安装指定的软件包。可同时安装多个。

示例:

1.4、apt-get remove <packageName>

卸载指定的软件包。

示例:

1.5、apt-get purge <packageName>

卸载指定的软件包,并把配置文件也删除掉。

这个命令等同于sudo apt-get remove --purge xx

示例:

从上面的日志我们可以看到,这条命令比apt-get remove多出了删除配置文件的动作。 一般的,配置文件存放在~/.config/目录下。

1.7、apt-get autoremove

自动删除无用的安装包。随着某些软件的删除,某些被依赖的安装包就不再需要了,我们需要使用此命令把那些不再需要的安装包删除掉。

示例:

1.8、apt-get upgrade

更新已经安装的软件包,如果这些软件包有更新的内容的话。

1.9、apt-get dist-upgrade

更新系统,这通常是更新Linux内核和相关的软件。

在使用apt-get upgrade更新软件的时候,有时会看到如下提示:

The following packages have been kept back

造成这种情况的原因是某个软件包的依赖关系发生了改变,而如果要升级这些软件包,必须安装依赖包, 这些软件包就会被列在”The following packages have been kept back”里面。

解决的办法就是使用这条命令,此会强制更新软件包到最新版本,并自动解决修复依赖关系。

示例:

1.10、apt-get clean

清除在安装过程中下载的deb安装包。

apt的缓存位置在/var/cache/apt/目录下。

安装过程中下载的deb安装包缓存在/var/cache/apt/archives目录下。 这个命令的作用就是删除这些deb安装包的。

1.11、apt-get autoclean

自动清除在安装过程中下载的deb安装包。

1.12、apt-get source <packageName>

下载指定安装包的源代码到当前目录下。

注意:

  • 要使用该命令,你必须把/etc/apt/sources.list配置文件中的被注释掉的档案类型为deb-src行打开。
  • 如果当前目录不需要root权限的话,不要使用sudo

示例:

我们看看下载了些啥:

我们看看源码目录:

通常会下载3个文件,分别以dscorig.tar.gzdiff.gz为后缀名。

实际上,这条命令调用了dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中, 应用程序的源代码就在这里面。

要强调的是,在下载源码包前,如果没有安装dpkg-dev,只会下载源码包的3个文件,不会解压缩源码包。

当然我们也可以在下载完后,安装dpkg-devapt-get install -y dpkg-dev), 自己用dpkg-source命令去解压缩源码包。

1.13、apt-get download <packageName>

下载指定的deb安装包到当前目录下。

注意:如果当前目录不需要root权限的话,不要使用sudo

示例:

1.13、apt-get changelog <packageName>

查看指定deb安装包的更新日志列表。

这个操作会下载指定的安装包的CHANGELOG文件到临时目录,然后使用编辑器打开。

示例:

sudo apt-get changelog cmatrix
1.14、apt-get check <packageName>

检测指定deb安装包的依赖关系是否被破坏了。

示例:

1.15、apt-get <sub-command> -y

apt-get的很多子命令在执行的时候会让用户确认是否要继续,提示用户输入Y继续,输入N取消。

-y参数能够不要提示直接操作。这在Shell脚本的编写过程中经常使用。