Пока я устанавливал MRTG, я по ошибке удалил /usr/lib/*.so.*
и/usr/lib/*.so
Теперь я не могу загрузить свою систему, она застревает на заставке, и когда я нажимаю кнопку PAGEDOWN, я вижу, что некоторые вещи не загружаются.
Тем не менее, DHCP и WebMin работают, и из Webmin я могу видеть системные журналы, которые говорят мне, что чашки не загружаются, потому что libpipeline.so.1
отсутствует и некоторые другие.
Мой компьютер работает 11.04
/bin
и/etc
так в прошломОтветы:
Поскольку вы только удалили,
/usr/lib/*
но нет/lib/*
, вы, вероятно, можете восстановить. Я думаю, что все программы, которые вам необходимы для восстановления вашей системы, используют только библиотеки/usr/lib
.Загрузите текстовое приглашение для входа. Если обычная загрузка не дает
login:
подсказки в текстовом режиме, загрузитесь только с минимальным количеством служб. Нажмите и удерживайте, Shiftкогда ваш компьютер начнет показывать подсказку Grub; вам нужно нажать клавишу после того, как BIOS инициализирует клавиатуру, но до загрузки Grub, которая на некоторых машинах оставляет только небольшое временное окно и может потребовать нескольких попыток. В приглашении Grub нажмите, Downчтобы выделить загрузочную запись однопользовательского режима и загрузите ее.Когда у вас есть командная строка, запустите,
apt-get --reinstall install PACKAGE1 PACKAGE2 …
чтобы переустановить пакеты, в которых есть файлы/usr/lib
. Вы можете запустить этот фрагмент оболочки, чтобы получить список имен пакетов для переустановки:Некоторые сценарии установки пакетов могут требовать наличия библиотек из других пакетов, поэтому вам может потребоваться запустить переустановки в определенном порядке. Если вы обнаружите, что установочные скрипты пакета пытаются использовать определенную программу, вы можете узнать, с какими библиотеками нужна эта программа
ldd
. Например, это означает, что в python отсутствуют три библиотеки, которые нужно переустановить:dpkg -S /usr/lib/libz.so.1
показывает, что этот файлzlib1g
и так далее.Если вы обнаружите, что
apt-get
не можете загрузить пакеты, сначала загрузите несколько пакетов ключей с live CD.zlib1g
иlibssl0.9.8
два пакета, которые вам, скорее всего, понадобятся на ранней стадии.источник
Вы можете потратить неделю на то, чтобы найти все, чего не хватает, или вы можете потратить час, просто выполнив переустановку с компакт-диска, а затем вернув все свои старые пакеты обратно.
Я бы посоветовал вам сначала загрузиться в среду LiveCD, чтобы сначала получить резервные копии (скопировать их на внешний USB-диск или в другой раздел), а затем начать снова.
источник
/usr/lib
откровенно говоря, содержал общие библиотеки всего, кроме критически важного для запуска программного обеспечения (это то, что входит/lib/
и вещи, которые вы не устанавливали через менеджер пакетов (обычно/usr/local/lib
).Короткая версия, вы только что подключили свою систему.
Теперь, если у вас все еще
/var/cache/apt/archives
полно вещей, с небольшой рассудительной магией, вы можете спасти ситуацию.Проверьте, содержит ли он архивы для следующих пакетов:
Эти пакеты содержат библиотеки, в
/usr/lib
которыхaptitude
требуется работать. Если вы можете найти в них пакеты,/var/cache/apt/archives
вы можете переустановить их вручнуюdpkg -i <packagename
, и после того, как все они будут установлены, aptitude сможет запускаться.Затем, выполнив команду,
aptitude reinstall ~i
вы будете принудительно переустанавливать каждый пакет, который уже был установлен, что, как мы надеемся, должно восстановить вашу систему. Я не могу дать абсолютных гарантий, потому что нанесенный вами ущерб в данном случае действительно впечатляет ...источник
Я испытал бы желание загрузиться с live-CD Ubuntu 11.04 и попытаться скопировать недостающие файлы обратно.
Прежде чем что-либо делать, убедитесь, что у вас есть хорошие резервные копии любых пользовательских файлов данных. Если нет, я бы загрузил live-CD, смонтировал жесткий диск только для чтения и сделал резервные копии как можно скорее.
источник
Когда я делал что-то подобное, мне посчастливилось понять, прежде чем пытаться перезагрузить компьютер. На данный момент ваша система по-прежнему будет в основном работать. Мой подход состоял в том, чтобы создать виртуальную коробку с той же версией ОС и скопировать отсутствующие файлы из нее. если вы разрешите ssh доступ в гостевой виртуальной машине, вы можете использовать rsync из терминала в вашей основной системе, чтобы загружать только отсутствующие файлы и ссылки. В моем случае было недостаточно файлов, чтобы было проще / безопаснее копировать вручную с помощью scp, поэтому следующее не проверено (!)
-a - режим архива (рекурсивный, копирует символические ссылки и атрибуты, включая метки времени, разрешения и т. д.)
-u пропускает, если конечная копия новее
-v многословен
источник