使用“清除”删除 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
最安全的修复方法是:
- 从以下位置下载所有软件包
packages.ubuntu.com
使用以下命令安装它们:
sudo dpkg -i NAME_OF_THE_PACKAGE
如果不幸缺少某个软件包,请下载该软件包并从步骤 2 重新启动。
1. 下载所有软件包(点击i386
每页末尾)
- http://packages.ubuntu.com/raring/wpasupplicant
- http://packages.ubuntu.com/raring/libmnl0
- http://packages.ubuntu.com/raring/libnm-gtk-common
- http://packages.ubuntu.com/raring/libnetfilter-conntrack3
- http://packages.ubuntu.com/raring/ubuntu-minimal
- http://packages.ubuntu.com/raring/network-manager
- http://packages.ubuntu.com/raring/network-manager-gnome
- http://packages.ubuntu.com/raring/dnsmasq-base
- http://packages.ubuntu.com/raring/iputils-arping
- http://packages.ubuntu.com/raring/libgnome-bluetooth11
- http://packages.ubuntu.com/raring/libnm-glib-vpn1
- http://packages.ubuntu.com/raring/libnm-gtk0
- http://packages.ubuntu.com/raring/libnm-glib4
- http://packages.ubuntu.com/raring/libnm-gtk-common
- http://packages.ubuntu.com/raring/libnm-util2
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!!:)