- Что делает «sudo apt-get update»?
- Как правильно обновить Ubuntu через терминал?
- Обновление с 16.04 до 18.04
- Проблемы после обновления
- Похожие записи
- Установка актуальной nodejs на ubuntu
- Перенести базы PostgreSQL на другой диск Windows
- Ubuntu. В разделе /boot не осталось места.
- Как пользоваться apt
- Синтаксис и опции apt
- Как пользоваться apt
- 1. Обновление пакетов
- 2. Установка пакетов
- 3. Удаление пакетов
- Выводы
Что делает «sudo apt-get update»?
Мне интересно, что sudo apt-get update делает?
Что это обновляет?
В двух словах, на apt-get update самом деле не устанавливает новые версии программного обеспечения. Вместо этого он обновляет списки пакетов для обновлений для пакетов, которые требуют обновления, а также для новых пакетов, которые только что поступили в хранилища.
apt-get update загружает списки пакетов из репозиториев и «обновляет» их, чтобы получить информацию о новейших версиях пакетов и их зависимостях. Это будет сделано для всех репозиториев и PPA. С http://linux.die.net/man/8/apt-get :
Используется для повторной синхронизации файлов индекса пакета из их источников. Индексы доступных пакетов выбираются из местоположений, указанных в /etc/apt/sources.list (5). Обновление всегда следует выполнять перед обновлением или dist-upgrade.
apt-get upgrade будет получать новые версии пакетов, существующих на компьютере, если APT узнает об этих новых версиях в порядке apt-get update .
Используется для установки новейших версий всех пакетов, установленных в настоящее время в системе, из источников, перечисленных в /etc/apt/sources.list (5). Пакеты, установленные в настоящее время с доступными новыми версиями, извлекаются и обновляются; ни при каких обстоятельствах установленные в настоящее время пакеты не удаляются, а пакеты, которые еще не установлены, не извлекаются и не устанавливаются. Новые версии установленных в настоящее время пакетов, которые нельзя обновить без изменения состояния установки другого пакета, останутся в их текущей версии. [Выделение мое] Сначала необходимо выполнить обновление, чтобы apt-get знал, что доступны новые версии пакетов.
apt-get dist-upgrade будет выполнять ту же работу, что и пользователь apt-get upgrade , плюс он также будет интеллектуально обрабатывать зависимости, поэтому он может удалять устаревшие пакеты или добавлять новые. Смотрите здесь: Что такое «dist-upgrade» и почему он обновляется больше, чем «upgrade»?
В дополнение к выполнению функции обновления, эта опция также интеллектуально обрабатывает изменение зависимостей с новыми версиями пакетов; apt-get имеет «умную» систему разрешения конфликтов, и при необходимости она попытается обновить самые важные пакеты за счет менее важных. /etc/apt/sources.list Файл (5) содержит список мест , из которых можно извлечь нужные файлы пакета. Смотрите также apt_preferences (5) для механизма переопределения общих настроек для отдельных пакетов.
Вы можете комбинировать команды && следующим образом:
или получить самые новые версии, возможные в соответствии с требованиями версий зависимостей:
Вам нужно sudo оба раза, но, поскольку sudo по умолчанию не запрашивается около 5 минут с момента последней sudo операции, вам будет предложено ввести пароль только один раз (или не запрашивать вообще).
Как правильно обновить 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 . Исправляем:
Похожие записи
Установка актуальной nodejs на ubuntu
В официальных репозиториях Ubuntu предлагется дореволюционная версия node.js. В этом руководстве рассказывется как установить актуальную Node.js на Ubuntu или в подсистему linux на Windows 10, что собственно говоря, одно и тоже.
Перенести базы PostgreSQL на другой диск Windows
Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.
Ubuntu. В разделе /boot не осталось места.
Недавно столкнулся с проблемой, что система ubuntu не может обновиться. Пишет ошибки про неудвлетворенные зависимости и не дает возможности завершится командам.
Как пользоваться apt
Пакетный менеджер Apt или Advanced Package Tool используется во множестве дистрибутивов, основанных на Debian или Ubuntu, а таких дистрибутивов сейчас очень много. Этот пакетный менеджер поддерживает все необходимые функции, вы можете устанавливать и удалять пакеты, обновлять то, что было уже установлено, искать пакеты, устанавливать их из файла или загружать без установки. При этом все зависимости будут разрешаться автоматически.
Утилита apt ничем не уступает пакетному менеджеру yum, используемому в RPM дистрибутивах, да, здесь все ещё не поддерживается частичное обновление пакетов, как в Zypper, но в целом всё выглядит очень неплохо. В этой статье мы подробно рассмотрим как пользоваться apt в Linux для решения задач работы с программами.
Синтаксис и опции apt
Синтаксис команды apt очень простой и похож на другие команды Linux:
$ apt опции команда параметры_команды
Опции указывают общее поведение утилиты, команда — действие, которое надо выполнить, а в параметрах команды обычно передается имя пакета, с которым следует работать, например, установить или удалить. Вот основные опции утилиты:
- -v, —version — выводит версию утилиты;
- -h, —help — выводит справку по использованию утилиты;
- -y, —yes — автоматически отвечать «да» на все возникающие вопросы;
- —assume-no — автоматически отвечать «нет» на все возникающие вопросы;
- -d, —download-only — только скачать пакеты и больше ничего не делать;
- -f, —fix-broken — исправить недостающие зависимости;
- —no-download — ничего не загружать, использовать только пакеты из кэша;
- -s, —simulate — режим симуляции, никакие операции не выполняются, только выводится информация на экран;
- —allow-unauthenticated — позволяет установить пакеты, из репозиториев, для которых нет GPG подписи;
- —no-install-recommends — не устанавливать рекомендованные пакеты, по умолчанию будут установлены;
- -m, —ignore-missing — игнорировать пакеты, которые существует;
- -q, —quiet — выводить минимум информации, не показывать прогресс бар;
- -V, —verbose-versions — показывать полные версии обновленных пакетов;
- —only-upgrade — не устанавливать новые пакеты, только обновлять;
- —allow-downgrades — разрешить откатывать версию пакетов;
- —reinstall — переустановить пакет если он уже установлен;
А теперь давайте пройдёмся по командам apt, которые вы можете использовать:
- install — установить пакет;
- remove — удалить пакет, конфигурационные файлы, которые были изменены в вашей системе удалены не будут;
- purge — полностью удалить пакет, вместе со всеми его конфигурационными файлами;
- autoremove — очистить ненужные пакеты;
- autoclean — очистить кэш пакетов;
- update — обновить списки пакетов из репозиториев;
- upgrade — обновить версию пакета до последней, если пакет не указан будут обновлены все пакеты;
- full-upgrade — полное обновление системы, включая удаление несовместимых или больше ненужных пакетов;
- list — список установленных пакетов;
- search — поиск пакетов;
- show — посмотреть информацию о пакете;
- download — скачать пакет в текущую папку;
- edit-sources — открыть с настройками репозиториев в текстовом редакторе.
- source — скачать исходный код пакета в текущую папку;
- build-dep — установить зависимости необходимые для сборки выбранного пакета;
Дальше рассмотрим несколько примеров работы с apt, которые пригодятся как начинающим, так и более опытным пользователям.
Как пользоваться apt
1. Обновление пакетов
Сначала давайте обновим список пакетов apt из репозиториев. Репозитории находятся на удалённых серверах и когда утилита apt ищет пакет для установки, естественно, что она не обращается ко всем репозиториям подряд чтобы узнать где он находится. В системе уже есть сохранённых кэш информации о том, какие пакеты вообще есть и где их можно скачать. Для обновления этого кэша используйте команду update:
sudo apt update
Во время загрузки URL репозиториев обозначаются специальными префиксами, вот что они означают:
- Hit (Сущ) — список не изменился с момента предыдущей загрузки;
- Ign (Игн) — репозиторий игнорируется, либо он слишком новый, либо произошла незначительная ошибка во время загрузки;
- Get(Пол) — доступна новая версия и она будет загружена.
Когда кэш обновлен вы можете посмотреть для каких пакетов доступны обновления:
sudo apt list —upgradable
Аналогично можно посмотреть установленные пакеты apt:
sudo apt list —installed
Или всех доступных:
sudo apt list —all-versions
Затем можно обновить все пакеты в системе:
sudo apt full-upgrade
2. Установка пакетов
Чтобы установить пакет apt используйте команду install, например, для установки программы Gimp используйте команду install:
sudo apt install gimp
Если пакет установился неверно и вы хотите его переустановить, можно использовать опцию —reinstall:
sudo apt install gimp —reinstall
Как видите, опции можно указывать не только перед командой, но и после неё, аналогично можно установить несколько пакетов сразу, например:
sudo apt install gimp inkskape -y
Чтобы не подтверждать установку вручную используем опцию -y. Допустим вы установили пакет с помощью dpkg и теперь хотите установить для него зависимости, запустите команду install без параметров с опцией -f или —fix-broken:
sudo apt install —fix-broken
Можно скачать deb пакет в текущую папку без установки:
apt download gimp
Скачивать пакеты надо от имени обычного пользователя, иначе тогда они не будут доступны для работы с ними. Если вам нужно установить пакет из файла, просто передайте путь к файлу команде install:
sudo apt install gimp_2.8.22-1_amd64.deb
Чтобы установить определенную версию пакета просто укажите нужную версию после имени пакета через знак =, например:
sudo apt install linux-headers-generic=4.15.0.20.23
Чтобы найти доступные версии можно использовать команду policy. Она отображает информацию о том какая версия установлена, а также какие версии доступны:
sudo apt policy linux-headers-generic
Если вы не знаете как точно называется пакет, можно выполнить поиск пакетов apt с помощью команды search:
sudo apt search gimp
3. Удаление пакетов
Чтобы удалить ненужный пакет используйте команду remove:
sudo apt remove gimp
Однако если вы изменяли какие-либо конфигурационные файлы из состава пакета, то при таком способе удаления они останутся в системе, чтобы удалить всё полностью используйте команду purge:
sudo apt purge gimp
Чтобы удалить лишние пакеты, которые в системе больше не нужны выполните команду autoremove:
sudo apt autoremove
А для очистки кэша пакетов — autoclean:
sudo apt autoclean
Выводы
В этой статье мы рассмотрели примеры использования и основные команды apt Ubuntu, как видите, команд у этой утилиты хватает на все случаи жизни. Но, как видите, всё очень просто если разобраться. Я не рассказал только об одной команде, попробуйте ввести в терминале apt moo, увидите что будет. Это небольшая пасхалка от разработчиков.