Qui*_*ber 3 debian apt perl package-management
长话短说:我在尝试配置 CPAN 时犯了一个非常荒谬的愚蠢错误,导致我有两个半版本的 Perl,这两个版本都缺少重要的包。特别是,这些半版本没有使 apt-get 或 CPAN 正常工作所需的东西,这通常是我认为让软件包完成 Perl 的方式。
目前,我能想到的解决这个问题的唯一方法依赖于我碰巧有一个我没有弄乱过的 Debian 虚拟机(因此没有严重损坏的 Perl),所以理论上我可以删除这两个来自我的主机的 Perl 版本,然后从虚拟机粘贴工作 Perl 的副本。这种事情还有其他合理的方法吗?
Debian 中的 Perl 分为几个部分。其中一个部分,即perl-base包,是“基本”包集的一部分。Debian 将这些基本软件包定义为“将始终安装在 debian 系统上”。包可以假设它们将可用,即使它们没有声明任何形式的依赖项。如果您删除其中之一,那么事情可能会出现可怕的错误。出于这个原因,如果您尝试这样做,dpkg会大声抱怨并要求您通过字面输入短语Yes, do as I say!,标点符号和所有内容来确认您想破坏您的系统。永远不要这样做;您将使系统处于一种极不可能自行恢复的状态。
如果你这样做了,那么你的系统现在已经坏了。然而,不要绝望;仍然可以修复它。
dpkg -l perl-base以确认您确实缺少该perl-base软件包。如果该命令的输出以ii包含 的行开头perl-base,则这不是问题,您会遇到不同的问题。在这种情况下,请发布尝试运行某些 apt 命令时获得的确切错误消息。否则调试就成了一个水晶球问题。perl-base适用于您正在运行的任何版本的 debian的软件包。ar x perl-base*deb。这会在当前工作目录中创建三个文件:debian-binary,data.tar.gz,和control.tar.gz。注意:data.tar.gz 也可以是 data.tar.xz。如果您ar的系统上没有安装,您可以在不同的系统上运行此步骤,并将生成的文件复制到损坏的机器上(任何类似 UNIX 的机器都可以工作,不必是 debian 机器)。data压缩包里面包含这个包要放在文件系统中的文件。它解压到合适的位置用下面的命令:tar xvaf data.tar.* -C /。该-C /位是这里的重要组成部分; 它告诉tar相对于文件系统的根目录解压缩。dpkg还有apt将再次合作。但是,您还没有完成;在这一点上,文件在那里,但由于您“安装”的方式perl-base,dpkg会认为它不存在并且可能开始做奇怪的事情。出于这个原因,有必要通过运行“再次”安装它dpkg -i perl-base*deb。现在一切都应该解决了。下次,如果dpkg让您输入该短语,请做聪明的事情并说“不”;-)
| 归档时间: |
|
| 查看次数: |
5507 次 |
| 最近记录: |