Удаленный libnl-3-200 по ошибке

Я пытался зафиксировать поврежденный пакет (libnl-route-3-200) в Ubuntu 16.04. По ошибке я сделал:

sudo apt-get remove libnl-3-200

И не понял важности Сетевой библиотеки.
Теперь, моя система Ubuntu не может соединиться с сетью.
Я получаю сообщение:

Сервисы сети системы не совместимы с этой версией Ubuntu.

Как я могу зафиксировать систему?

0
задан 28 August 2018 в 03:21

2 ответа

Кажется, что Вы все еще можете получить доступ к Интернету от некоторого другого устройства.

Мой совет в таком случае состоял бы в том, чтобы перейти к https://packages.ubuntu.com и искать желаемый пакет для желаемой версии человечности. В Вашем случае (принимающий amd64) это приводит к этой ссылке на загрузку.

Загрузите файл, (дополнительно, но рекомендуемый: проверьте цифровой отпечаток), и скопируйте его в свой компьютер некоторыми средствами (например, флеш-накопитель), Наконец для установки выполненного пакета

sudo dpkg -i libnl-3-200_3.2.27-1ubuntu0.16.04.1_amd64.deb

Пакет теперь вручную установлен, но я принимаю, как только обновление доступно, это будет заменено более новой версией из репозиториев.

1
ответ дан 28 October 2019 в 01:59

Если apt удаленный, что пакет, это также удалило бы все пакеты, которые зависят от него, который является большей проблемой.

Во-первых, я проверил бы /var/log/apt/history.log что на самом деле было удалено. Должен быть раздел около конца того файла с датой и временем, когда Вы назвали склонным, ее командная строка и какие пакеты были удалены:

$ cat /var/log/apt/history.log

Этот формат является немного раздражающим для работы с, так использование:

$ sed -e 's/ ([^)]*)//g' -e 's/, / /g' /var/log/apt/history.log

Это удаляет номера версий и запятые от файла журнала для более легкого copy&paste.

Для каждого из пакетов, перечисленных в том блоке под Remove: или Purge:, добавьте их к командной строке ①

# apt --print-uris install libnl-3-200

Это даст Вам список URL для загрузки. Обработайте этот список путем добавления

| sed -ne "/http/s/'\([^']*\)'.*/\1/p"

удалить кавычки вокруг URL и имени файла и контрольной суммы, и перенаправить это в файл. Полная командная строка должна выглядеть подобной

# apt --print-uris install libnl-3-200 | sed -ne "/http/s/'\([^']*\)'.*/\1/p" >urls.txt

но с набором больше пакетов.

Скопируйте тот файл на карту с интерфейсом USB, перейдите к другой машине и загрузите эти файлы, например, использование wget:

$ wget -i urls.txt

Заберите карту с интерфейсом USB к исходной машине, скопируйте .deb файлы к /var/cache/apt/archives/:

# cp *.deb /var/cache/apt/archives/

Затем установите путем выполнения склонный как прежде под ①, но без --print-uris опция. Это должно поднять файлы из каталога кэша и установить их.

1
ответ дан 28 October 2019 в 01:59

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

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