【Linux】Ubuntu系统下用apt命令删除/卸载软件包

2023-11-19

大家都知道,在ubuntu中安装一个新的软件包时,直接使用sudo apt-get install命令就好。那么,如果要卸载或者删除一个软件包呢?

1、删除为了满足依赖而安装的,但现在不再需要的软件包(包括已安装包),保留配置文件(这个命令容易导致系统无法进入系统桌面)
$ sudo apt-get autoremove 

高能警告:慎用本命令!!!

它会在你不知情的情况下,一股脑删除很多“它认为”你不再使用的软件。

如果不幸使用这个命令出现问题,尝试更新库和软件,apt-get update && apt-get upgrade 可能会自己解决依赖版本问题,只要是它能get到的。另外 autoremove 使用过程中千万不要中途打断。

2、删除已安装的软件包(保留配置文件),不会删除依赖软件包,保留配置文件;
$ sudo apt-get remove 
3、删除已安装的软件包(不保留配置文件),删除软件包,同时删除相应依赖软件包。
$ sudo apt-get purge / sudo apt-get --purge remove 
4、删除已经安装过的的软件安装包,即自动将/var/cache/apt/archives/下的 所有 deb 删掉,相当于清理下载的软件安装包。
$ sudo apt-get clean 
5、删除为了满足某些依赖安装的,但现在不再需要的软件包。
$ sudo apt-get autoclean 

apt的底层包是dpkg, 而dpkg安装软件包时, 会将*.deb文件放在/var/cache/apt/archives/中;因此本命令会删除该目录下已经过期的deb。

如何彻底卸载软件呢? 可按如下步骤:

sudo apt-get --purge remove <package>				# 删除软件及其配置文件
sudo apt-get autoremove <package>					# 删除没用的依赖包
sudo dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P		# 清理dpkg的列表中有“rc”状态的软件包
补充:dpkg的简介

Ubuntu是基于Debian的Linux系统,而Debian系统的软件是使用APT和dpkg进行管理。dpkg是"Debian Packager"的简写,是一个底层的软件包管理工具。

