由于输入错误,ubuntu 12.04 使用 apt-get 安装了大量不需要的数据包。如何恢复?

由于输入错误,ubuntu 12.04 使用 apt-get 安装了大量不需要的数据包。如何恢复?

在我的虚拟中ubuntu 12.04,我正在安装,但是错误地在和ruby2.3之间留了空格。ruby2.3

sudo apt-get install ruby 2.3

它安装了超过 9 GB 的软件包,其中包括多个内核。

该怎么办?我该如何恢复?如果我执行以下命令删除所有不需要的包会怎么样?

sudo apt-get --purge remove 2.3
sudo apt-get autoremove

此命令的副作用是什么?我的虚拟系统中有很多重要数据。那么我可以重新启动系统吗?

正如@Alex 所要求的,我在这里附上了的输出sudo dpkg -l |grep ruby

ii  liblocale-ruby1.8                                   2.0.5-2                                             pure ruby locale library
ii  libmemcache-client-ruby                             1.7.8-2                                             Ruby client library for memcached
ii  libmemcache-client-ruby1.8                          1.7.8-2                                             Ruby client library for memcached (Ruby 1.8)
ii  libruby                                             4.8                                                 Transitional package for libruby1.8
ii  libruby1.8                                          1.8.7.352-2ubuntu1.6                                Libraries necessary to run Ruby 1.8
ii  libtzinfo-ruby                                      0.3.19-1                                            Ruby library for transformations between time zones
ii  libtzinfo-ruby1.8                                   0.3.19-1                                            Ruby library for transformations between time zones (Ruby 1.8)
ii  rake                                                0.9.2.2-2                                           ruby make-like utility
ii  ruby                                                4.8                                                 Transitional package for ruby1.8
ii  ruby-actionmailer-2.3                               2.3.14-2                                            Framework for generation of customized email messages
ii  ruby-actionpack-2.3                                 2.3.14-2ubuntu0.12.04.1                             Controller and View framework used by Rails
ii  ruby-activerecord-2.3                               2.3.14-1ubuntu0.12.04.1                             ORD database interface for ruby
ii  ruby-activeresource-2.3                             2.3.14-1                                            Connects objects and REST web services
ii  ruby-activesupport-2.3                              2.3.14-2ubuntu0.12.04.2                             Support and utility classes used by the Rails 2.3 framework
ii  ruby-blankslate                                     2.1.2.4-2                                           Ruby library providing a class with no predefined methods
ii  ruby-builder                                        3.0.0-2                                             Ruby library to facilitate programatic generation of XML markup
ii  ruby-i18n                                           0.6.0-1                                             I18n and localization solution for Ruby
ii  ruby-mecab                                          0.98-5build1                                        mecab binding for Ruby language
ii  ruby-rack                                           1.3.5-1                                             Modular Ruby webserver interface
ii  ruby-rails-2.3                                      2.3.14-2                                            MVC ruby based framework geared for web application development
ii  ruby-rchardet                                       1.3-2                                               Character encoding auto-detection for Ruby
ii  ruby-rvm                                            1.6.9-0ubuntu2.1                                    easily install, manage and work with multiple ruby environments
ii  ruby-text-format                                    1.0.0-3                                             Ruby library for text formatting
ii  ruby-tmail                                          1.2.7.1-1build1                                     Mail class library for Ruby
ii  ruby1.8                                             1.8.7.352-2ubuntu1.6                                Interpreter of object-oriented scripting language Ruby 1.8
ii  ruby1.8-dev                                         1.8.7.352-2ubuntu1.6                                Header files for compiling extension modules for the Ruby 1.8
ii  rubygems                                            1.8.15-1ubuntu0.1                                   package management framework for Ruby libraries/applications

答案1

我在我的 Debian 中尝试过sudo apt-get -s install ruby 2.3(注意-s切换,即模拟,没有造成任何损害)。它匹配了很多数据包2.3字符串。我没事,但你肯定有很多你不想要的数据包。

我也运行了sudo apt-get -s --purge remove 2.3。它尝试删除每个数据包2.3字符串,无论是否已安装。不要这样做,因为这可能会删除您需要的数据包,除非您绝对确定在事故发生之前没有这样的数据包。

安全的做法是分析/var/log/apt/history.log/var/log/dpkg.log(至少这是我在 Debian 中看到的)。您将了解究竟发生了什么以及哪些东西被白白安装了。有了这些知识,您就可以挑选不需要的数据包并将其删除。

为了使其系统化并降低出错风险,我建议复制history.log并编辑副本。删除所有额外信息,保留数据包名称并使用构建命令行apt-get purge。仔细检查原始日志并运行结果命令(例如,将该文件制作为bash脚本并执行)。这样,您将避免容易出错的输入,并且不会错过任何不需要的数据包。

我还没有测试过。由于操作系统是虚拟的,你可能希望在应用我的解决方案之前先备份它,以防万一。不过我不确定您是否可以备份正在运行的系统。也许您的设置允许“冻结”它,克隆/快照/备份,然后恢复。

相关内容