误删 apt-get 拯救我的 Linux
一. 前言
先来说一下 apt-get, 这个我们使用 Linux 过程中最常用的命令之一. apt-get 是一条 Linux 命令, 适用于 deb 包管理式的操作系统, 主要用于自动从互联网的软件仓库中搜索, 安装, 升级, 卸载软件或操作系统.
没有它, 可以说是在 Linux 上寸步难行了, 最近因为想部署一个自己的 hexo 的博客, 需要安装 node, NPM, 可是使用 apt-get 却无法安装,
显示是破坏了某种关系, 而且无法修复. 如图所示, 在网上查找教程但没能解决.
之后在一些博客中有人提出使用 aptitude 这个包管理工具可以解决这个问题, 还说 aptitude 是比 apt-get 更好用的 Linux 包管理工具,
下面是 aptitude 的简介 - 来自网上整理.
aptitude 虽然没有 apt-get 的 "超级牛力", 但功能却比 apt-get 更强大
首先, 像 apt-get 一样, 可以安装软件
aptitude 解决依赖关系比 apt-get 更智能. 有时用 apt-get 安装软件时会出现 "XXX 需要 XXXX, 但 XXX 已安装" 这类的错误. 这通常是因为某些软件包过新造成的. 此时使用 aptitude, aptitude 会发现问题并给出几个解决方案, 我们只需接受符合心意的方案就可以了.
aptitude 的另外一个优点是会自动记录那些包是 "自动安装"(即因依赖关系而安装的), 如果依赖 "自动安装" 包的包都没被安装, 该 "自动安装" 包 (此时已无用) 就会自动删除.
使用这两个命令可以控制包的 "自动安装" 属性
于是我便安装了一个, 可是安装后依然无法安装 NPM, 小白绝望了, 因为在安装 aptitude 的时候需要卸载 apt-get, 好了现在 aptitude 也不能用, apt-get 也没了, 我无法安装任何东西了, 这个时候可怎么办!
二. 解决办法
这个时候可以通过执行下面命令来先删除 aptitude, 如果你只是删除了 apt-get 而没有安装 aptitude 那么从下面开始看.
1 sudo dpkg -r aptitude
拯救开始, 因为这个软件已经被卸载, 想要重新使用就要重新下载
可以在这个 Ubuntu 的网站下载 https://www.ubuntuupdates.org/
直接在那个框里搜索相应的包就可以了
需要下载三个软件包 apt libapt-pkg Ubuntu-keyring, 版本不要下载太高, 可能会出现依赖更高版本的问题, 我下载的是下面几个
apt_1.7.0_amd64.deb libapt-pkg5.0_1.8.0_amd64.deb Ubuntu-keyring_2016.10.27_all.deb
这个时候出现一个问题, 在那个网站里找不到 Ubuntu-keying 这个包, 怎么办! 别急 我在下面的这个网站源里找到了
http://archive.ubuntu.com/ubuntu/pool/main/u/ubuntu-keyring/ 这里直接给出这个包的地址, 省得大家找.
这三个包需要放到 HOME 文件夹里
接下来问题就简单了, 我只需要在 home 文件夹下打开终端依次执行下面三条 dapk -i 包名就可以了
- sudo dpkg -i Ubuntu-keyring_2016.10.27_all.deb
- sudo dpkg -i libapt-pkg5.0_1.8.0_amd64.deb
- sudo dpkg -i apt_1.7.0_amd64.deb
依次执行完之后呐, 问题就解决了
这时我们可以输入 apt-get moo 来测试一下, 看到我们熟悉的超级牛力就成功了. 如图:
----- 只要细心大胆, 我们都可以成功,
------- 有疑问可以在下方联系我!
来源: https://www.cnblogs.com/Cherrison-Time/p/10770109.html