欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux-误删apt-get以及把aptitude换回

程序员文章站 2022-10-31 08:31:15
误删apt-get拯救我的linux 一.前言 先来说一下apt-get, 这个我们使用linux过程中最常用的命令之一. apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 没有它, 可以说是在linux上寸步 ......

误删apt-get拯救我的linux

一.前言

   先来说一下apt-get, 这个我们使用linux过程中最常用的命令之一. apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

  没有它, 可以说是在linux上寸步难行了, 最近因为想部署一个自己的hexo的博客, 需要安装node, npm, 可是使用apt-get却无法安装,

显示是破坏了某种关系, 而且无法修复. 如图所示, 在网上查找教程但没能解决.Linux-误删apt-get以及把aptitude换回

  之后在一些博客中有人提出使用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/

直接在那个框里搜索相应的包就可以了

Linux-误删apt-get以及把aptitude换回

 

需要下载三个软件包  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 包名就可以了 

  

1 sudo dpkg -i ubuntu-keyring_2016.10.27_all.deb
2 sudo dpkg -i libapt-pkg5.0_1.8.0_amd64.deb
3 sudo dpkg -i apt_1.7.0_amd64.deb

  依次执行完之后呐, 问题就解决了

这时我们可以输入apt-get moo来测试一下, 看到我们熟悉的超级牛力就成功了.如图:

Linux-误删apt-get以及把aptitude换回

 

-----只要细心大胆, 我们都可以成功, 

    -------有疑问可以在下方联系我!