请帮助我按照正确的顺序手动重新安装一些“已清除”的软件包,以恢复我的网络连接

请帮助我按照正确的顺序手动重新安装一些“已清除”的软件包,以恢复我的网络连接

使用“清除”删除 isc-dhcpd-server、isc-dhcpd-client 和 isc-dhcpd-common 后,我删除了不该有的软件包。对于后两个软件包,我实际上怀疑我是否应该将它们全部删除(我使用 isc-dhcpd 在一台没有 cd-rom 或 USB 启动的旧笔记本电脑上通过网络安装 wattOS(ubuntu 13.04 替代品),安装完成后我想再次删除 isc-dhcpd...)

除了上述内容之外,我还根据 /var/.../dpkg.log 文件设法删除了以下软件包:

ubuntu-minimal:i386 1.307
network-manager-gnome:i386 0.9.8.0-1ubuntu5.1
network-manager:i386 0.9.8.0-0ubuntu22
dnsmasq-base:i386 2.66-4ubuntu1
iputils-arping:i386 3:20121221-1ubuntu1
libgnome-bluetooth11:i386 3.8.1-2ubuntu2
libnetfilter-conntrack3:i386 1.0.3-1
libmnl0:i386 1.0.3-3
libnm-glib-vpn1:i386 0.9.8.0-0ubuntu22
libnm-gtk0:i386 0.9.8.0-1ubuntu5.1
libnm-glib4:i386 0.9.8.0-0ubuntu22
libnm-gtk-common:all 0.9.8.0-1ubuntu5.1
libnm-util2:i386 0.9.8.0-0ubuntu22
wpasupplicant:i386 1.0-3ubuntu2.1
libreadline5:i386 5.2+dfsg-2

有人能帮我解释一下如何手动重新安装它们吗按正确的顺序?我猜如果我从正确的选项开始(DNS、网络管理器、wpasupplicant),我的无线连接应该可以恢复并运行,这样剩下的操作在命令行中完成起来可能会更容易一些。我确实尝试在 Google 上搜索了一下以找到解决方案,但我想我的问题比较独特。

需要明确的是,wattOS 运行良好,我可以使用 USB 记忆棒获取特定 PC 上的软件包,只是由于删除了软件包导致网络中断,所以我可以使用 apt-get 来完成。

也许有人还可以向我解释如何安装通过 USB 驱动器“导入”的软件包。我猜 pcmanfm 会打开文件夹,然后说“在终端中打开当前文件夹”,然后用 dpkg 施展一些魔法,对吗?

答案1

最安全的修复方法是:

  1. 从以下位置下载所有软件包packages.ubuntu.com
  2. 使用以下命令安装它们:

    sudo dpkg -i NAME_OF_THE_PACKAGE

  3. 如果不幸缺少某个软件包,请下载该软件包并从步骤 2 重新启动。


1. 下载所有软件包(点击i386每页末尾)

2. 复制软件包到你的主目录中的一个新目录(例如~/packages

3.打开终端(CTRL-ALT-T)并转到包含包的目录:

cd ~/packages

4. 安装它们使用此命令(它是正确的顺序): 注意:*将自动被正确的名称替换。

sudo dkpg -i limbn-util2* libnm-glib-vpn1* libnm-glib4* libnm-gtk-common* libnm-gtk0* libmnl0* libnetfilter-conntrack3* dnsmasq-base* iputils-arping* libgnome-bluetooth11* libreadline5* wpasupplicant* ubuntu-minimal* network-manager* network-manager-gnome*

5. 运行 apt-get检查是否已安装。:

sudo apt-get update

如果系统询问,您可能必须执行此命令:

sudo apt-get install -f

6. 重启电脑并尝试连接。

7. 如果您已连接,运行升级命令来更新您的系统:

sudo apt-get update && sudo apt-get upgrade

我怎么知道正确的顺序?

  • 列出所需软件包的清单。
  • package.ubuntu.com
  • 找到您正在寻找的包裹,保持页面打开。
  • 查看每个包的依赖关系,并打开列表中所有包的网页。
  • 使用文档(或您的大脑)来了解必须在需要它们的包之前安装依赖项。
  • 从那里,使用你的逻辑推断出正确的顺序:每个依赖项都必须在它们所依赖的包之前安装,即使多个包只需要一个依赖项。依赖项只需安装一次,然后对所有需要它的包都有效。=> 这意味着您从安装列表中不需要任何其他包的依赖项开始,然后逐步进行,直到安装所有包。

答案2

或者你可以这样做:

apt-get download ubuntu-minimal:i386=1.307 network-manager-gnome:i386=0.9.8.0-1ubuntu5.1 \
network-manager:i386=0.9.8.0-0ubuntu22 dnsmasq-base:i386=2.66-4ubuntu1 \
iputils-arping:i386=3:20121221-1ubuntu1 libgnome-bluetooth11:i386=3.8.1-2ubuntu2 \
libnetfilter-conntrack3:i386=1.0.3-1 libmnl0:i386=1.0.3-3 \
libnm-glib-vpn1:i386=0.9.8.0-0ubuntu22 libnm-gtk0:i386=0.9.8.0-1ubuntu5.1 \
libnm-glib4:i386=0.9.8.0-0ubuntu22 libnm-gtk-common=0.9.8.0-1ubuntu5.1 \
libnm-util2:i386=0.9.8.0-0ubuntu22 wpasupplicant:i386=1.0-3ubuntu2.1 libreadline5:i386=5.2+dfsg-2

然后移动或复制文件并使用 进行安装sudo dpkg -i *.deb

答案3

非常感谢 Braiam 和 MrVaykadji 以及其他所有人,感谢你们快速而明确的帮助来解决这个问题!!

为了让这篇文章对遇到类似问题的其他 Linux 用户也有用,我决定在这里写下我如何解决这个问题。

首先,在使用“purge”命令意识到确实出了问题后,我检查了 /var/log/dpkg.log 。我复制了日志文件,并查看了复制的文件,并按照文件中记录的时间和日期进行查看。我删除了日志文件中我搞砸事情的日期/时间之前的所有条目(确保您在复制的日志文件中!!)然后我搜索了“remove”,结果它突出显示了所有被错误删除的软件包前面的“remove”条目。我复制了软件包的名称。

在 Braiam 和 MrVaykadji 的帮助下,我从 packages.ubuntu.com 下载了所有缺失/删除​​的软件包。实际上,我刚刚才知道,我可以通过按 来将文本粘贴到我的 eterm 终端中,因此,快速获取所有软件包的最简单方法是创建一个文本文件,在其中复制所有缺失的软件包并用空格分隔。在文本文件中以“apt-get download” -> “apt-get download example-package:i386=1.307 another-package:i386=1.307”开头(如果发现软件包将被下载到当前文件夹,则使用命令 apt-get --help,因此请确保您的终端位于要下载/保存软件包的文件夹中,在我的情况下是 USB 记忆棒)

我将 USB 棒插入“已清除”的 PC,进入正确的文件夹,选择“工具 > 在终端中打开当前文件夹”,然后在终端中,我使用 shift+insert 将“sudo dpkg -i ”从我存储在 USB 棒上的文本文件中粘贴过来(由于我的网络出现故障,所以这在我的情况下是必要的)。

这解决了:)我确实必须获取一些附加包并使用命令“dpkg --configure”重新配置一些文件,但完成后一切又正常工作了:)

再次感谢 Braiam 和 MrVaykadji!!:)

相关内容