Мысли, истории и идеи.

Казалось бы, мы на днях только установили свеженькую операционную систему, и уже обновляться. А обновляться надо часто, на самом деле, чем чаще, тем лучше. Сегодня разберём как вообще обновлять ElementaryOS, а значит и любой основанный на Debian дистрибутив. Для того чтобы обновить просто откройте "AppCenter", нажмите на кнопку "Installed" (установлены). Перед вами откроется список установленных в систему программ. В верхней части списка будут находиться пакеты для которых есть обновление, возле имени пакета будет кнопка "Update" (обновить). А на самом верху есть кнопка "UpdateAll" (обновить всё). Таким образом у вас есть контроль на то какие именно программы вы хотите обновить. Их можно по одному или все сразу.

Elementary OS - AppCenter Installed

Так же можно зайти в каждое обновление и почитать из чего оно состоит:

Elementary OS - AppCenter Installed (Operation System Updates)

Тут просто нажмите "Update", поле чего вас попросят ввести ваш пароль для подтверждения, и начнется установка новых пакетов.

Как я уже говорил Elementary OS основана на таком прекрасном дистрибутиве как Ubuntu. А он в свою очередь основан на ещё более прекрасным дистрибутиве Debian, который используют в качестве управления пакетами систему называемую APT. Сам APT довольно таки сложный и многофункциональный, разберем его отдельно, а на сегодня нас интересует только обновление системы. Что бы сделать это через командную строку откройте терминал. И в командной строке наберите apt update. Эта команда пройдёт по всем репозиториям в системе, и вытащит в свою базу данных все доступные для установки пакетs и их версии. Она сравнить это с тем, что установлено в вашей системе на данный момент, и сделает выводы, какие пакеты имеют обновления. Запускать эту команду нужно с разрешениями суперпользователя. По этому запустим так:

sudo apt update

На экране появиться список ссылок репозитории на которые APT сходил и принес с них информацию. А в конце выводится итог,сообщающий, какое количество программ имеет обновление. Например так:

48 packages can be upgraded. Run 'apt list --upgradable' to see them.

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

sudo apt list --upgradable

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

bluez/bionic-updates 5.48-0ubuntu3.3 amd64 [upgradable from: 5.48-0ubuntu3.2]
bluez-cups/bionic-updates 5.48-0ubuntu3.3 amd64 [upgradable from: 5.48-0ubuntu3.2]
bluez-obexd/bionic-updates 5.48-0ubuntu3.3 amd64 [upgradable from: 5.48-0ubuntu3.2]
bsdutils/bionic-updates 1:2.31.1-0.4ubuntu3.5 amd64 [upgradable from: 1:2.31.1-0.4ubuntu3.4]
chromium-codecs-ffmpeg-extra/bionic-security 79.0.3945.130-0ubuntu0.18.04.1 amd64 [upgradable from: 79.0.3945.79-0ubuntu0.18.04.1]


Ну и наконец чтобы обновить их всех можно использовать две команды. Первый из которых установит все что только можно upgrade. А вторая более интелектуальная, она установит только то что необходимо установить full-upgrade . Таким образом, при помощи второй команды, происходит более мягко и плавно обновление, с меньшими рисками получить, как результат обновления, "сломанную" систему. Они так же запускаются через sudo. И вот как это выглядит:

sudo apt full-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  fwupdate fwupdate-signed gdebi-core gir1.2-vte-2.91 libcairo-perl libfwup1 libglib-perl
  libgtk2-perl libido3-0.1-0 libllvm8 libnvidia-common-435 libpango-perl libsmbios-c2
  python3-debian
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  base-files bluez bluez-cups bluez-obexd bsdutils chromium-codecs-ffmpeg-extra fdisk
  google-chrome-stable language-pack-fr language-pack-gnome-fr language-pack-gnome-sv
  language-pack-sv libblkid1 libbluetooth3 libegl-mesa0 libegl1-mesa libexiv2-14 libfdisk1
  libgbm1 libgl1-mesa-dri libgl1-mesa-dri:i386 libgl1-mesa-glx libglapi-mesa libglapi-mesa:i386
  libglx-mesa0 libglx-mesa0:i386 libjavascriptcoregtk-4.0-18 libmount1 libnss-systemd
  libpam-systemd libsmartcols1 libsystemd0 libudev1 libuuid1 libwebkit2gtk-4.0-37
  libwebkit2gtk-4.0-37-gtk2 libxatracker2 mesa-va-drivers mesa-vdpau-drivers mount rfkill sudo
  systemd systemd-sysv ubuntu-minimal udev util-linux uuid-runtime
48 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 120 MB of archives.
After this operation, 4,163 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

После ввода команды на экране появиться сообщение со списком пакетов, которые будут обновлены, и просьбой подтвердить обновление системы. После ввода ответа в виде буквы "y", APT скачает и установит все необходимые пакеты.