APT заклинило из-за несоответствия версий ядра

Я создал пользовательские символы XKB, отображающие файл, чтобы заставить сингальскую установку работать с расположением Wijesekara. Вся информация, которую необходимо знать об использовании его, находится в репозитории концентратора мерзавца.

Это не может быть лучшим решением. Но служит цели. https://github.com/para-d/si-wijesekara-keyboard

18
задан 14.04.2017, 01:23

3 ответа

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

Я не мог заставить apt-get делать что-либо, так что традиционные советы по полной / загрузке не сработали. Я вручную удалил старые данные ядра. Не удаляйте текущее работающее ядро, проверьте с помощью 'uname -a'. Я удалил с помощью команды 'sudo rm /boot/-3.2.0- average23,24,25,26 enj-.

Затем мне пришлось запустить 'sudo apt-get remove linux-server' и 'sudo apt-get install linux-server', чтобы исправить беспорядок из-за 1/2 установленного вопроса ядра. После всего этого я мог наконец-то «sudo apt-get upgrade» и снова начать работать.

Для удобства я добавил «sudo update-grub» и «sudo apt-get autoremove», чтобы убедиться, что меню загрузки было точным, а другие пакеты были очищены.

0
ответ дан 20.04.2019, 13:48
  • 1
    Я выписал хороший бит больше на этом процессе здесь: askubuntu.com/a/430944/47461 Как подрядчик я часто сталкиваюсь с этой проблемой. – Tiw 09.10.2015, 08:37

Вы запустили sudo apt-get update, и проблема все еще возникает. Таким образом, вы, вероятно, просто имеете более новые версии linux-image-server и linux-headers-server, чем любой пакет linux-server, доступный из ваших сконфигурированных источников программного обеспечения .

Это может произойти в течение очень короткого времени, даже если вы используете центральный сервер (или дольше, если возникла проблема с его обновлением). Насколько я понимаю, это может произойти в течение более длительных периодов времени, если вы используете зеркало. Это не означает, что вам не следует использовать зеркало - центральный сервер (http://archive.ubuntu.com) обычно работает очень медленно, а национальные, региональные или другие зеркала работают намного быстрее.

Поиск пакета показывает, что для Ubuntu 12.04 существует версия 3.2.0.37.45 из linux-image-server и linux-server . Так что это, вероятно, связано с вашим зеркалом.

Вот несколько альтернатив:

Ignore It

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

Это не проблема, если у вас нет последнего пакета linux-server, так как это метапакет , который не предоставляет никакого реального программного обеспечения. Он существует только для того, чтобы он мог перечислить три пакета как зависимости , гарантируя, что они остаются установленными:

У вас уже есть последние версии linux-headers-server и linux-image-server. Я предполагаю, что это 64-битная система, поэтому сообщение о linux-generic-pae не отображалось. Кажется, все в порядке.

Однако:

  • Если проблема заключается в , препятствующей обновлению и установке других пакетов работать (в отличие от , показывающего эти сообщения всякий раз, когда вы это делаете) но не мешая этому), тогда вам следует применить другое решение.
  • Вы также можете сделать это, если вам просто не нравится постоянно видеть эти сообщения и вы хотите от них избавиться.
  • Это немного странно, что вы не получаете этот пакет, даже если вы используете зеркало, которое немного отстает от основного сервера загрузки, потому что этот пакет также предоставляется http://security.ubuntu.com. Этот сервер всегда должен быть включен в /etc/apt/sources.list. Поэтому я рекомендую проверить, чтобы убедиться, что это включено. Возможно, вы захотите сделать резервную копию sources.list перед ее редактированием (sudo cp /etc/apt/sources.list /etc/apt/sources.list.old). Эта проблема также может быть следствием кэширования веб-прокси (если вы его используете) с устаревшими данными. (Решения, приведенные ниже, тоже будут обходить это.)

Переход на другой сервер загрузки

Я полагаю, вы работаете в системе Ubuntu Server и, вероятно, нет установить графический интерфейс Итак, смотрите:

После замены зеркала запустите: [1177 ]

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Если хотите, вы можете изменить свой сервер после обновления linux-server.

Вручную загрузите и установите файл пакета .deb

Вы можете вручную загрузить и установить файл .deb для последней версии метапакета linux-server в Ubuntu 12.04.

cd куда вы хотите скачать пакет.

Если это 64-битная система, запустите:

wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_amd64.deb

Если это 32-битная система, запустите вместо этого:

wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_i386.deb

(я получил оба эти ссылки на странице Launchpad для исходного пакета linux-meta в Ubuntu .)

Теперь (как для 64-битной, так и для 32-битной) выполните эту команду, чтобы установить пакет: [ 1184]

sudo dpkg -i linux-server_3.2.0.23.25_*.deb

(Или просто начните вводить имя пакета и используйте Tab для его завершения.)

Удалите пакет

, так как это метапакет Если у вас уже есть программное обеспечение, вы можете удалить пакет. Тогда вы больше не получите ошибку. Вы можете установить его позже, если хотите ( Вы можете периодически запускать apt-get update && apt-cache policy linux-server, чтобы увидеть, доступна ли новая версия).

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

Зависимости не будут немедленно удалены . Так что не имеет значения, какой из этих шагов вы делаете в первую очередь.

1. Удалите linux-server. ​​

Чтобы удалить linux-server, просто запустите:

sudo apt-get remove linux-server

2. Отметьте его зависимости как установленные вручную

Чтобы сообщить APT (менеджеру пакетов) о пакетах, которые вы намереваетесь установить, даже если не осталось ничего, что объявляет их зависимостью, пометьте их как установленные вручную.

Для этого выполните эту команду, если это 64-битная система:

sudo apt-mark manual linux-image-server linux-headers-server

Если это 32-битная система, запустите ее вместо:

sudo apt-mark manual linux-image-server linux-headers-server linux-generic-pae

(У вас должно быть apt-mark, но если вы этого не сделаете и не можете установить программное обеспечение, вы можете использовать apt-get install вместо apt-mark manual - при указании пакета для установки вручную он будет помечен как установленный вручную, даже если был уже установлено.)

Источник: Пометить пакет deb как использованный, поэтому он не рекомендуется для автоматического удаления
(В частности, Ответ Лекенштейна .)

0
ответ дан 20.04.2019, 13:48

В ситуации с Ubuntu 12.04 необходимо было вручную установить linux-headers-server и linux-server (как предложено выше - я бы там прокомментировал, но пока не имел этой привилегии), а затем apt -get удалить linux-headers-virtual, который больше не существует как 64-битный пакет для 12.04.

sudo wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-headers-server_3.2.0.64.76_amd64.deb

0
ответ дан 20.04.2019, 13:48

Теги

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