Авторские статьи

С apt-get ни шагу назад.


Когда появилась технология Snappy от Canonical, то грешным делом я думал больше в сторону быстроты появления софта в систему через автоодобрение. Но Snappy, как технология, нечто большее чем одноимённые пакеты snap. Snappy - это ещё и механизм обновления всего и вся с поддержкой отката. Вот тут и осенило меня, что в apt-get вроде как и нет поддержки rollback!?

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

Для пользователей систем с yum можно откатиться так:
yum history
yum history undo {ЧИСЛО}

Красиво?

Давайте глянем в Debian и Ubuntu. Из журнала истории возьмём что поставили.
grep -A 2 'Start-Date: 2016-01-21 09:42:42' /var/log/apt/history.log | tail -1 >/tmp/packages.txt

Удалим слово
sed -i 's/Install://' /tmp/packages.txt

Нам нужно только имя пакета.
tr ',' '\n' < /tmp/packages.txt | sed '/automatic)/d' | awk '{ print $1}' > /tmp/final.packages.txt

Теперь можно попробовать удалить поставленное. Подумать сто раз над выводом и убрать -s (симуляция) оставляю на вашей совести.
sudo apt-get -s purge `cat /tmp/final.packages.txt | xargs`

Как вам откат?
Откат можно было бы сделать средствами файловой системы, но у большинства пользователей файловой системой по умолчанию идёт ext4, которая не поддерживает снимки. В OpenSUSE есть к примеру инструмент Snapper для автоматического создания снимков системы перед обновлением на случай проблем. В Убунту есть в репозиториях аналог - пакет apt-btrfs-snapshot, который поможет, но если ФС = btrfs.

Что можно посоветовать в нынешней ситуации?

  • Если обновляемая машина живёт в виртуальной среде, то активно используйте механизм snapshot средствами гипервизора.
  • Аккуратнее с -y для apt-get. Не используйте данный ключ бездумно.
  • Активно используйте ключ симуляции -s для анализа того что будет затронуто при данном обновлении.
  • Резервные копии никто не отменял.

На просторах Интернета постоянно вижу ретроградов, которые пи́сают кипятком от старого, доброго. А старое, доброе на проверку оказывается не идеальным! Ext4 выглядит анахронизмом в сравнении с другими ФС, которые по ряду причин так долго идут к нам. Apt-get не бьёт своих конкурентов, многие справедливо хвалят другие пакетные менеджеры, к примеру zypper.

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

Личное знакомство с Ubuntu Snappy Core.
Структура Snappy пакета.
APT станет быстрее.
ZFS в Ubuntu 16.04 Xenial Xerus.

Дата последней правки: 2016-02-19 23:25:58

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта