Вопрос или проблема
Я создаю файл оболочки для настройки Настройки>О программе>Обновления программного обеспечения>Обновления
Настройки, которые я хочу установить, следующие:
- Подписаться на: Только обновления безопасности
- Автоматически проверять наличие обновлений: Никогда
- Когда есть обновления безопасности: Показывать немедленно
- Когда есть другие обновления: Показывать раз в две недели
- Уведомлять меня о новой версии Ubuntu: Никогда
Я нашел некоторую информацию об этом, но она слишком старая, например, для версии 18. Как я могу настроить эти параметры из файла оболочки?
Ответ или решение
Для настройки параметров обновлений программного обеспечения в Ubuntu 22.04.05 LTS через shell-скрипт, вам необходимо изменить конфигурационные файлы, связанные с обновлениями. В этой инструкции мы подробно рассмотрим шаги, которые помогут вам задать нужные параметры.
Шаг 1: Подготовка окружения
Перед тем, как начать редактирование, создайте резервную копию текущих конфигурационных файлов. Это позволит вам вернуться к оригинальным настройкам в случае необходимости. Вы можете сделать это с помощью следующей команды:
sudo cp /etc/apt/apt.conf.d/20auto-upgrades /etc/apt/apt.conf.d/20auto-upgrades.bak
sudo cp /etc/update-manager/release-upgrades /etc/update-manager/release-upgrades.bak
Шаг 2: Редактирование файла 20auto-upgrades
Файл /etc/apt/apt.conf.d/20auto-upgrades
управляет автоматическим обновлением системы. Откройте этот файл с помощью текстового редактора, например nano
:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
Затем убедитесь, что он содержит следующие строки:
APT::Periodic::Update-Package-Lists "0"; // Для автоматической проверки обновлений
APT::Periodic::Unattended-Upgrade "1"; // Для автоматического обновления безопасности
Здесь 0
в первом параметре означает, что автоматическая проверка обновлений не будет проводиться.
Шаг 3: Настройка unattended-upgrades
Теперь откройте файл настроек unattended-upgrades
:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Адаптируйте следующие строки для настройки обновлений безопасности:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// Вы также можете добавить другие репозитории, если это необходимо
};
Шаг 4: Настройка уведомлений о новых версиях Ubuntu
Теперь отредактируйте файл /etc/update-manager/release-upgrades
:
sudo nano /etc/update-manager/release-upgrades
Здесь настройте параметры для игнорирования уведомлений о новых версиях:
Prompt=never
Шаг 5: Создание собственных скриптов
Если вы хотите объединить все настройки в одном shell-скрипте, создайте новый файл с расширением .sh
и откройте его в текстовом редакторе:
nano setup_updates.sh
Добавьте следующие строки в ваш скрипт:
#!/bin/bash
# Создание резервных копий
cp /etc/apt/apt.conf.d/20auto-upgrades /etc/apt/apt.conf.d/20auto-upgrades.bak
cp /etc/update-manager/release-upgrades /etc/update-manager/release-upgrades.bak
# Настройка автоматических обновлений
echo 'APT::Periodic::Update-Package-Lists "0";' | sudo tee /etc/apt/apt.conf.d/20auto-upgrades
echo 'APT::Periodic::Unattended-Upgrade "1";' | sudo tee -a /etc/apt/apt.conf.d/20auto-upgrades
# Настройка unattended upgrades
sudo tee /etc/apt/apt.conf.d/50unattended-upgrades > /dev/null <<EOL
Unattended-Upgrade::Allowed-Origins {
"\${distro_id}:\${distro_codename}-security";
};
EOL
# Настройка обновлений Ubuntu
echo 'Prompt=never' | sudo tee /etc/update-manager/release-upgrades
echo "Настройки обновлений программного обеспечения успешно обновлены."
Не забудьте сделать файл исполняемым:
chmod +x setup_updates.sh
Заключение
Этот скрипт позволит вам автоматизировать процесс настройки обновлений программного обеспечения в Ubuntu 22.04.05 LTS. Избегайте возможных ошибок путём тестирования скрипта в безопасной среде перед применением на рабочей системе. Таким образом, вы сможете контролировать процесс обновления, минимизируя использование ресурсов и обеспечивая защиту системы только актуальными обновлениями безопасности.
Пользуясь четвертым принципом FOREST, мы предлагаем лучший подход к самонастройке системы, минимизируя время на рутинные задачи, и обеспечивая более высокую безопасность.