apt-get
在使用APT软件包管理系统的Linux操作系统上,apt-get命令用于在已安装的软件包上安装,删除和执行其他操作。 在Debian,Ubuntu和Linux Mint操作系统中,默认情况下可使用apt-get命令和其他核心APT实用程序。
查看英文版
1 apt-get 运行系统环境
2 apt-get 语法
3 apt-get 例子
apt-get 运行系统环境
Linux
apt-get 语法
apt-get [-asqdyfmubV] [-o=config_string] [-c=config_file] [-t=target_release] [-a=architecture] {update | upgrade | dselect-upgrade | dist-upgrade | install pkg [{=pkg_version_number | /target_release}]... | remove pkg... | purge pkg... | source pkg [{=pkg_version_number | /target_release}]... | build-dep pkg [{=pkg_version_number | /target_release}]... | download pkg [{=pkg_version_number | /target_release}]... | check | clean | autoclean | autoremove | {-v | --version} | {-h | --help}}
指令
更新 |
重新同步软件包文件的本地索引,更新有关可用的新软件包和更新软件包的信息。索引是从/etc/apt/sources.list中指定的位置获取的。 应始终在升级或dist-upgrade之前执行更新。 |
升级 |
使用/etc/apt/sources.list中的源安装系统上当前安装的所有软件包的最新版本。如果当前安装了软件包并且有新版本可用,则将对其进行检索和升级。在任何情况下都不会删除已安装的软件包,也不会检索尚未安装的软件包。当前安装的软件包的新版本,如果不更改其他软件包的安装状态而无法升级,将保留其当前版本。 应该始终首先执行更新,以便apt-get知道哪些新版本的软件包可用。 |
远程升级 |
除了执行升级功能外,dist-upgrade还可以智能地处理新版本软件包的依赖关系。 apt-get具有一个“智能”冲突解决系统,它将在必要时尝试以不重要的软件包为代价来升级最重要的软件包。 因此,dist-upgrade命令可能会删除某些软件包。 /etc/apt/sources.list文件包含将从中检索软件包文件的位置列表。另请参阅apt_preferences,以了解将覆盖单个软件包的常规设置的机制。 |
dselect升级 |
与传统的Debian包装前端dselect结合使用。 dselect-upgrade遵循dselect对可用软件包的“状态”字段所做的更改,并执行实现该状态所需的操作(例如,删除旧软件包和安装新软件包)。 |
安装 |
install安装一个或多个安装或升级所需的软件包。软件包是由其软件包名称而不是完全限定的文件名指定的(例如,在Debian系统中,“ apt-utils”将是所提供的参数,而不是“ apt-utils_0.9.7.7ubuntu4_amd64.deb”)。指定安装的软件包所需的所有软件包也将被检索并安装。 /etc/apt/sources.list文件用于找到所需的软件包。 如果在软件包名称后附加了连字符(中间没有空格),则已标识的软件包将被删除(如果已安装)。类似地,可以使用加号指定要安装的软件包。这些注释功能可用于替代apt-get的默认冲突解决系统做出的决策。 可以通过在软件包名称后面加上等号和要选择的软件包版本来选择特定版本的软件包进行安装。这将导致找到并安装该特定版本。或者,可以通过在软件包名称后加上斜杠和发行版本或存档名称(“稳定”,“测试”,“不稳定”)来选择特定发行版。 两种版本选择机制都可以降级软件包,因此必须谨慎使用。您不想手动删除另一个已安装软件包所依赖的软件包。 如果没有包与给定的表达式匹配,并且该表达式包含“。”,“?”之一或'*',则假定它是POSIX样式的正则表达式,并将其应用于数据库中的所有包名称。然后安装(或删除)所有匹配项。 (请注意,匹配是通过子字符串完成的;因此,“ lo。*”既匹配“ how-lo”又匹配“最低”。如果不希望这样做,请使用“ ^”或“ $”字符锚定正则表达式,或创建一个更具体的正则表达式。 |
去掉 |
与安装相同,只不过软件包被删除而不是安装。请注意,删除软件包会将其配置文件保留在系统上。如果软件包名称后加了一个加号(没有空格),则将安装而不是删除已标识的软件包。 |
清除 |
除删除和清除软件包(删除所有配置文件)外,其他与删除相同。 |
资源 |
使apt-get获取源包。 APT将检查可用的软件包,以确定要提取的源软件包。然后,它将遵循默认发行版,找到该源程序包的最新版本并将其下载到当前目录中,该默认版本是通过选项APT :: Default-Release,-t选项或使用pkg / release语法的每个程序包设置的。 通过sources.list文件中的deb-src行与二进制程序包分开跟踪源程序包 如果指定了--compile选项,则使用--host-architecture选项定义的体系结构,将使用dpkg-buildpackage将软件包编译为二进制.deb。如果指定了--download-only,则不会解压缩源软件包。 可以通过以下方式检索特定的源版本:将源名称后跟一个等号,然后将其提取,以类似于软件包文件所使用的机制。这将使源软件包名称和版本完全匹配,从而隐式启用APT :: Get :: Only-Source选项。 请注意,源代码包不会像二进制包一样在dpkg数据库中安装和跟踪。它们被下载到当前目录,例如源tarball。 |
建立深度 |
导致apt-get安装/删除软件包,以尝试满足源软件包的构建依赖关系。默认情况下,满足依赖关系才能原生构建程序包。如果需要,可以使用--host-architecture选项指定主机体系结构。 |
检查 |
诊断工具;它更新程序包缓存并检查是否有损坏的依赖项。 |
下载 |
将给定的二进制软件包下载到当前目录。 |
清洁 |
清除检索到的软件包文件的本地存储库。它从/ var / cache / apt / archives /和/ var / cache / apt / archives / partial /中除去锁定文件。当APT用作dselect方法时,clean将自动运行。如果您不使用dselect,则可能会不时运行apt-get clean以释放磁盘空间。 |
自动清洁 |
像clean一样,autoclean会清除本地本地存储库中检索到的软件包文件。不同之处在于,它仅删除不再下载的软件包文件,因为它们几乎没有用。这使得高速缓存可以长期保持,而不会失去控制。如果将配置选项APT :: Clean-Installed设置为off,它将防止擦除已安装的软件包。 |
自动删除 |
autoremove用于删除为满足其他软件包的依赖性而自动安装的软件包,现在不再需要它们。 |
变更日志 |
下载软件包变更日志并通过sensible-pager显示。服务器名称和基本目录在APT :: Changelogs :: Server变量中定义。默认情况下,它显示已安装版本的变更日志。但是,您可以指定与install命令相同的选项。 |
选件
可以使用配置文件来设置所有命令行选项。这些说明指示要设置的配置选项。对于布尔选项,您可以使用-f-,-no-f或-f = no之类的选项覆盖配置文件。
--no-install-recommends |
不要将推荐的软件包视为安装的依赖项。 配置项:APT :: Install-Recommends。 |
-安装建议 |
将建议的软件包视为安装的依赖项。 配置项:APT :: Install-Suggests。 |
-d, --download-only |
仅下载;仅检索软件包文件,不解压缩或安装软件包文件。 配置项:APT :: Get ::仅下载。 |
-f, --fix-broken |
固定;尝试更正依赖项已损坏的系统。与安装/删除一起使用时,此选项可以省略任何软件包,以允许APT推断出可能的解决方案。如果指定了软件包,则必须完全纠正问题。首次运行APT时,有时需要使用该选项。 APT本身不允许破坏的软件包依赖关系存在于系统上。系统的依赖关系结构可能会损坏到需要手动干预的程度(通常意味着使用dselect或dpkg --remove来消除某些有问题的软件包)。在某些情况下,将此选项与-m一起使用可能会产生错误。 配置项:APT :: Get :: Fix-Broken。 |
-m, --ignore-missing, |
忽略缺少的包裹;如果无法检索软件包或在检索后(完整性损坏的软件包文件)无法通过完整性检查,请保留这些软件包并处理结果。在某些情况下,将此选项与-f一起使用可能会产生错误。如果选择了要安装的软件包(尤其是在命令行中提到的软件包)并且无法下载,那么它将被静默保留。 配置项:APT :: Get :: Fix-Missing。 |
--no-download |
禁止下载软件包。最好与--ignore-missing一起使用,以强制APT仅使用它已经下载的.debs。 配置项:APT :: Get :: Download。 |
-q, --quiet |
安静; 产生适合记录的输出,省略进度指示器。更多的q将产生最多2 的安静程度。您也可以使用-q =#设置安静级别,从而覆盖配置文件。注意,安静级别2意味着-y;如果没有APT可能会决定执行您未曾期望的操作,则绝对不应使用-qq而不使用诸如-d,-- print-uris或-s之类的无动作修饰符。 配置项:quiet。 |
-s, --simulate, |
不采取行动;对可能发生但实际上不会更改系统的事件进行模拟。 配置项:APT :: Get :: Simulate。 以用户身份执行的模拟运行将自动停用锁定(Debug :: NoLocking),如果设置了选项APT :: Get :: Show-User-Simulation-Note(默认情况下),也会显示一条通知,指示那只是一个模拟。以root身份执行的运行不会触发NoLocking或通知。超级用户应该知道自己在做什么,而无需apt-get发出进一步警告。 模拟运行打印出一系列行,每行代表一个dpkg操作:配置(Conf),删除(Remv)或解包(Inst)。方括号表示包装破损,空方括号表示无意义的折断,这种情况很少发生。 |
-y, --yes, --assume-yes |
对提示自动是;假设对所有提示都回答“是”,并且非交互式运行。如果发生不良情况,例如更改保留的软件包,尝试安装未经身份验证的软件包或删除基本软件包,则apt-get将中止。 配置项:APT :: Get :: Assume-Yes。 |
--assume-no |
所有提示自动“否”。 配置项:APT :: Get :: Assume-No。 |
-u, --show-upgraded |
显示升级的软件包;打印出所有要升级的软件包的列表。 配置项:APT :: Get :: Show-Upgraded。 |
-V, --verbose-versions |
显示已升级和已安装软件包的完整版本。 配置项:APT :: Get :: Show-Versions。 |
-a, --host-architecture |
此选项控制由apt-get source --compile构建的体系结构软件包以及如何满足交叉构建依赖性。默认情况下,未设置它意味着主机体系结构与构建体系结构相同(由APT :: Architecture定义)。 配置项:APT :: Get :: Host-Architecture。 |
-b, --compile, --build |
下载后编译源程序包。 配置项:APT :: Get :: Compile。 |
--ignore-hold |
忽略包裹搁置;这会导致apt-get忽略放置在软件包上的保留。与dist-upgrade结合使用以覆盖大量不希望的保留可能很有用。 配置项:APT :: Ignore-Hold。 |
--no-upgrade |
不要升级软件包;当与install结合使用时,no-upgrade将阻止升级命令行上的软件包(如果已安装)。 配置项:APT :: Get :: Upgrade。 |
--only-upgrade |
不要安装新软件包;与install结合使用时,only-upgrade将仅安装已安装软件包的升级,而忽略安装新软件包的请求。 配置项:APT :: Get :: Only-Upgrade。 |
--force-yes |
强制是;这是一个危险的选择,如果不执行潜在的有害操作,将导致易于继续运行。除非在非常特殊的情况下,否则不应使用它。强行使用可能会破坏您的系统! 配置项:APT :: Get :: force-yes。 |
--print-uris |
无需获取要安装的文件,而是打印其URI。每个URI将具有路径,目标文件名,大小和预期的MD5哈希值。请注意,要写入的文件名并不总是与远程站点上的文件名匹配!这也适用于source和update命令。与update命令一起使用时,不包括MD5和大小,并且用户可以解压缩所有压缩文件。 配置项:APT :: Get :: Print-URIs。 |
- 清除 |
使用清除而不是删除来删除将要删除的任何内容。在计划清除的软件包旁边将显示一个星号(“ *”)。remove --purge等效于purge命令。 配置项:APT :: Get :: Purge。 |
-重新安装 |
重新安装已经安装的最新版本的软件包。 配置项:APT :: Get :: ReInstall。 |
-列表清理 |
默认情况下,此选项处于启用状态。使用--no-list-cleanup将其关闭。启用该选项后,apt-get将自动管理/ var / lib / apt / lists的内容,以确保删除过时的文件。禁用它的唯一原因是您经常更改源列表。 配置项:APT :: Get :: List-Cleanup。 |
-t, --target-release, |
此选项控制对策略引擎的默认输入。它使用指定的释放字符串在优先级990处创建默认引脚。这将覆盖/ etc / apt / preferences中的常规设置。专门固定的软件包不受此选项的值影响。简而言之,该选项使您可以控制要检索的分发程序包。一些常见的示例可能是-t'2.1 *',- t不稳定或-t sid。 配置项:APT :: Default-Release。 |
--trivial-only |
仅执行“琐碎”的操作。从逻辑上讲,这可以被认为与--assume-yes有关;其中--assume-yes将对任何提示回答是,-- trivial-only将回答否。 配置项:APT :: Get :: Trivial-Only。 |
--no-remove |
如果要删除任何软件包,apt-get会立即中止而不提示。 配置项:APT :: Get :: Remove。 |
--auto-remove |
如果命令是install或remove,那么此选项的作用类似于运行autoremove命令,删除未使用的依赖项软件包。 配置项:APT :: Get :: AutomaticRemove。 |
--only-source |
仅对source和build-dep命令有意义。指示将不通过二进制表映射给定的源名称。这意味着,如果指定此选项,则这些命令将仅接受源程序包名称作为参数,而不接受二进制程序包名称并查找相应的源程序包。 配置项:APT :: Get :: Only-Source。 |
--diff-only, --dsc-only, |
仅下载源存档的diff,dsc或tar文件。 配置项:APT :: Get :: Diff-Only,APT :: Get :: Dsc-Only和APT :: Get :: Tar-Only。 |
--arch-only |
仅依赖于流程体系结构的构建依赖关系。 配置项:APT :: Get :: Arch-Only。 |
--allow-unauthenticated |
忽略是否无法对软件包进行身份验证,也不会提示您。这对于pbuilder之类的工具很有用。 配置项:APT :: Get :: AllowUnauthenticated。 |
-h, --help |
显示简短的使用摘要。 |
-v, --version |
显示程序版本。 |
-c, --config-file |
配置文件;指定要使用的配置文件。该程序将读取默认配置文件,然后读取此配置文件。如果需要在解析默认配置文件之前设置配置设置,请使用APT_CONFIG环境变量指定一个文件。有关语法信息,请参见apt.conf。 |
-o, --option |
设置配置选项;这将设置一个任意配置选项。语法为-o Foo :: Bar = bar。-o和--option可以多次使用以设置不同的选项。 |
档案
/etc/apt/sources.list |
获取软件包的位置。 配置项:Dir :: Etc :: SourceList。 |
/etc/apt/sources.list.d/ |
用于获取软件包位置的文件片段。 配置项:Dir :: Etc :: SourceParts。 |
/etc/apt/apt.conf |
APT配置文件。 配置项:Dir :: Etc :: Main。 |
/etc/apt/apt.conf.d/ |
APT配置文件片段。 配置项:Dir :: Etc :: Parts。 |
/etc/apt/preferences |
版本首选项文件。您可以在此处指定“固定”,即从其他来源或发行版的不同版本中获取某些软件包的首选项。 配置项:Dir :: Etc :: Preferences。 |
/etc/apt/preferences.d/ |
版本首选项的文件片段。 配置项:Dir :: Etc :: PreferencesParts。 |
/var/cache/apt/archives/ |
检索到的软件包文件的存储区域。 配置项:Dir :: Cache :: Archives。 |
/var/cache/apt/archives/partial/ |
打包文件在传输中的存储区。 配置项:Dir :: Cache :: Archives(部分内容将隐式附加) |
/var/lib/apt/lists/ |
sources.list中指定的每个包资源的状态信息存储区。 配置项:Dir :: State :: Lists。 |
/var/lib/apt/lists/partial/ |
状态信息的存储区域。 配置项:Dir :: State :: Lists(部分内容将隐式附加) |
查看英文版
apt-get 例子
许多(如果不是大多数)apt-get操作需要对APT锁定文件的写访问权,这需要管理员 权限 -因此,此处列出的大多数命令都以sudo为前缀,并且需要您的密码。
sudo apt-get install libc6
安装libc6,它包含嵌入式GNU C库的共享库。
sudo apt-get remove chromium
删除铬,Chromium的网页浏览器软件包。
sudo apt-get clean
清理下载的软件包文件的本地存储库,清除磁盘空间。
apt-get download ruby
将名为ruby的软件包的存档文件下载到当前目录中。该文件将具有.deb文件扩展名(在这种情况下,ruby_ X ,X ,X _all.deb)。然后,您可以使用dpkg --install手动安装该软件包。
查看英文版