iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Ubuntu基础教程之apt-get命令
  • 777
分享到

Ubuntu基础教程之apt-get命令

ubuntuapt-get命令ubuntuaptget命令 2022-06-04 23:06:02 777人浏览 安东尼
摘要

前言 apt-get 命令是 ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。本文介绍 apt-get 命令的基本用法,演示环境为 Ubuntu 18.04。 基

前言

apt-get 命令是 ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。本文介绍 apt-get 命令的基本用法,演示环境为 Ubuntu 18.04。

基本语法

语法格式:

apt-get [options] command

配置文件:

早期 apt-get 默认的配置文件为 /etc/apt/apt.conf,但是当前的 Ubuntu 系统中默认没有这个文件。

如果 /etc/apt/apt.conf 文件存在,apt-get 仍然会读取它。但现在的设计思路是把配置文件分隔后放置在 /etc/apt/apt.conf.d 目录下,这样更容易管理。

常用选项:


-h, --help  // 查看帮助文档
-v, --version  // 查看 apt-get 的版本
-y   // 在需要确认的场景中回应 yes
-s, --dry-run  // 模拟执行并输出结果
-d, --download-only // 把包下载到缓存中而不安装
--only-upgrade  // 更新当前版本的包而不是安装新的版本
--no-upgrade  // 在执行 install 命令时,不安装已安装包的更新
-q, --quiet  // 减少输出
--purge   // 配合 remove 命令删除包的配置文件
--reinstall  // 重新安装已安装的包或其新版本

常用子命令:

update

update 命令用于重新同步包索引文件,/etc/apt/sources.list 文件中的配置指定了包索引文件的来源。更新了包索引文件后就可以得到可用的包的更新信息和新的包信息。这样我们本地就有了这样的信息:有哪些软件的哪些版本可以从什么地方(源)安装。

update 命令应该总是在安装或升级包之前执行。

install

install 命令用来安装或者升级包。每个包都有一个包名,而不是一个完全限定的文件名(例如,在 Debian 系统中,提供的参数是 apt-utils,而不是 apt-utils_1.6.1_amd64.deb)。被安装的包依赖的包也将被安装。配置文件 /etc/apt/sources.list 中包含了用于获取包的源(服务器)。install 命令还可以用来更新指定的包。

upgrade

upgrade 命令用于从 /etc/apt/sources.list 中列出的源安装系统上当前安装的所有包的最新版本。在任何情况下,当前安装的软件包都不会被删除,尚未安装的软件包也不会被检索和安装。如果当前安装的包的新版本不能在不更改另一个包的安装状态的情况下升级,则将保留当前版本。必须提前执行 update 命令以便 apt-get 知道已安装的包是否有新版本可用。

注意 update 与 upgrade 的区别:

update 是更新软件列表,upgrade 是更新软件。

dist-upgrade

除执行升级功能外,dist-upgrade 还智能地处理与新版本包的依赖关系的变化。apt-get 有一个 "智能" 的冲突解决系统,如果有必要,它将尝试升级最重要的包,以牺牲不那么重要的包为代价。因此,distr -upgrade 命令可能会删除一些包。因此在更新系统中的包时,建议按顺序执行下面的命令:


$ apt-get update
$ apt-get upgrade -y
$ apt-get dis-upgrade -y

remove

remove 与 install 类似,不同之处是删除包而不是安装包。注意,使用 remove 命令删除一个包会将其配置文件留在系统上。

purge

purge 命令与 remove 命令类似,purge 命令在删除包的同时也删除了包的配置文件。

autoremove

autoremove 命令用于删除自动安装的软件包,这些软件包当初是为了满足其他软件包对它的依赖关系而安装的,而现在已经不再需要了。

download

download 命令把指定包的二进制文件下载到当前目录中。注意,是类似 *.deb 这样的包文件。

clean

clean 命令清除在本地库中检索到的包。它从 /var/cache/apt/arcHives/ 和 /var/cache/apt/archives/partial/ 目录删除除文件之外的所有内容。

autoclean

与 clean 命令类似,autoclean 命令清除检索到的包文件的本地存储库。不同之处在于,它只删除不能再下载的软件包文件,而且这些文件在很大程度上是无用的。这允许长时间维护缓存,而不至于大小失控。

source

source 命令下载包的源代码。默认会下载最新可用版本的源代码到当前目录中。

changelog

changelog 命令尝试下载并显示包的更新日志

常见用法

查看帮助文档


$ apt-get -h

更新包索引文件


$ sudo apt-get update

安装包


$ sudo apt-get install Nginx

在需要确认的场景中回应 yes

多数包在安装前都需要与用户交互,在用户确认后才继续安装。而在自动化的任务中是没办法与用户交互的。-y 选项可以在这样的场景中发挥作用,其效果就像是用户确认了安装操作一样:


$ sudo apt-get install -y nginx

安装系统中有更新的包


$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get dis-upgrade -y

重新安装已安装的包

如果我们认为一个包工作不正常,可以尝试重新安装它,为 install 命令添加 --reinstall 选项就可以了。另外,如果已安装的包有了更新或新版本,也可以用这个方法把包升级到最新的版本:


