Debian/Ubuntu 系统软件常用命令的区别及应用

Debian/Ubuntu 系统软件包管理系统有丰富的历史,有许多可供选择的前端用户程序和后端访问方式。现在,我们推荐下列的这些。

  • apt用于所有的交互式命令行操作,包含软件包的安装、移除和升级。
  • apt-get用于从脚本中调用 Debian 软件包管理系统。
  • aptitude使用一个交互式的文本界面来管理已安装的软件包和搜索可用的软件包。
  • apt

    命令行软件包管理器 apt 提供软件包搜索,管理和信息查询等功能。它提供的功能与其他APT 工具相同(像 apt-get 和 apt-cache),但是默认情况下被设置得更适合交互。在安装软件包的过程中,apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件。

    用法:apt [<选项> …] <命令>

    常用命令:

    list – 根据名称列出软件包

    search – 搜索软件包描述

    show – 显示软件包细节

    install – 安装软件包

    remove – 移除软件包

    autoremove – 卸载所有自动安装且不再使用的软件包

    update – 更新可用软件包列表

    upgrade – 通过 安装/升级 软件来更新系统

    full-upgrade – 通过 卸载/安装/升级 来更新系统

    apt-get

    apt-get 可以从认证软件源下载软件包及相关信息,以便安装和升级软件包,或者用于移除软件包。在这些过程中,软件包依赖会被妥善处理。

    用法:apt-get [<选项> …] <命令>

    常用命令:

    update – 取回更新的软件包列表信息

    upgrade – 进行一次升级

    install – 安装新的软件包(注:软件包名称是 libc6 而非 libc6.deb)

    remove – 卸载软件包

    purge – 卸载并清除软件包的配置

    autoremove – 卸载所有自动安装且不再使用的软件包

    dist-upgrade – 发行版升级,见 apt-get(8)

    dselect-upgrade – 根据 dselect 的选择来进行升级

    build-dep – 为源码包配置所需的编译依赖关系

    clean – 删除所有已下载的包文件

    autoclean – 删除已下载的旧包文件

    check – 核对以确认系统的依赖关系的完整性

    source – 下载源码包文件

    download – 下载指定的二进制包到当前目录

    changelog – 下载指定软件包,并显示其变更日志(changelog)

    apt-cache

    apt-cache 可以查询和显示已安装和可安装软件包的可用信息。它专门工作在本地的数据缓存上,而这些缓存可以通过比如apt-get 的 ‘update’ 命令来更新。如果距离上一次更新的时间太久,那么它显示的信息可能就会过时。不过作为交换,apt-cache 不依赖当前软件源的可用性(比如:离线状态)。

    用法:apt-cache [<选项> …] <命令>

    常用命令:

    showsrc – 显示源文件的各项记录

    search – 根据正则表达式搜索软件包列表

    depends – 显示该软件包的依赖关系信息

    rdepends – 显示所有依赖于该软件包的软件包名字

    show – 以便于阅读的格式介绍该软件包

    pkgnames – 列出所有软件包的名字

    policy – 显示软件包的安装设置状态

    apt-config

    apt-config 是所有 APT 工具的配置接口,主要用于Debug和编写Shell脚本。

    用法:apt-config [<选项> …] <命令>

    常用命令:

    shell – 通过shell求值来获取设置值

    dump – 显示活动的设置选项

    apt-mark

    apt-mark 可以对软件包进行 手动/自动 安装标记,也可以用来处理软件包的 dpkg选中状态,以及列出或过滤拥有某个标记的软件包。

    用法:apt-mark [<选项> …] <命令>

    常用命令:

    auto – 标记指定软件包为自动安装

    manual – 标记指定软件包为手动安装

    hold – 标记指定软件包为保留(held back)

    unhold – 取消指定软件包的保留(held back)标记

    showauto – 列出所有自动安装的软件包

    showmanual – 列出所有手动安装的软件包

    showhold – 列出设为保留的软件包

    aptitude

    aptitude与 apt-get 一样,是 Debian 及其衍生系统***能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

    用法:aptitude [<选项> …] <命令>

    如果无指定选项及命令,那么aptitude会进入交互模式。

    常用命令:

    install 安装/升级软件包。

    remove 卸载软件包。

    purge 卸载软件包及其配置文件。

    hold 将软件包置于保持状态。

    unhold 取消对一个软件包的保持命令。

    markauto 将软件包标记为已经自动安装。

    unmarkauto 将软件包标记为已经手动安装。

    forbid-version 禁止 aptitude 升级到某一特定版本的软件包。

    update 下载新/可升级软件包列表。

    safe-upgrade 执行一次安全的升级。

    full-upgrade 执行升级,可能会安装和卸载软件包。

    build-dep 安装软件包的构建依赖。

    forget-new 忘记哪些软件包是“新”的。

    search 按名称和/或表达式搜索软件包。

    show 显示一个软件包的详细信息。

    showsrc 显示源码包的详细信息(作为 apt 命令的封装)

    versions 显示指定软件包的版本信息。

    clean 清除已下载的软件包文件。

    autoclean 删除旧的已下载软件包文件。

    changelog 查看一个软件包的变更日志。

    download – 下载软件包的 .deb 文件。(作为 apt 命令的封装)

    source 下载源代码包(作为 apt 命令的封装)。

    reinstall 重新安装一个当前已安装的软件包。

    why 解释为什么某个特定的软件包应当被安装。

    why-not 解释为什么某个特定的软件包不能被安装。

    add-user-tag 将用户标签添加到软件包/模式。

    remove-user-tag 从软件包/模式删除用户标签。

    dpkg

    dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心软件仓库内的软件,主要用于安装本地的deb文件。dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。

    用法:dpkg [<选项> …] <命令>

    命令:

    -i|–install <.deb 文件名> … | -R|–recursive <目录> …

    –unpack <.deb 文件名> … | -R|–recursive <目录> …

    -A|–record-avail <.deb 文件名> … | -R|–recursive <目录> …

    –configure <软件包名> … | -a|–pending

    –triggers-only <软件包名> … | -a|–pending

    -r|–remove <软件包名> … | -a|–pending

    -P|–purge <软件包名> … | -a|–pending

    -V|–verify <软件包名> … 检查包的完整性。

    –get-selections [<表达式> …] 把已选中的软件包列表打印到标准输出。

    –set-selections 从标准输入里读出要选择的软件。

    –clear-selections 取消选中所有不必要的软件包。

    –update-avail <软件包文件> 替换现有可安装的软件包信息。

    –merge-avail <软件包文件> 把文件中的信息合并到系统中。

    –clear-avail 清除现有的软件包信息。

    –forget-old-unavail 忘却已被卸载的不可安装的软件包。

    -s|–status <软件包名> … 显示指定软件包的详细状态。

    -p|–print-avail <软件包名> … 显示可供安装的软件版本。

    -L|–listfiles <软件包名> … 列出属于指定软件包的文件。

    -l|–list [<表达式> …] 简明地列出软件包的状态。

    -S|–search <表达式> … 搜索含有指定文件的软件包。

    -C|–audit [<表达式> …] 检查是否有软件包残损。

    –yet-to-unpack 列出标记为待解压的软件包。

    –predep-package 列出待解压的预依赖。

    –add-architecture <体系结构> 添加 <体系结构> 到体系结构列表。

    –remove-architecture <体系结构> 从架构列表中移除 <体系结构>。

    –print-architecture 显示 dpkg 体系结构。


    –print-foreign-architectures 显示已启用的异质体系结构。

    –assert-<特性> 对指定特性启用断言支持。

    –validate-<属性> <字符串> 验证一个 <属性>的 <字符串>。

    –compare-vesions <a> <关系> <b> 比较版本 – 见下。

    –force-help 显示本强制选项的帮助信息。

    -Dh|–debug=help 显示有关出错调试的帮助信息。

    -?, –help 显示本帮助信息。

    –version 显示版本信息。

    ‘apt’ 和 ‘aptitude’ 提供了更为便利的软件包管理。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2018年10月15日
    下一篇 2018年10月15日

    相关推荐