Сервера обновления для линукса

🤟 Как настроить автоматическое обновление на Ubuntu Linux 18.04

Как настроить автоматические обновления для сервера Ubuntu Linux 18.04 LTS «Bionic Beaver»?

Безопасность сервера Linux действительно важная задача для системных администраторов.

Одним из наиболее фундаментальных способов обеспечения безопасности сервера является своевременная установка обновлений безопасности для исправления уязвимостей.

Вам необходимо установить пакет автоматических обновлений.

Он автоматически установит обновленное программное обеспечение, включая обновления безопасности.

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

Автоматические обновления для Ubuntu Linux

Обновите сервер, запустив:

sudo apt update && sudo apt upgrade

Установите автоматические обновления в Ubuntu. Введите следующую команду apt

sudo apt install unattended-upgrades apt-listchanges bsd-mailx

Включите автоматические обновления безопасности, запустив:

sudo dpkg-reconfigure -plow unattended-upgrades

Настройте автоматические обновления, введите:

sudo vi /etc/apt/apt.conf.d/50unattended-upgrades

Настройте идентификатор оповещения по электронной почте:

Автоматически перезагружать Ubuntu без подтверждения обновлений ядра:

Наконец, отредактируйте файл /etc/apt/listchanges.conf и установите идентификатор электронной почты:

Сохраните и закройте файл.

Убедитесь, что это работает, выполнив следующую команду:

sudo unattended-upgrades —dry-run

Просмотр журналов автоматического обновления

Теперь, когда вы настроили автоматическое обновление на Ubuntu Server 18.04 LTS.

Пришло время посмотреть логи.

Следовательно, используйте команду grep, команду cat или несколько команд / egrep:

sudo cat /var/log/unattended-upgrades/unattended-upgrades.log
sudo tail -f /var/log/unattended-upgrades/unattended-upgrades.log
sudo grep ‘linux-image’ /var/log/unattended-upgrades/unattended-upgrades.log

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

Заключение

Вы узнали, как настроить автоматические обновления для вашего сервера на основе Ubuntu Linux.

Это самый простой способ защитить ваш сервер от уязвимостей.

Этот метод также полезен при администрировании нескольких серверов.

Обновление системы вручную и применение исправлений может занять очень много времени.

Однако для большого количества серверов / виртуальных машин я бы порекомендовал что-то вроде Ansible.

Источник