$ sudo apt-get install --reinstall curl

更新指定的包

比较奇怪的是更新指定的包居然不是通过 upgrade 命令完成的,而是使用 intall 命令,注意:是 install 命令:


$ sudo apt-get install vim

模拟执行命令并输出结果

应用 -s 选项后命令并不会真正执行,但是会模拟执行并输出结果,比如下面的例子:


$ sudo apt-get update
$ sudo apt-get -s upgrade

添加 -s 选项后,upgrade 命令会输出将要被更新的软件但不会真的执行升级操作。

检查某个包的版本

通过下面的命令可以查看已安装包或即将安装包的版本:


$ sudo apt-get -s install vim

下面是一个已安装包的例子:

下面是一个未安装包的例子:

安装指定版本的包

注意,这里指的是包的版本号:


$ sudo apt-get install tree=1.7.0-5

把包下载到缓存中而不安装

选项 -d, --download-only 告诉命令只把包下载到缓存中而不安装它们,主要用在把下载包和安装包分开的场景,比如系统默认的自动化更新:


$ sudo apt-get install -d nginx
$ sudo apt-get upgrade -d
$ sudo apt-get dist-upgrade -d

删除包

remove 命令的特点是只删除程序文件,保留相关的配置文件:


$ sudo apt-get remove vim

如果要彻底清除包,可以使用 purge 命令,它会同时删除程序文件及其配置文件:


$ sudo apt-get purge vim

autoremove 命令用于删除自动安装的软件包,这些软件包当初DGxUDV是为了满足其他软件包对它的依赖关系而安装的,而现在已经不再需要了。因此在删除包后执行一下 autoremove 是个不错的选择:


$ sudDGxUDVo apt-get autoremvoe

清除系统中缓存的包安装文件

安装包的过程实际上是先把包安装文件下载到缓存目录,然后执行安装。久而久之系统中会存在大量无用的包安装文件,clean 命令可以清除这些缓存的包安装文件:


$ sudo apt-get clean

clean 命令从 /vaDGxUDVr/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 目录删除除锁文件之外的所有内容。

autoclean 命令与 clean 命令类似。不同之处在于,它只删除不能再下载的软件包文件,而且这些文件在很大程度上是无用的。这允许长时间维护缓存,而不至于大小失控:


$ sudo apt-get autoclean

在执行 remove 命令时使用 --purge 选项的效果等同于执行 purge 命令:


$ sudo apt-get remove --purge vim

在执行 install/remove 命令时使用 --autoremove 选项,可以同时删除无用的依赖包,类似在执行完 install/remove 命令后再执行一次 autoremove 命令:


$ sudo apt-get remove --autoremove vim

在执行 install/upgrade 命令时显示更详细的版本信息

通过 -V 选项,可以让 install/upgrade 命令输出包的具体版本,下面是默认的输出:


$ sudo apt-get upgrade -s

下面是添加 -V 选项后的输出:


$ sudo apt-get upgrade -V -s

减少输出

既然可以增加详细的输出信息,也可以灵活地使用 -q 选项来减少输出的信息:


$ sudo apt-get install -q curl
$ sudo apt-get install -q=2 curl

查看已安装包的更改日志

可以通过 changelog 命令来查看包的更新记录:


$ apt-get changelog tree

下载包的源代码(source code)

apt-get source 命令用来下载包的源代码。要让 apt-get source 命令起作用需要先更新 /etc/apt/sources.list 文件,添加 deb-src 配置,其实就是取消掉原本被注释掉的以 deb-src 开头的行。在 desktop 版的系统中,还可以通过 "Software & Updates" UI 来做同样的事情,在 "Ubuntu Software" 选项卡中选中 "Source code" 项即可:

现在再执行 apt-get source 命令并指定包的名称,就可以下载到该包的源代码了:


$ apt-get source tree

查看 apt-get 的版本


$ apt-get -v

这里显示的居然是 apt,太奇葩了!接着看:

原来 apt-get、apt-cache 和 apt-config 的功能都是由 apt 命令提供的。

查看系统的更新记录

日志文件 /var/log/apt/history.log 记录了系统的更新历史记录。通过它可以查看所有通过 apt 命令执行的安装、升级、删除记录:


$ less /var/log/apt/history.log

参考:

apt-get man page

apt.conf man page

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

--结束END--

本文标题: Ubuntu基础教程之apt-get命令

