У меня есть vps, который выполняет solusVM. Я теперь пытаюсь установить рубиновые 1.9.2 в нем.
Я следую этому руководству:
После того, как я выполняю эту команду:
apt-get update
apt-get -y install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev
Я получил эту ошибку:
root@makserver:/usr/local/src/ruby-1.9.2-p0# apt-get -f install
Reading package lists... Done
Building dependency tree... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc6
Suggested packages:
glibc-doc
The following packages will be upgraded:
libc6
1 upgraded, 0 newly installed, 0 to remove and 80 not upgraded.
Need to get 0B/4252kB of archives.
After this operation, 4096B disk space will be freed.
Do you want to continue [Y/n]? y
debconf: apt-extracttemplates failed: Bad file descriptor
(Reading database ... 21594 files and directories currently installed.)
Preparing to replace libc6 2.11.1-0ubuntu7.2 (using .../libc6_2.11.1-0ubuntu7.8_amd64.deb) ...
open2: fork failed: Cannot allocate memory at /usr/share/perl5/Debconf/ConfModule.pm line 59
dpkg: error processing /var/cache/apt/archives/libc6_2.11.1-0ubuntu7.8_amd64.deb (--unpack):
subprocess new pre-installation script returned error exit status 12
Errors were encountered while processing:
/var/cache/apt/archives/libc6_2.11.1-0ubuntu7.8_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Кто-либо может сказать мне, как я могу исправить это?Спасибо.
В руководстве, с которым вы связаны, есть опечатки.
Первоначальные шаги должны быть:
sudo apt-get update
sudo apt-get install build-essential zlib1g zlib1g-dev libxml2 libxml2-dev libxslt-dev
sudo apt-get install git-core
sudo apt-get install curl wget
Я также убрал флаг -y
и добавил к командам префикс sudo, чтобы вы могли (и, вероятно, должны) запускать их со своим обычным (не-root) пользователь.
Я не вижу указанную вами команду, apt-get -f install
, нигде на этой странице. Необходимость использовать это обычно означает, что что-то уже сломано. Возможно, вам следует начать заново с самого начала, убедившись, что каждый шаг завершен.
Однако, я не думаю, что вам нужно делать что-либо из этого.
Пакет Ubuntu для ruby1.9.1 фактически предоставляет Ruby 1.9.2.
Если вы посмотрите на детали в выводе `apt-cache show ruby1.9.1, вы обнаружите, что версия, предоставленная в Ubuntu, на самом деле 1.9.2 .
Он указан как 1.9.1, поскольку сопровождающий Debian имеет в виду описание бинарной версии совместимости (1.9.1) вместо версии программного обеспечения Ruby (1.9.2).
См. Эту запись списка ошибок Debian для получения дополнительной информации.
Вот несколько фрагментов вывода apt-cache show ruby1.9.1
:
Package: ruby1.9.1
Version: 1.9.2.0-1
Filename: pool/universe/r/ruby1.9.1/ruby1.9.1_1.9.2.0-1_i386.deb
[...]
Description: Interpreter of object-oriented scripting language Ruby 1.9.2
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. [...]
This package provides version 1.9.2 series of Ruby, which is binary-compatible
with the 1.9.1 branch.