可以输入dpkg -l来查看软件的状态,输入dpkg -P来卸载软件。因为dpkg --remove只是删除安装的文件,但不删除配置文件。而dpkg --purge则将安装文件和配置文件都删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux】Ubuntu系统下用apt命令删除/卸载软件包 的相关文章

  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • 如何确保应用程序在 Linux 上持续运行

    我试图确保脚本在开发服务器上保持运行 它会整理统计数据并提供网络服务 因此它应该会持续存在 但一天中有几次 它会因未知原因而消失 当我们注意到时 我们只需再次启动它 但这很麻烦 并且某些用户没有权限 或专有技术 来启动它 作为一名程序员 我
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 内核模式下的线程(和进程)与用户模式下的线程(和进程)有什么区别?

    我的问题 1 书中现代操作系统 它说线程和进程可以处于内核模式或用户模式 但没有明确说明它们之间有什么区别 2 为什么内核态线程和进程的切换比用户态线程和进程的切换花费更多 3 现在 我正在学习Linux 我想知道如何在LINUX系统中分别
  • Linux 上的用户空间能否实现本机代码的抢占式多任务处理?

    我想知道是否可以在 Linux 用户空间的单个进程中实现本机代码的抢占式多任务处理 也就是说 从外部暂停一些正在运行的本机代码 保存上下文 交换到不同的上下文 然后恢复执行 所有这些都由用户空间精心安排 但使用可能进入内核的调用 我认为这可
  • “make install”将库安装在 /usr/lib 而不是 /usr/lib64

    我正在尝试在 64 位 CentOS 7 2 上构建并安装一个库 为了这个目的我正在跑步 cmake DCMAKE BUILD TYPE Release DCMAKE INSTALL PREFIX usr DCMAKE C COMPILER
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • PHPStorm - 无效的后代文件名

    我正在尝试将 Windows 7 PC 上的本地 PHPStorm 项目与 Ubuntu 服务器同步 当我尝试任何类型的连接 例如 测试 SFTP 连接 时 它会失败并显示 Invalid descendent file name C np
  • Docker 错误绑定:地址已在使用中

    当我跑步时docker compose up在我的 Docker 项目中 它失败并显示以下消息 启动用户层代理时出错 监听 tcp 0 0 0 0 3000 绑定 地址已在使用中 netstat pna grep 3000 显示这个 tcp
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 确定我可以向文件句柄写入多少内容;将数据从一个 FH 复制到另一个 FH

    如何确定是否可以将给定数量的字节写入文件句柄 实际上是套接字 或者 如何 取消读取 我从其他文件句柄读取的数据 我想要类似的东西 n how much can I write w handle n read r handle buf n a
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • Windows CE 与嵌入式 Linux [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 现在我确信我们都清楚 Linux 与 Windows 桌面的相对优点 然而 我对嵌入式开发世界的了解却少得多 我主要对行业解决方案感兴
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • opencv_contrib编译错误:类没有成员

    我必须实现 SURF 算法来进行图像拼接 我在使用列出的库时遇到了问题here https stackoverflow com questions 33560251 opencv 3 0 0 ubuntu 14 04 nonfree non
  • 什么是 TTY?如何在 Ubuntu 上启用它?

    我目前正在设置一个 Node js 服务器 并且在这里使用调试模块https github com visionmedia debug https github com visionmedia debug 我正在尝试启用它 以便我可以在输出
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I

随机推荐

  • MySQL 表分区 A PRIMARY KEY must include all columns in the table's partitioning function

    当我们在对MySQL的数据表进行分区的时候 很容易碰到如下错误 A PRIMARY KEY must include all columns in the table s partitioning function 意思是说分区的字段必须是
  • Qt 不规则窗口,不规则按钮,不规划控件 不规则界面

    有一些特殊情况 需要使用不规则窗口或按钮 看起来非常炫酷 类似 Qt 实现 不规则样式设置 不是视觉欺骗 是真正的不规则 点击外面不会触发按钮的点击信号 Part1 不规则窗口 效果 显示成一张图片中的图形 使用带有透明区域的png图片 i
  • 设计模式--提供者模式provider

    设计模式 C 提供者模式 Provider Pattern 介绍 为一个API进行定义和实现的分离 示例 有一个Message实体类 对它的操作有Insert 和Get 方法 持久化数据在SqlServer数据库中或Xml文件里 根据配置文
  • sql 求日期均值

    备忘一下 在sql中求日期均值的语句 首先 AVG 只能作用与数值型字段 不能作用于日期字段 所以不能像求数值均值一样求日期均值 要求日期均值 需要先把 日期转为Long 然后对转后的Long求均值 对Long求完均值 在把Long转为 日
  • git 将本仓库的分支代码提交到另外一个仓库

    因为新项目开发的项目代码是建立在另外一个项目的代码框架上进行样式与逻辑功能修改 所以为了省事 想着把旧仓库的temp分支代码直接提交到新仓库master分支底下进行项目开发 所以需要在git上进行一些操作 将本仓库的分支代码提交到另外一个仓
  • 【Linux扩容】Vmware虚拟机内的Linux扩容

    1 虚拟机设置 Vmware 虚拟机 设置 硬盘 扩展 40 64G 2 Linux磁盘扩展 有图形化桌面 GParted 分区上右键 扩展 保存 无图形化桌面 找一个有图形化桌面的Linux live镜像 CD载入 或者LinuxToGo
  • Linux网络编程之Tcp(内含服务器、客户端代码实例)

    文章目录 前言 Tcp模型 服务器端 客户机端 代码 运行结果 结束 前言 本节讲解需要相关的网络基础知识 如果缺少相关知识 请先学习 Linux网络编程之网络基础 和 Linux网络编程之网络基础2 Tcp模型 先打开我们之前讲过的Tcp
  • CVE-2021-40444漏洞复现详细

    2021年9月8日 微软官方发布了MSHTML组件的风险通告 漏洞编号 CVE 2021 40444 未经身份验证的攻击者可以利用该漏洞在目标系统上远程执行代码 微软官方表示已经监测到该漏洞存在在野利用 1 漏洞详情 Microsoft M
  • js 本地存储和获取

    localStorage setItem temp orderAr 存入 参数 1 调用的值 2 所要存入的数据 console log localStorage getItem temp 输出
  • 安装用jieba,实现用TF-IDF算法进行关键词的提取

    文本知识提取 目录 1 安装jieba 2 TF IDF算法 2 1算法的定义 2 2算法的应用 1 词性标注 2 去停用词 3 关键词提取 1 安装jieba Jieba分词官网 https github com fxsjy jieba
  • 基于k8s的微服务一键部署解决方案

    父项目msagd配置 编写pom xml的属性标签
  • Day8_8 Java学习之List集合类

    目录 一 List集合的概述 ArrayList集合类的概述 ArrayList集合的语法定义 ArrayList集合的常用方法 LinkedList集合概述 LinkedList集合的语法定义 LinkedList集合类常用方法 二 Se
  • Unity项目资源加载管理简易框架(Resource)

    文章目录 一 背景 二 思路概述 三 具体实现代码及其思路梳理 1 资源路径 2 资源管理 3 资源加载 4 资源管理 四 说明 一 背景 在Unity的轻量型项目中如果对优化没有特别搞得要求 如果需要用到Resource Load这个接口
  • 算高差改正数的计算机程序,水准测量中测量高差的改正数怎么计算?

    原标题 水准测量中测量高差的改正数怎么计算 工程测量中 高速铁路 城市轨道涉及到二等水准 一般铁路涉及三 四等水准 高速公路 房建 市政一般采用四等水准 沉降观测各等级均涉及 在水准测量中高差的改正三四等水准需要进行水准标尺长度改正 正常水
  • 基于51单片机简易电子琴设计(含Keil程序和Proteus文件)

    一 系统概述 系统使用的模块有AT89C51单片机 8位共阳数码管 矩阵键盘 小灯 按键 蜂鸣器 本次设计的电子琴系统以AT89C51单片机为控制核心 使用数码管显示音符 右侧的矩阵键盘可以理解为琴键 按下不同的按键就能显示不同的音符 按下
  • 最新服务器CPUe5,看这里!2019 至强 Xeon E5 服务器系列 CPU 天梯图分享

    排名名称评分 1Intel Xeon E5 2679 v4 2 50GHz25 236 2Intel Xeon E5 2699 v4 2 20GHz23 200 3Intel Xeon E5 2696 v3 2 30GHz22 548 4I
  • LNCS用户写作指南【 Springer Computer Science Proceedings 】

    转自 http blog csdn net wyskys article details 18075471 重点是文末的参考文献格式 主要的是 链接 期刊论文 会议论文的引用格式 下載地址 http static springer com
  • Jsoup 抓取网页内容demo

    1 代码 public Document getDocument String url try return Jsoup connect url get catch IOException e e printStackTrace retur
  • 为什么电脑的时间总是快2分钟

    由于工作需要 今天领到一台新的笔记本 轻轻地抚摸 新伙伴 的同时 发现笔记本的时间 快了2分钟 o o表情 明明已经联网了 为啥还是快两分钟呢 于是我就一顿操作猛如虎 结果一看 服务器连接的是 time windows com 这可不行 我
  • 【Linux】Ubuntu系统下用apt命令删除/卸载软件包

    大家都知道 在ubuntu中安装一个新的软件包时 直接使用sudo apt get install命令就好 那么 如果要卸载或者删除一个软件包呢 1 删除为了满足依赖而安装的 但现在不再需要的软件包 包括已安装包 保留配置文件 这个命令容易