Меню Рубрики

Linux команды для обновления

Как правильно обновить Ubuntu через терминал?

Вы зашли в терминал и ваша Ubuntu приветствует Вас сообщением, что могут быть обновлены пакеты. Какие команды надо набрать, чтобы обновить Ubuntu из командной строки?

Перед обновлением необходимо выполнить команду apt-get update , которая обновит информацию о пакетах, содержащихся в репозиториях, чтобы в процессе обновления получить самые последние версии пакетов. Далее существует 2 варианта обновления: dist-upgrade и upgrade . Предпочтительнее первый вариант.

Когда мне надо обновить убунту через терминал, я выполняю эти две команды:

dist-upgrade делает тоже самое, что upgrade плюс выполяет «умное» разрешения конфликтов версий пакетов. При конфликтах пакетов Ubuntu попытается обновите наиболее важные пакеты за счет менее важных. Поэтому команда dist-upgrade может установить дополнительные пакеты или удалить один из конфликтующих пакетов.

Команды upgrade и dist-upgrade не меняют версию системы, например с Ubuntu 13.04 до Ubuntu 13.10. Для этого есть отдельная команда.

На мой взгляд простым смертным имеет смысл апгрейдится только с LTS на LTS, то есть совершать переход между версиями с долгосрочной поддержкой, а выпускаются они раз в 2 года и поддерживаются 5 лет. Еще это обусловлено тем, что большинство производителей серьёзного программного обеспечения также поддерживают свои продукты для LTS версий операционных систем, например цитата из документации MongoDB:

PLATFORM SUPPORT
MongoDB only provides packages for 64-bit LTS (long-term support) Ubuntu releases. For example, 12.04 LTS (precise), 14.04 LTS (trusty), 16.04 LTS (xenial), and so on. These packages may work with other Ubuntu releases, however, they are not supported.

То есть, если вы обновитесь с Ubuntu 16.04 на 16.10 и вдруг MongoDB перестанет работать, то не факт, что даже за деньги вам помогут решить эту пробему.

В рассматриваемом случае получается периодичность выполнения команды do-release-upgrade примерно раз в 2-4 года.

Обновление с 16.04 до 18.04

В апреле 2018 года Canonical выпустила Ubuntu 18.04 LTS (кодовое имя Bionic Beaver). А это значит, что можно обновлять систему.

Однако стоит упомянуть слова Стив Лангасека, менеджера команды Ubuntu Engineering Foundations, который напоминает про принцип «Работатет — не трогай» :

Обновления между выпусками LTS не включаются по умолчанию, пока не будет выпущен первый выпуск (18.04.1), запланированный на июль. Рекомендуется, чтобы большинство пользователей LTS подождали до этого времени до обновления до 18.04.

Поэтому, до недавнего времени если запускалась команда do-release-upgrade , то она выводила сообщение, что обновлений нет.

Если в таком случае добавить ключ -d (версии разработки), то обновление запустится

// Пробовал обновиться 8.05.2018, не получилось, откатился назад.

Итак, время пришло. Терминал торжественно встречает фразой.

И вот на этом моменте следует остановиться. Если у вас нет «прямого» доступа к машине, то есть риск, что обновление пройдет неудачно и вы не сможете об этом узнать по SSH. Безопаснее обновлять операционную систему, если у вас есть физический доступ к машине.

Второй момент. Система несколько раз спросит подтверждение:

