Случайно Удаленный/usr/lib / *.so.*

В то время как я устанавливал MRTG, по ошибке я удалил /usr/lib/*.so.* и /usr/lib/*.so

Я теперь неспособен к начальной загрузке своя система теперь, она застревает в экране-заставке и когда я нажимаю кнопку PAGEDOWN, я вижу, что существует несколько вещей, которым не удается загрузиться.

Однако DHCP и WebMin работают, и от Webmin I видят системные журналы, который говорит мне, что чашки не загружаются потому что libpipeline.so.1Отсутствует и несколько других.

Мой компьютер работает 11.04

8
задан 8 June 2011 в 03:39

5 ответов

Так как Вы только удалили /usr/lib/* и нет /lib/*, можно, вероятно, восстановиться. Я думаю все программы, которые критически необходимо восстановить система только пользуются библиотеками от /usr/lib.

Начальная загрузка к текстовому приглашению ко входу в систему. Если нормальная начальная загрузка не дает Вам a login: подсказка в текстовом режиме, загрузитесь только с минимальными сервисами. Нажмите и держите Сдвиг, когда Ваши запуски компьютера для показа Личинки запросят; необходимо нажать клавишу после того, как BIOS инициализировал клавиатуру, но прежде чем Личинка загружается, который на некоторых машинах оставляет только маленькое окно времени и может потребовать нескольких attemps. При подсказке Личинки придавите для выделения однопользовательской записи загрузки режима и начальной загрузки это.

После того как Вы имеете командную строку, работаете apt-get --reinstall install PACKAGE1 PACKAGE2 … переустановить пакеты, которые имеют файлы в /usr/lib. Можно выполнить этот отрывок оболочки, чтобы заставить список названий пакетов переустанавливать:

egrep -l '/usr/lib/[^/]*\.so\.' /var/lib/dpkg/info/a*.list |
sed -e 's!^/var/lib/dpkg/info/!!' -e 's!\.list$!!'

Некоторые сценарии установки пакета могут потребовать, чтобы библиотеки от других пакетов присутствовали, таким образом, Вы, возможно, должны выполнить переустановки в особом порядке. Если Вы находите, что сценарии установки пакета пытаются использовать конкретную программу, можно узнать, с какими библиотеками эта программа нужна ldd. Например, это указывает, что Python пропускает три библиотеки, которые необходимо переустановить:

$ ldd /usr/bin/python | grep 'not found'
    libssl.so.0.9.8 => not found
    libcrypto.so.0.9.8 => not found
    libz.so.1 => not found

dpkg -S /usr/lib/libz.so.1 показывает, что этот файл прибывает из zlib1g, и так далее.

Если Вы находите это apt-get не может загрузить пакеты, сначала загрузить несколько ключевых пакетов с живого CD. zlib1g и libssl0.9.8 два пакета, в которых Вы, очень вероятно, будете нуждаться вначале.

5
ответ дан 23 November 2019 в 05:25

Можно провести неделю, находя все, что это пропускает, или можно провести час, просто делающий переустанавливание с CD и затем возвращающий все старые пакеты.

Я предложил бы, чтобы Вы загрузились в среду LiveCD сначала для получения, резервные копии вещей сначала (скопируйте их во внешнюю Карту памяти или другой раздел), и затем запустите снова.

10
ответ дан 23 November 2019 в 05:25

/usr/lib содержавший общие библиотеки, откровенно говоря, все кроме критического по отношению к запуску программного обеспечения (это - то, что входит /lib/ и материал Вы не устанавливали через диспетчер пакетов (обычно /usr/local/lib ).

Короткая версия, Вы просто полили из шланга свою систему.

Теперь, если Вы все еще имеете /var/cache/apt/archives полный материала, с небольшим разумным magickery Вы смогли спасать ситуацию.

Проверьте, содержит ли это все еще архивы для следующих пакетов:

libxapian
libsigc++
apt
libcwidget
libsqlite
libboost-iostreams 

Те пакеты содержат библиотеки в /usr/lib это aptitude требует, чтобы работать, Если можно найти пакеты в /var/cache/apt/archives можно переустановить их вручную с dpkg -i <packagename, и после того как они все установлены, способность должна смочь работать.

Затем путем выполнения команды aptitude reinstall ~i Вы вызовете переустанавливание каждого пакета, который был уже установлен, который, надо надеяться, должен восстановить Вашу систему. Я не могу сделать абсолютные гарантии, потому что ущерб, который Вы нанесли, является действительно довольно захватывающим в этом случае...

3
ответ дан 23 November 2019 в 05:25

Я испытал бы желание загрузиться с живого CD Ubuntu 11.04 и попытаться скопировать недостающие файлы назад.

Прежде, чем сделать что-либо, проверьте, что у Вас есть хорошие резервные копии любых сгенерированных пользователями файлов данных. В противном случае я загрузился бы, живой CD монтируют жесткий диск, только для чтения, и делают резервные копии как можно скорее.

1
ответ дан 23 November 2019 в 05:25

Когда я сделал что-то подобное, мне повезло понять прежде, чем делать попытку перезагрузки. На данном этапе Ваша система будет все еще главным образом рабочей. Мой подход должен был создать virtualbox с той же версией ОС и скопировать недостающие файлы с этого. если Вы предоставляете ssh доступ в своего virtualbox гостя, можно использовать rsync от терминала в основной системе для впитывания только файлов и ссылок, которые отсутствуют. В моем случае были небольшое количество достаточно файлов, пропускающих это, было самым легким/самым безопасным скопировать вручную использование scp, таким образом, следующее не тестируется (!)

sudo rsync -avu user@guestVB:/usr/lib /usr/lib

- режим архивирования (рекурсивный, символьные ссылки копий и атрибуты включая метки времени, полномочия и т.д.)

- u пропускает, если целевая копия является более новой

- v является подробным

0
ответ дан 23 November 2019 в 05:25

Другие вопросы по тегам:

Похожие вопросы: