apt-get命令是基于Debian的Linux发行版中使用的主要包管理命令。使用apt-get命令,可以在系统上安装、删除、升级、搜索和管理软件包。然而,从Ubuntu 16.04和Debian 9开始,apt命令成为推荐的包管理命令行工具,但是apt-get命令仍然可用且功能齐全。
什么是apt-get命令?
apt-get命令是一个功能强大且免费的包管理命令行程序,用于与Ubuntu的APT(高级打包工具)库配合执行新软件包的安装、删除现有软件包、升级现有软件包、甚至用于升级整个操作系统。
apt-get命令的语法如下:
$ sudo apt-get <options> <command>
此处,<options>
表示可与该命令一起使用的任何其它标志或修饰符,<command>
指定要执行的操作,例如安装、升级、删除或搜索包。
1、更新Ubuntu系统包
‘ update ‘ 命令用于从/etc/apt/sources.list文件中指定的源重新同步包索引文件,更新命令从其位置获取包并将包更新到较新的版本:
$ sudo apt-get update
2、升级Ubuntu系统包
‘ upgrade ’命令用于升级系统上当前安装的所有软件包。在任何情况下,都不会删除当前安装的软件包,也不会检索或安装尚未安装的软件包来满足升级依赖性:
$ sudo apt-get upgrade
3、在Ubuntu中安装软件包
“ install ”子命令由一个或多个希望从存储库安装或升级的包进行跟踪。例如,要安装或更新名为wget的包,可以运行:
$ sudo apt-get install wget
或者,你还可以使用apt-cache command命令在安装之前根据给定的搜索词(例如名称或描述)在系统包缓存中搜索包。
4、在Ubuntu中安装多个软件包
可以在命令中添加多个软件包名称,以便同时安装多个软件包。例如,以下命令将安装软件包“ nethogs ”和“ goaccess ”。
$ sudo apt-get install nethogs goaccess
5、使用通配符安装多个软件包
借助正则表达式,可以使用一个字符串添加多个包。例如,这里使用*
通配符安装多个包含“ *name*
”字符串的包,名称将是“ package-name ”。
$ sudo apt-get install '*name*'
6、安装包而不升级
使用 ‘ --no-upgrade
‘ 命令将阻止已安装的软件包升级,命令如下:
$ sudo apt-get install packageName --no-upgrade
7、更新单个包
使用“ --only-upgrade
”命令不会安装新的软件包,而只会升级已安装的软件包并禁用新的软件包安装。
$ sudo apt-get install packageName --only-upgrade
8、安装特定的软件包版本
假设你希望仅安装特定版本的软件包,只需将“ =
”与软件包名称一起使用并附加所需的版本即可,命令如下:
$ sudo apt-get install vsftpd=3.0.5-0ubuntu1
9、卸载不带配置的包
要卸载软件包而不删除其配置文件(以便以后重新使用相同的配置),请使用remove命令,如下所示:
$ sudo apt-get remove vsftpd
10、完全删除带有配置的包
要删除软件包及其配置文件,请使用“ purge ”子命令,如下所示:
$ sudo apt-get purge vsftpd
或者,也可以将这两个命令组合在一起,如下所示:
$ sudo apt-get remove --purge vsftpd
11、清除Apt缓存以节省磁盘空间
“ clean ”命令用于通过清理从本地存储库检索(下载)的.deb
文件(包)来释放磁盘空间。
$ sudo apt-get clean 或者 $ sudo apt-get autoclean
12、下载软件包的源代码
要仅下载特定包的源代码,请使用“ --download-only source
”和“ package-name ”选项,如下所示:
$ sudo apt-get --download-only source vsftpd
13、在Ubuntu中下载并解压源码包
要将包的源代码下载并解压到特定目录,请键入以下命令:
$ sudo apt-get source vsftpd
当尝试从存储库下载包的源代码时,可能会遇到一个常见错误:Debian:You must put some ‘deb-src’ URIs in your sources.list错误解决方法。
14、从源代码编译 Ubuntu 软件包
还可以使用选项“ --compile
”同时下载、解压和编译源代码,如下所示:
$ sudo apt-get --compile source goaccess
15、下载包而不安装
使用“download”选项,可以下载任何给定的包而无需安装它。例如,以下命令只会将“ nethogs ”包下载到当前工作目录:
$ sudo apt-get download nethogs
16、查看软件包更改日志
‘ changelog ‘ 选项下载软件包更改日志并显示已安装的软件包版本:
$ sudo apt-get changelog vsftpd
17、查看损坏的依赖关系
“ check ”命令是一个诊断工具,用于更新包缓存并检查损坏的依赖项:
$ sudo apt-get check
18、安装包的构建依赖项
‘ build-dep ‘命令搜索系统中的本地存储库并安装curl包的构建依赖项。如果本地存储库中不存在该包,它将返回错误代码:
$ sudo apt-get build-dep curl
19、自动删除已安装的软件包
“ autoremove ”子命令用于自动删除某些软件包,这些软件包确实是为了满足其他软件包的依赖关系而安装的,但现在不再需要了。例如,以下命令将删除已安装的软件包及其依赖项:
$ sudo apt-get autoremove vsftpd
20、apt-get命令帮助
apt-get help命令显示内置帮助文档,以及与apt-get命令一起使用的可用选项:
$ sudo apt-get help
apt-get和apt区别差异
pt-get和apt是两个用于管理Debian和Ubuntu操作系统上的软件包的命令行工具,它们在功能和用法上有一些区别,主要表现在以下几个方面:
- 功能:apt-get是早期的软件包管理工具,而apt是apt-get的后续版本,提供了更多功能和改进。apt被设计为更直观和用户友好,提供了与apt-get相同的核心功能,同时还添加了一些额外的功能。
- 命令名称:apt-get命令在使用时需要在命令前加上
sudo
,例如sudo apt-get update
。而apt命令在使用时不需要使用sudo
,例如apt update
。apt命令更加简洁,省去了每次输入sudo
的步骤。 - 进度条显示:apt命令提供了更好的进度条显示,使得软件包的下载和安装过程更直观和易于理解。
- 语法:apt命令的语法更简洁一些,使用的是直观的动词形式,例如
apt update
、apt install <package_name>
、apt remove <package_name>
等。而apt-get命令的语法相对复杂一些,例如apt-get update
、apt-get install <package_name>
、apt-get remove <package_name>
。
虽然apt是apt-get的改进版本,但apt-get仍然被广泛使用,并且在某些情况下,apt-get的某些特定功能可能仍然比apt更适合使用。因此,无论是使用apt还是apt-get,都可以实现软件包的管理和安装,具体选择取决于个人偏好和特定的使用场景。
总结
上面列举了使用apt-get命令的常用选项,但仍然有更多可用选项,可以从终端使用“man apt-get ”查看它们如何使用,相对来说都是比较简单的。
众所周知,apt-get命令是一种用于管理Debian和Ubuntu操作系统上的软件包的命令行工具。它是Advanced Package Tool(高级软件包工具)的一部分,被广泛用于Linux发行版中的软件包管理。使用apt-get命令,可以从预配置的软件源(服务器)下载和安装软件包,以及更新和卸载已安装的软件包。