本文链接: https://www.lsjlt.com/news/20515.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Ubuntu命令apt-cache和apt-get怎么使用
    这篇“Ubuntu命令apt-cache和apt-get怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ubuntu命...
    99+
    2023-07-04
  • Linux Ubuntu的apt-get命令怎么用
    本篇内容主要讲解“Linux Ubuntu的apt-get命令怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux Ubuntu的apt-get命令怎么用”吧!Linux系统中apt-...
    99+
    2023-06-28
  • Make命令基础用法教程
    目录一、Make的概念二、Makefile文件的格式2.1 概述2.2 目标(target)2.3 前置条件(prerequisites)2.4 命令(commands)三、Make...
    99+
    2024-04-02
  • 【java基础学习】之DOS命令
    #java基础学习 1.常用的DOS命令: dir:列出当前目录下的文件以及文件夹  md: 创建目录    rd:删除目录cd:进入指定目录  cd.. :退回到上级目录  cd\ : 退回到根目录  del:删除文件  exit:退出d...
    99+
    2023-10-10
    linux 运维 java
  • Java基础之常用的命令行指令
    1.进入某盘,直接打出要进入的存储盘再冒号回车即可 例如:从C盘中的\Users\Administrator目录下进入d盘 打出“d:”再回车就欧克啦~ 2. “dir”显示某目录...
    99+
    2024-04-02
  • 【Java 基础】Java SPI 二 之 Java APT原理及APT实战 - 一步步教你写ButterKnife
    一、定义 Java APT 是 Java 技术设计的一个 APT 架构, APT(Annotation Processing Tool)即注解处理器,它是一种处理注解的工具,也是javac中的一个工具,用于在编译阶段未生成class之前对源...
    99+
    2023-09-03
    java android 面试 apt 注解
  • Kotlin 基础教程之反射
    Kotlin 基础教程之反射概述反射是语言与库中的一组功能, 可以在运行时刻获取程序本身的信息.在Kotlin中,不仅可以通过发射获取类的信息,同时可以获取函数和属性的信息。也就是说,在在运行时刻得到一个函数或属性的名称和数据类型) 可以通...
    99+
    2023-05-31
    kotlin 反射
  • MySQL基础之常用命令有哪些
    这篇文章主要介绍MySQL基础之常用命令有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql命令介绍mysql 是数据库管理命令通过mysql --help来查看相关参数及...
    99+
    2024-04-02
  • MySQL学习之基础命令实操总结
    目录启动mysql服务连接mysql常用命令DatabaseTable启动mysql服务 (以管理员身份运行cmd) net start mysql 连接mysql mysql -...
    99+
    2024-04-02
  • Kotlin基础教程之数据类型
    Kotlin基础教程之数据类型一切都是对象.在Kotlin中一切都是对象.Kotlin有一些基本类型Boolean,Byte,Shot,Int,Long,Float,Double在Kotlin中没有原始类型,以上这些类型都是对象,比如运行结...
    99+
    2023-05-31
    kotlin 教程 数据类型
  • Java基础教程之整数运算
    目录引言溢出自增/自减移位运算位运算运算优先级类型的自动提升与强制转型练习小结总结引言 Java的整数运算遵循四则运算规则,可以使用任意嵌套的小括号。四则运算规则和初等数学一致。例如...
    99+
    2024-04-02
  • MySQL基础入门教程之事务
    目录引言1、事务操作1.1 未控制事务1.2 控制事务一1.3 控制事务二2、事务的四大特性3、并发事务问题4、事务隔离级别总结引言 事务是一组操作的集合,它是一个不可分割的工作单位...
    99+
    2024-04-02
  • Python基础学习教程:Python基础之基本数据类型(一)
    Python基础学习教程:Python基础之基本数据类型(一)...
    99+
    2023-06-02
  • Netty学习教程之基础使用篇
    什么Netty?Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户、服务器端编程框架...
    99+
    2023-05-31
    netty 基础
  • MySQL基础教程之DML语句详解
    目录DML 语句1.插入记录2.更新记录3.简单查询记录4.删除记录5.查询记录详解(DQL语句)5.1.查询不重复的记录5.2.条件查询5.3.聚合查询5.4.排序查询5.5.li...
    99+
    2024-04-02
  • Kotlin 基础教程之类、对象、接口
    Kotlin 基础教程之类、对象、接口Kotlin中类、接口相关概念与Java一样,包括类名、属性、方法、继承等,如下示例:interface A { fun bar() fun foo() { // 可选方法体 }}class C...
    99+
    2023-05-31
    kotlin 对象
  • 学习pip升级命令的简易教程,快速get!
    不懂pip升级命令是什么?来看看这个简单教程吧! 在Python开发中,我们经常会用到pip这个包管理工具来安装、升级或删除我们所需要的第三方库。pip是Python官方推荐的包管理工具,它可以让我们更方便地管理Python的依...
    99+
    2024-01-16
    pip升级命令:
  • Linux基础命令---mail邮件管理程序
    mailmail是一个邮件的管理程序,可以用来发送或者接收邮件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora。 1、语法mail  [选项]  addr...
    99+
    2023-06-05
  • Linux基础命令---ipcs显示进程通信
    ipcsipcs指令用来显示进程间通信状况。“-i”选项允许指定特定的资源id。将只打印有关此id的信息。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、SUSE、openSUSE。 1、语法i...
    99+
    2023-06-05
  • MySQL基础教程之事务异常情况
    目录测试异常情况控制事务一查看/设置事务提交方式提交事务回滚事务注意:控制事务二开启事务提交事务回滚事务转账案例:事务四大特性补充:mysql 事务并发处理的三种异常总结测试异常情况 -- 1. 查询张三余额 selec...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作