Если у вас локализованная версия Ubuntu, то прямо в терминале (не SSH) сменить раскладку не получится((, а ответ yes или y не подойдет. Поэтому стоит скопировать букву «д» в буфер обмена.

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

Ничего сложного. Отвечаем, дожидаемся завершения обновления.

Проблемы после обновления

На вопрос Файл настройки «/etc/apache2/apache2.conf» изменён я ответил установить версию, предлагаемую сопровождающим пакета . Из-за этого apache2 не запустился.

Смотрим журнал journalctl -xe -u apache2

Запись сообщает, что не удалось достоверно определить полное доменное имя сервера. Добавление ServerName

Далее. Не был включен PHP. Посмотреть что включено apache2ctl -M . Просмотр установленных модулей

Включаем модуль PHP 7.2

Система не поставила PHP расширение pdo_mysql . Исправляем:

Источник

Linux команды для обновления

Хотел бы поделиться не большим “джентльменским набором” основных необходимых команд. Буду очень рад, если Вы будете предлагать еще и дополнять список.

КОМАНДЫ:
Обновление базы данных пакетов:

Самый быстрый и удобный способ «обновить» вашу систему использовать команду:
sudo apt update && sudo apt upgrade -y
Команда, которая поможет удовлетворить все зависимости пакета, если они не установлены:
sudo apt install -f
Все пакеты у которых есть новая версии:
apt list –upgradeable
Все установленные пакеты в системе:
apt list –installed
Все пакеты, доступные для вашей системы:
apt list –all-versions

Самый простой способ освободить дисковое пространство, использовать опцию autoremove:
sudo apt autoremove
Размер кеша можно увидеть с помощью следующей команды:
sudo du -sh /var/cache/apt
Для того чтобы очистить кэш, можно использовать несколько вариантов:
Удалить только устаревшие пакеты, например те, которые заменены недавним обновлением:
sudo apt autoclean
Или очистить кэш целиком (освобождает больше места на диске):
sudo apt clean
Очистка кэша миниатюр (2 команды):
rm -v -f

/.thumbnails/*/*.png
rm -v -f

/.thumbnails/*/*/*.png
Устаревшие файлы конфигурации (2 команды):
dpkg -l | awk ‘/^rc/ ‘ | xargs sudo dpkg –purge
sudo aptitude purge

Самый простой способ удаления не нужных ядер, это набрать в терминале вот такую строку (текущее ядро останется не тронутым):
Выполнить последовательно все команды и перезагрузиться:
sudo apt-get purge $(dpkg -l ‘linux-*’ | sed ‘/^ii/!d;/'”$(uname -r | sed “s/\(.*\)-\([^0-9]\+\)/\1/”)”‘/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/1/!d’ | head -n -1)

sudo apt autoremove

sudo reboot
БОНУС:
Скорость загрузки системы:
systemd-analyze
Скорость загрузки служб ОС:
systemd-analyze blame

Источник

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

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

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

Что такое ucaresystem-core?

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

  • Строить списки пакетов для обновления;
  • Загружать и устанавливать все обновления пакетов;
  • Удалять старые ядра;
  • Удалять ненужные пакеты;
  • Удалять настройки и конфигурационные файлы программ, которые когда-то работали в системе.

Для всего этого уже существуют отдельные команды, но ucaresystem-core позволяет выполнять все эти действия. Одна команда может заменить множество других, а это экономит много времени при большом количестве серверов. Утилита может заменить собой такие команды обновления linux:

  • apt update
  • apt upgrade
  • apt autoremove
  • apt clean
  • uname -r
  • dpkg –list | grep linux-image
  • apt-get purge linux-image
  • update-grub2

Если у вас нет времени на частое обновление Linux, ucaresystem-core может сильно помочь. Давайте рассмотрим как вы можете установить и использовать утилиту.

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

Первое что нужно сделать – это установить ucaresystem-core. Поскольку репозиторий Utopia PPA в Ubuntu 17.04 пока что нельзя добавить в систему, нам придется скачать файл вручную:

Или можно с помощью wget:

Затем установите зависимость deborphan:

sudo apt install deborphan

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

sudo dpkg -i ucaresystem-core*

Если же вы используете более раннюю версию Ubuntu, например, 16.10 или 16.04, то можете смело использовать PPA:

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

sudo apt install ucaresystem-core

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

Источник


Adblock
detector