• dpkg 、apt


    1. apt简介

    Advanced Package Tool,即APT。是一款适用于Unix和Linux系统的应用程序管理器。是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。 最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。APT成名的原因之一在于其出色的解决软件依赖关系的能力。

    APT的命令行工具:apt-get apt等。

    2. apt 常用的命令

    • apt-cache和apt-get是apt包的管理工具,他们根据/etc/apt/sources.list里的软件源地址列表搜索目标软件、并通过维护本地软件包列表来安装和卸载软件。
    • 查看本机是否安装软件: whereis package_name 或者 which package_name

    2.1 注意

    apt-get命令一般需要root权限执行,所以一般跟着sudo命令。

    //例:
    sudo apt-get xxxx
    

    2.2 apt-get 常用命令

    2.2.1 安装软件包

    apt-get install packagename
    
    • 安装名为packagename 的软件包

    2.2.2 卸载软件包

    apt-get remove packagename
    apt-get remove --purge packagename
    
    • 第一个命令:卸载名为packagename 的软件包,保留配置文件
    • 第二个命令:卸载名为packagename 的软件包,不保留配置文件
    apt-get autoremove packagename
    apt-get autoremove --purge packagname
    
    • 第一个命令:删除包及其依赖的软件包
    • 第二个命令:删除包及其依赖的软件包+配置文件
    dpkg --force-all --purge packagename
    

    有些软件很难卸载,而且还阻止了别的软件的应用,就能够用这个,但是有点冒险。

    2.2.3 更新软件包列表

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

    2.2.4更新软件包

    apt-get upgrade
    apt-get dist-upgrade
    
    • 两条命令可以使用这条命令更新软件包。
    • apt-get upgrade不仅可以从相同版本号的发布版中更新软件包,也可以从新版本号的发布版中更新软件包(但是不推荐使用这个命令)。
    • 新版本号的发布版中更新软件包 推荐命令为apt-get dist-upgrade。
    apt-get -u upgrade
    
    • -u选项让APT显示完整的可更新软件包列表。不加这个选项,你就只能盲目地更新。APT会下载每个软件包的最新更新版本,然后以合理的次序安装它们。注意在运行该命令前应先运行apt-get update更新数据库,更新任何已安装的软件包。

    2.2.5删除硬盘上备份的软件包

    apt-get autoclean
    apt-get clean
    
    • apt会把已装或已卸的软件都备份在硬盘上
    • 第一个命令: 可以把已经卸载的软件包的备份给删除了。
    • 第二个命令:将已经安装的和已卸载的软件包的备份给删除了。

    2.2.6 在软件包列表中搜索 软件包

    apt-cache search packegename
    

    如果不知道完整的软件包名字,可以只输入其中一个子集。

    2.2.7清除那些已卸载的软件包的.deb文档

    apt-get autoclean
    

    3.apt 和 apt-get

    3.1 apt 和 apt-get

    在开始对比 apt 与 apt-get 命令的区别之前,我们先来看看这两个命令的背景,以及它们要试图达到的目的。

    Debian 作为 Ubuntu、Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的「包管理」系统,它的每个组件和应用程序都内置在系统中安装的软件包中。Debian 使用一套名为 Advanced Packaging Tool(APT)的工具来管理这种包系统,不过请不要把它与 apt 命令混淆,它们之间是其实不是同一个东西。

    在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,另外一款较为流行的是 Aptitude 这一命令行与 GUI 兼顾的小工具。

    如果你已阅读过我们的 apt-get 命令指南,可能已经遇到过许多类似的命令,如apt-cache、apt-config 等。如你所见,这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到。换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。

    apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。

    在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

    简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

    3.1 apt 和 apt-get 命令之间的区别

    虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。

    apt 命令 取代的命令 安装软件包
    apt install apt-get install 安装软件包
    apt remove apt-get remove 移除软件包
    apt purge apt-get purge 移除软件包及配置文件
    apt update apt-get update 刷新存储库索引
    apt upgrade apt-get upgrade 升级所有可升级的软件包
    apt autoremove apt-get autoremove 自动删除不需要的包
    apt full-upgrade apt-get dist-upgrade 在升级软件包时自动处理依赖关系
    apt search apt-cache search 搜索应用程序
    apt show apt-cache show 显示安装细节

    当然,apt 还有一些自己的命令:

    • apt list 列出包含条件的包(已安装,可升级等)
    • apt edit-sources 编辑源列表
  • 相关阅读:
    【转】win32内核程序中进程的pid,handle,eprocess之间相互转换的方法
    (ring0)Windows内核根据PID获取进程全路径
    Windows虚拟地址转物理地址(原理+源码实现,附简单小工具)
    指向API的函数指针定义方法
    ListCtrl列表控件设置到指定位置(自滚动,该特性支持虚拟列表)
    【转】VS设置符号表
    物联网三层架构
    五种测试的区别
    CMMI将能力成熟度分为5个级别
    软件的4种维护(更正性、完善性、预防性、适应性)的区别
  • 原文地址:https://www.cnblogs.com/lasnitch/p/12764104.html
Copyright © 2020-2023  润新知