Apt-cacher как корпоративный сервер обновлений для Ubuntu/Kubuntu/*buntu

Замена apt-mirror`у

В чем плюсы apt-cacher`a перед apt-mirror`ом?

Во-первых, в экономии трафика. Зачем качать один и тот же пакет несколько раз, если его уже скачал ваш коллега? Таким образом экономия трафика растет пропорционально количеству народу в конторе использующих *buntu.
Во-вторых, в экономии места на ЖД сервера, на котором установлен apt-cacher. Ведь зачем хранить 22 Гб пакетов на ЖД, если из них используются максимум 10Гб?
В-третьих, в скорости получения обновлений. Сколько раз вы обновляете свое зеркало обновлений? 1 раз в день? Apt-cacher позволяет получать обновления по мере их появления на офф. зеркале. Когда пользователь делает запрос на обновление(apt-get update) apt-caсher лезет на офф. зеркало проверить, нет ли обновлений того что у него лежит в кеше.
Безусловно у apt-cacher есть и минусы.
Первый минус — apt-cacher распределяет закешированные файлы по своей структуре, отличной от структуры debian-репозиториев. Но эту проблему можно решить, если вам важно сохранить структуры репозитория, это описано ниже.
Второй минус — необходимо наличие Веб-сервера Apache. Тут, к сожалению так просто проблему не решить, но я не думаю, что это существенная проблема 🙂

Читайте также:  San francisco шрифт для windows

Установка и настройка apt-cacher`a

Сама установка довольно банальна для debian-пакетов
sudo apt-get install apt-cacher

Создадим папку для хранения кэша(т.е. самих пакетов) и назначим ей права
sudo mkdir /var/cache/apt-cacher
sudo chown www-data:www-data /var/cache/apt-cacher/*

Вы можете создать папку в любом месте
под юзером и группой www-data будет запускаться наш apt-cacher, так же под ним надо будет запускать Apache.

С настройкой немного сложнее, разбирать настройку самого apt-cacher`a, будем на примере.
Откроем для редактирования файл /etc/apt-cacher/apt-cacher.conf:
sudo nano /etc/apt-cacher/apt-cacher.conf

Рассмотрим пример конф. файла:
cache_dir=/var/cache/apt-cacher #директория которую мы создали и в котрой будет храниться кэш.
admin_email=root@localhost # мыло админа 🙂
daemon_port=9999 #порт на котором будет висеть наш apt-cacher
group=www-data #группа под которой будет запускаться наш apt-cacher
user=www-data #юзер под которой будет запускаться наш apt-cacher

allowed_hosts=* #хосты доступ с которых разрешен на наш сервер(по-умолчанию разрешено всем)
denied_hosts= #соответственно запрещен.

generate_reports=1 # раз в сутки будут генерироваться отчеты об использовании apt-cacher`a(1-генерить, 0 — нет)

clean_cache=1 #Очистка кэша раз в сутки,
offline_mode=0 #Если 0, то с apt-cacher будет тянуть обновления с офф. сервера, если 1, то раздавать только то что у него в кэше
logdir=/var/log/apt-cacher #папка в которой будут храниться логи доступа к apt-cacher`у
expire_hours=0 # apt-cacher может работать в двух режимах. В первом режиме сервер будет сравнивать expire_hours со временем последнего обновления пакета, и если оно становится меньше, то искать на офф. зеркале обновление для этого пакета, Во-втором режиме сервер будет сравнивать напрямую с офф.сервером, но в этом случае бОльшая вероятность рассинхронизации данных кэша и индексных файлов. Я всегда использую второй вариант, т.к. Для меня важнее получить вовремя обновление. 0 — Второй режим, все что больше 0 — то часы первого режима.
http_proxy= #адрес вашего прокси-сервера(если он у вас есть)
use_proxy=1 #Использовать(1) или нет(0) прокси.
http_proxy_auth= #Авторизация на прокси(формат: user:password)
use_proxy_auth= # Использовать ли авторизацию? (1-да, 0-нет)
limit=0 #Ограничитель скорости. 0 — нет ограничений. 250K — 250кбит/с, 2m — 2мбит/с
debug=0 #Уровень отладки. 0 — маленький лог файл, 1 — большой.
path_map = ubuntu archive.ubuntu.com/ubuntu ; canonical archive.canonical.com/ubuntu ; medibuntu packages.medibuntu.org/ ; #Самый интересный параметр. Настройка зеркал обновления, т.е. Откуда будут тянуться обновления.

Думаю с настройкой самого apt-cacher`a все(ну или почти все) ясно.
Теперь приступим к настройке Apache. Процесс настройки самого Apache я описывать не буду, в Сети много хороших руководств. Для работы всего этого должен быть установлен Perl и включен ExecCGI. Пример моего конфига(файл: /etc/apt-cacher/apache.conf
Alias /apt-cacher /usr/share/apt-cacher/apt-cacher.pl

Options ExecCGI
AddHandler cgi-script .pl
AllowOverride None
order allow,deny
allow from all

Вот. Настройка конф. файлов закончена. Теперь, думаю, самое время приступить к настройке рабочих станций, но для начала опишу как все-таки конвертнуть то, что было в кэше apt-mirror`а в apt-cacher.

Apt-mirror > apt-cacher

У apt-cacher`a есть perl скрипт для конвертации пакетов в формат apt-cacher`a, имя ему apt-cacher-import.pl, и лежит он в /usr/share/apt-cacher. Пользоваться им следующим образом:
/usr/share/apt-cacher/apt-cacher-import.pl -r -c /etc/apt-cacher/apt-cacher.conf /var/my_repos

Читайте также:  Canon l11121e драйвер mac os

-r — рекурсивный обход каталога
-c — не обязательный параметр, в котором указывается путь к конф. файлу.
/var/my_repos — директория к репозиторию формата apt-mirror(обычный дебиановский формат репозитория).

В результате этой команды, в папку /var/cache/apt-cacher будут скопированы и переведены в нужный формат все пакеты, которые будут найдены в /var/my_repos
Если вам необходимо оставить дебиановский репозиторий, при этом чтобы репозиторий apt-cacher`a не занимал дополнительного места, к команде добавьте -s, тогда скрипт просто сделает сим-линки на пакеты. НО! Если вы после этого удалите дебиановский репозиторий, то пакеты для apt-cacher`a так же будут не доступны(это же обычные сим-линки)
Если же вы использовали apt-proxy, то у apt-cacher`a тоже имеется скрипт для перевода его репозитория в свой. Скрипт лежит: /usr/share/apt-cacher/apt-cacher/apt-proxy-to-apt-cacher.pl.

Запуск демона и настройка клиентских машин.

Запустить сервер как обычно просто:
sudo /etc/init.d/apt-cacher start

Если вы не допустили синтаксических и иных ошибок в конфигурациях apache и apt-cacher`a, то сервер радостно запуститься, о чем сообщит вам не менее радостным сообщением [OK], если же произошла ошибка, то сервер сделает грустную гримасу и сообщит [FAIL]. Тогда вам придется все перечитать заново и возможно немного по`google`ить.
Чтобы проверить запуск можно зайти на localserver:9999 (где localserver — сервер на котором запущен apt-cacher).

Настройка клиентов

Собственно нужно всего лишь добавить 1 строку(и закоментировать остальные) в файл /etc/apt/sources.list:
deb http://localserver:9999/ubuntu intrepid multiverse restricted main universe

Тут все как и в обыном репозитории, указываете что вам нужно обновлять, какой дистрибутив и т.п. Localserver — это сервер на котором запущен apt-cacher.

Если вы включили статистику, то её можно посмотреть localserver:9999/reports

Источник

Централизованная система обновления пакетов в Ubuntu

Что делать, если аналоги платные или не адаптированы под наши условия? Конечно, писать самому.

Условие:

50 удаленных клиентских станций, работающих на Ubuntu Desktop (10.04-12.10).

Задача:
Варианты решения:
  • Landscape – Отлично, но платно.
  • Spacewalk – Только RHEL и ему подобные.
  • Собственная разработка – этот вариант как раз для нас.

Поскольку мои знания ограничиваются одним языком программирования – bash, реализация будет выполнена именно на нем.
Что нам потребуется:

  • ssh-server на клиентских станциях.
  • Общий пользователь для администрирования.
  • Linux сервер (программа expect должна быть установлена).
  • Сетевая шара (я использовал nfs).

Как будет работать:
ssh adm@IP -> сбор нужной информации -> запись в лог на сервер -> exit.

Как выглядит на практике:

При запуске программы отображается информация о пользователях и доступных пакетах для обновления. Имеется возможность ручного управления через меню. P.s реальные имена и IP заменены в целях анонимности. Далее показан пример выполнения первого пункта:

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

Реализация:
/root/uuman – корневая папка программы.
../uuman/log – папка с лог файлами (она же сетевая шара).
../../log/.menu_log – скрытая папка с краткой информацией о удаленной машине.

Как пользоваться:
Если Вы использовали свои пути, поправьте следующие переменные в uuman.sh:

Скрипт setup установит необходимые пакеты для работы программы на клиентских станциях. Чтобы использовать скрипт, в файле uuman.sh закомментируйте строку:
И раскомментируйте:

Автоматический режим:
$WORKD/uuman.sh check — чек клиентских станций из файла ip.txt на доступность обновлений.
$WORKD/uuman.sh update — обновление клиентских станций, доступных из файла ip.txt.

Читайте также:  Windows 10 видеокарта geforce 8600

Мы получаем клиент-серверную систему позволяющую в автоматическом или ручном режиме получать, хранить и обрабатывать информацию об актуальности установленных программ, пакетов безопасности и при необходимости производить обновление на клиентских станциях под управлением Ubuntu Linux.

UPD:
Авторизация теперь по ssh-key.
Генерируем ключ

С помощью файла setup, размещаем его на клиентских станциях.

Источник

Легкое обновление Linux

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

В этой статье мы рассмотрим как выполнять обновление Linux, а именно Ubuntu и Debian автоматически с помощью утилиты ucaresystem-core. Эта утилита сама стоит списки пакетов для обновления, обновляет всё необходимое, а также удаляет старые ядра и больше не нужные пакеты.

Установка ucaresystem-core

Первое что нужно сделать — это установить ucaresystem-core. Для этого можно использовать PPA репозиторий:

sudo add-apt-repository ppa:utappia/stable
sudo apt update

Затем установите саму программу:

sudo apt install ucaresystem-core

После установки программа готова к работе.

Обновление Linux в ucaresystem-core

Для запуска обновления просто выполните в терминале:

Сначала инструмент предупредит вас, что обновление пакетов linux начнется через 5 секунд. Затем начнется обновление списков пакетов, и непосредственно обновление системы. Во время работы утилита не требует каких-либо действий от пользователя, так что вы можете продолжить заниматься своими делами. Длительность обновления будет зависеть от количества пакетов, которые необходимо обновить, скорости вашей системы и скорости интернет соединения.

Единственное что может потребоваться — это перезагрузка компьютера в случае обновления ядра. Чтобы посмотреть что уже было обновлено можете просто перейти вверх вывода:

Если возможности листать вывод утилиты нет, то можно посмотреть содержимое лога /var/log/dpkg.log. Здесь будет сохранена вся информация об обновленных пакетах.

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

Автоматизация обновления Ubuntu

Поскольку утилите не нужен ввод пользователя чтобы обновить Linux, то обновление программ linux легко автоматизировать с помощью cron. Допустим, вы хотите запускать ucaresystem-core каждую ночь, в полночь. Для этого можно добавить такую инструкцию в crontab:

0 0 * * * /usr/bin/ucaresystem-core

После этого закройте файл. Команда будет автоматически выполняться ровно в полночь. А из лога dpkg вы сможете увидеть результат ее работы. Если же вы хотите использовать другое время, посмотрите статью как добавить команду cron.

Выводы

Вам будет трудно найти более простой способ держать свои системы Linux обновленными и без лишних пакетов чем ucaresystem-core. Конечно, если вы предпочитаете все делать вручную, это более надежный метод. Однако, если у вас не всегда есть время, ucaresystem-core может стать единственным отличным решением. Как часто вы выполняете обновление linux через терминал или в графическом интерфейсе? И каким способом? Напишите в комментариях!

Источник

Оцените статью