Я использую Ubuntu 12.04.1 LTS i686 на VirtulBox. Каждый раз, когда я проверяю обновления, появляется новое ядро Linux. Если я устанавливаю новое ядро, мне нужно снова установить Virtulbox Guest Additions и перезагрузить сервер. Я не хочу делать это каждую неделю. Я знаю, что могу вручную снять флажки с пакетов в диспетчере обновлений, но есть ли способ автоматически пропустить обновление ядра? Я нашел ответ здесь, но это для Ubuntu 10. Спасибо.
APT (Усовершенствованный Упаковочный Инструмент) является системой, которую использование Ubuntu для управления всем программным обеспечением установило в системе. Это позволяет Вам “pin” пакет к определенной версии, так, чтобы это won’t быть обновленным когда Вы выполнения Менеджера обновлений.
Для прикрепления пакетов ядра сначала необходимо определить, каково версия ядро. Один способ сделать это должно открыть Synaptic Package Manager in System> Administration.
Тип в “linux-generic” в Быстром поле искомого текста и хите входит.
Обращают внимание на число, перечисленное в столбце “Installed Version”. We’ll используют его на следующем шаге.
Затем, мы должны отредактировать файл/etc/apt/preferences. Откройте его путем нажатия Alt+F2 для перевода в рабочее состояние Окна приложения Выполнения и ввода в:
gksudo gedit /etc/apt/preferences
Это откроет gedit окно. Скорее всего, окно будет пробелом, если you’ve, играемый вокруг с APT прежде.
В окне, введите в следующем, заменив номер версии номером версии, который Вы нашли в Синаптическом Диспетчере пакетов.
Package: linux-generic linux-headers-generic linux-image-generic linux-restricted-modules-generic
Pin: version <insert version here>
Pin-Priority: 1001
Сохранили файл и закрывают gedit. При открытии Update Manager необходимо видеть, что обновления ядра Linux теперь скрыты!
Помнят название пакета Вашего ядра сверху.
Откройте терминал и работайте:
sudo -s
И хит входят .
Вводят Ваш пароль для sudo:
echo kernel_package_name hold | dpkg --set-selections
Замена kernel_package_name
с названием ядра Вы хотите прикрепить.
Теперь выполненный:
sudo apt-get update && sudo apt-get upgrade
Открывают Замену терминала
sudo -s
echo kernel_package install | dpkg --set-selections
kernel_package с пакетом, который Вы хотите прикрепить.
Теперь выполненный:
sudo apt-get update && sudo apt-get upgrade
, Что Вы пытаетесь сделать, называют, прикрепляя. Источники, которые я дал Вам выше, имеют основы на том, что необходимо сделать для выполнения задач в руке.
В одной строке это:
echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections
Это установит состояние изображения ядра от , установка к содержит и таким образом предотвратит обновления.
Острота Christoph не принимает дополнительный пакет во внимание (например, linux-image-extra-3.13.0-45-generic). Скорее используйте этого:
for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i hold | dpkg --set-selections; done
В предложении superlexx's отношения: та строка пропустит пакет "заголовков":
dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic
Так как насчет того, чтобы просто использовать следующее:
dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2}'
linux-headers-3.13.0-48-generic
linux-image-3.13.0-48-generic
linux-image-extra-3.13.0-48-generic
Это производит чистку meta пакетов ядра, которые включают обновления ядра:
sudo apt purge $(apt-cache rdepends -i --installed linux-{headers,image}-$(uname -r)|awk '!/[0-9]/ && /^[ ]/{print $1}')
(Если Вы только что обновили ядро, необходимо перезагрузить сначала с новым ядром, или найти последний выпуск ядра и использовать его в вышеупомянутом вместо "$ (uname-r)".)
рекомендуется установить обновления ядер хотя, так как они - главным образом обновления системы защиты.
На Ubuntu 16.04.1 следующие работы кода
for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i hold | sudo dpkg --set-selections; done
улучшения кода Superlexx, эти sudo
добавляется
dpkg -l | grep linux-image
, Вы найдете:
привет linux-image-4.4.0-34-generic...
привет linux-image-extra-4.4.0-34-generic...
примечание, которое тег теперь читает hi
, не ii
для удаления контакта
for i in $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}'); do echo $i install | sudo dpkg --set-selections; done
Более короткая версия: (Замена "содержит" с "установкой" для удаления контакта)
dpkg -l "*$(uname -r)*" | grep kernel | awk '{print $2,"hold"}' | sudo dpkg --set-selections
Для наблюдения состояния всех изображений ядра и заголовков, работайте:
dpkg --get-selections | grep "linux-"