Когда появилась технология 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.
Что можно посоветовать в нынешней ситуации?
На просторах Интернета постоянно вижу ретроградов, которые пи́сают кипятком от старого, доброго. А старое, доброе на проверку оказывается не идеальным! Ext4 выглядит анахронизмом в сравнении с другими ФС, которые по ряду причин так долго идут к нам. Apt-get не бьёт своих конкурентов, многие справедливо хвалят другие пакетные менеджеры, к примеру zypper.
Если вы один из таких людей, любителей повторять про "а вот в наше время ...", то задумайтесь, возможно будущее принесёт реально безопасные и пуленепробиваемые технологии.
Личное знакомство с Ubuntu Snappy Core.
Структура Snappy пакета.
APT станет быстрее.
ZFS в Ubuntu 16.04 Xenial Xerus.