误删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那么从下面开始看.

    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..27_all.deb
sudo dpkg -i libapt-pkg5.0_1..0_amd64.deb
sudo dpkg -i apt_1..0_amd64.deb

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

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

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

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

Linux-误删apt-get以及把aptitude换回的更多相关文章

  1. linux工具apt、yum和dnf运用

      首先,说明一下我的环境:ubuntu16.04. 什么是APT: 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu ...

  2. Linux中apt与apt-get命令的区别与解释

    2019-01-15 14:35:39 随着 apt install package 命令的使用频率和普遍性逐步超过 apt-get install package,越来越多的其它 Linux 发行版 ...

  3. linux 下 apt命令集详解

    apt命令用法 packagename指代为软件包的名称 apt-get update 在修改/etc/apt/sources.list或/etc/apt/preferences之後运行该命令.此外您 ...

  4. Linux误删C基本运行库libc.so.6急救方法

    首先普及一下关于libc.so.6的基本常识: libc.so.6是glibc的软链接 ll  /lib64/libc.so.6lrwxrwxrwx 1 root root 11 Aug 27 201 ...

  5. Linux误删C基本运行库libc.so.6处理方法

    1. libc.so.6介绍/usr/lib/libc.so.6是glibc的软链接,不同的平台可能路径会不一样.使用命令查看会看到: [root@farmer:~]$ls -l /lib/libc. ...

  6. 【linux】Linux误删C基本运行库libc.so.6急救方法

    转自:http://www.cnblogs.com/fjping0606/p/4551475.html 下面全文都是拷贝的上面链接的内容. 首先普及一下关于libc.so.6的基本常识: libc.s ...

  7. linux下apt安装mysql导致mysql.user table is damaged

    笔者在ubuntu下用 apt install mysql-server类似的命令安装mysql, 安装了最新版的mysql5.7,覆盖了操作系统内置的数据库mysql系统库. 最初启动mysql出错 ...

  8. 解决linux更新apt软件源时报出GPG错误

    今天给树莓派换源,爆出N个这错误: W: GPG error: http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy InRelease: Th ...

  9. 【Linux】apt软件管理和远程登录

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1. apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具.在 Ubuntu 下,可以使用 ap ...

随机推荐

  1. CentOS的启动流程

    因6和7俩个系列的启动流程有区别,所以我把他们分开来写 linux可看作是内核和根文件系统组成我们把内核单独拿出来总结一下 CentOS6系列启动流程 首先总结一下总体的流程,接下来展开来叙述:POS ...

  2. textarea 里设置 style="resize:none"

    禁止textarea拉伸的方法是::                                    设置这个 style="resize:none" 属性 例子: < ...

  3. java基础 lang包 详细介绍

    Java.javax和org.其中以java开头的包名是JDK的基础语言包,以javax开头的属 (org是organization的简写).而在JDK API中还包含了一些以com.sun开头的包名 ...

  4. Scrapy爬虫框架第八讲【项目实战篇:知乎用户信息抓取】--本文参考静觅博主所写

    思路分析: (1)选定起始人(即选择关注数和粉丝数较多的人--大V) (2)获取该大V的个人信息 (3)获取关注列表用户信息 (4)获取粉丝列表用户信息 (5)重复(2)(3)(4)步实现全知乎用户爬 ...

  5. 前端学习总结(一)——常见数据结构的javascript实现

    1.列表类 // 列表类 function List() { this.listSize = 0; // 列表的元素个数 this.pos = 0; // 列表的当前位置 this.dataStore ...

  6. yii2.0 app上集成支付宝支付

    1.首先从支付宝官网下载支付宝app支付sdk 地址 : https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.hLEa5O&a ...

  7. [爬虫]Scrapy 错误ordinal not in range(128)

    报错了: UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(12 ...

  8. java面向对象中四种权限(private,protected,public,友好型)详解

    转自http://blog.csdn.net/a1237871112/article/details/50926975 及http://blog.csdn.net/blackmanren/articl ...

  9. bzoj 2002 弹飞绵羊 分块

    正解lct,然而本蒟蒻并不会.... 分块思路很清晰,处理出每个点弹出所在块所需要的步数及出去后的第一个位置 #include<cstdio> #include<cstring> ...

  10. BZOJ_4636_蒟蒻的数列_线段树+动态开点

    BZOJ_4636_蒟蒻的数列_线段树+动态开点 Description 蒟蒻DCrusher不仅喜欢玩扑克,还喜欢研究数列 题目描述 DCrusher有一个数列,初始值均为0,他进行N次操作,每次将 ...