Комментарии 89
Отличная статья.
Только осталось это сделать и для других дистрибутивов.
В том числе умеющих RPM + APT.
Будет забавно когда будут написаны ещё подобные статьи под AltLinux(подходит целиком под последнее предложение), Slackware, Gentoo, Mageia/OpenMandriva/Mandrake, etc. :D
просмотр yum истории (вывод списка транзакций)
#yum history list
просмотр информации определенной транзакции (установленные пакеты, установленные зависимости)
#yum history info 9
отмена транзакции
#yum history undo 9
повторить
#yum history redo 9
Но:
1) LVM снапшоты не бесплатны на запись. dpkg — один из самых агрессивных пользователей fsync'а, что транслируется в два fsync'а в нижележащий уровень. Банальным образом тормозим.
2) Бага может выплывать много позже, чем был установлен пакет и откат может быть нежелательным.
3) Откат rootfs без отката /boot может приводить к феерическим проблемам из-за отсутствия модулей для нового (откаченного) ядра, а EFI-снапшотов нам пока не завезли.
sid хорош тем, что это почти rolling update. Всё более-менее свежее. FF Quantum, свежие драйвера, etc. Я никогда не сталкиваюсь с тем, что «оно там есть, но слишком новое для моей системы».
Можно сделать EFI-снапшоты, если очень сильно хотеть, для этого /boot надо будет сделать не прямо на ESP, а рядом, и на ESP положить shim.efi и драйвер LVM/btrfs/что-там-у-вас-снапшоты-умеет. Если вот этих двоих обновлять при каждом обновлении ядра не понадобится, то будет почти хорошо. Я, конечно, против добавления дополнительных драйверов ФС на критический путь, но если пользователь страшно хочет снапшотов — будут ему снапшоты.
вот это я понимаю фундаментальная защита. :)
Может Вам просто Gentoo поставить? Полноценные rolling updates, легко смешивать стабильные и самые свежие пакеты, никаких проблем с гибким контролем что и как ставится, с предыдущими версиями, с одновременной установкой нескольких версий многих приложений, и описанное в статье делается одной командой. Внимания он требует немного больше, конечно, и сборка пакетов занимает больше времени, но зато реально полный и при этом удобный контроль над системой, позволяющий любые проблемы решать достаточно безболезненно. Плюс — hardened при желании, по крайней мере пока длится поддержка ядра 4.9, спасибо https://github.com/minipli/linux-unofficial_grsec.
Впрочем, подозреваю что Вы Gentoo уже успели попробовать, вероятно не подошло.
А чем конкрентно лучше, кстати? Я на арч периодически поглядываю, вики у них просто волшебная, но смысла переходить с генту пока не нашёл.
О, так не я один такой, с упавшим wpasupplicant-ом.
Если кто-то не будет сидеть на unstable — stable не появится никогда.
У меня дома используется Debian Sid
Мой дом, мой продакшн.
Я что-то пропустил про дом. Почему-то из контекста показалось, что в проде
Очевидно, что есть workflow, позволяющий откатиться на предыдущую версию. Но чем ниже по стеку проблема (libc, openssl, kernel), тем менее гибкими являются эти технологии. В какой-то момент мы переходим к хостовой ОС, обновление и откат которой может быть двух видов: откат сервера и откат приложения/библиотеки.
При всём хайпе насчёт унифицированных гомогенизированных серверов, которые можно откатывать по клику мышкой, очень часто проще откатить библиотеку на уровне хоста, чем возиться с миграцией 30Тб данных.
Сам сижу на testing. Когда иногда в свежих апдейтах что-то отваливается, применяю трюк с Package Pinning. Может он еще кому будет полезен, поэтому опишу тут кратко.
Добавил в свой sources.list репозитории стабильного Debian:
###### Debian Main Repos
deb http://deb.debian.org/debian/ stable main contrib non-free
deb-src http://deb.debian.org/debian/ stable main contrib non-free
deb http://deb.debian.org/debian/ stable-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free
deb http://deb.debian.org/debian-security stable/updates main
deb-src http://deb.debian.org/debian-security stable/updates main
deb http://ftp.debian.org/debian stretch-backports main
deb-src http://ftp.debian.org/debian stretch-backports main
И задал в /etc/apt/preferences:
Package: *
Pin: release a=testing
Pin-Priority: 900
Package: *
Pin: release a=stable
Pin-Priority: -10
Когда нужно сделать downgrade какого-то пакета, я просто меняю для stable Pin-Priority в 1001 (устанавливать пакеты из этого источника даже если в системе установлены более новые). Запускаю
sudo apt-get install <имя пакета>
. При этом устанавливается версия пакета из stable, но apt автоматически разрешает зависимости (если надо сделать downgrade какой-то зависимости, он делает). Потом снова меняю Pin-Priority для stable в -10 чтобы другие установки проходили с testing как приоритетным источником.Ну и ещё много всяких багов по мелочи, начиная падающим Libreoffice (пока не удалишь пакет libreoffice-gtk) и заканчивая тем, что при сборке образа LTSP много чего автоматически не устанавливается, хотя должно (например, пакеты локализации Firefox).
Так что теперь я Debian рекомендовать никому не буду (а жаль, ведь раньше он был стабилен как гора, в нём было больше всего пакетов и архитектур процессоров). Для одних пользователей он слишком сложный, для других — слишком нестабильный и сырой. Сам пользуюсь Fedora 26, родителям на ноут поставил недавно Ubuntu 17.10
я рекомендую при наличии зависимых пакетов в первую очередь пробовать откатиться на предыдущие версии, а не искать себе приключений посредством даунгрейда на антиквариат.Предыдущие версии — это те, что были найдены в логах (которые были установлены раньше), или те, что найдены в
apt-cache policy ...
, но не самые последние?Есть вопрос. Может быть поможете, подскажите, что делать. В Гугле ответа так и не нашёл.
Стоял Debian Jessie, в котором lvm version:
LVM version: 2.02.116(2) (2015-01-30)Обновился до Stretch. Соответственно, lvm version:
Library version: 1.02.93 (2015-01-30)
Driver version: 4.34.0
LVM version: 2.02.168(2) (2016-11-30)Так вот, проблема следующая:
Library version: 1.02.137 (2016-11-30)
Driver version: 4.36.0
Используется thin-пул (vg), в котором thin-разделы (lv). Снапшотов thin-разделов нет (не делались), т.е.
lvs(и на Jessie, и на Stretch) показывает, что снапшотов нет. В тоже время на Jessie команда
lvs -o+data_percent,snap_percentчестно показывает, что snap_percent у thin-раздела отсутствует (снапшоты же не делались), а вот у Stretch ситуация становится интересной, команда
lvs -o+data_percent,snap_percentпоказывает размер snap_percent у thin-раздела равный data_percent.
В итоге на Stretch получается, что если thin-разделы в общей массе занимают, например, 50% thin-пула, то создать еще один thin-раздел не представляется возможным, т.к. обновлённая lvm при определении свободного места в thin-пуле учитывает эти откуда-то взятые snap_percent, т.е. тупо увеличивает занятое место ровно в 2 раза.
Для не thin-разделов всё нормально, т.е. этих непонятных снапшотов нет.
Вопрос, можно ли безболезненно откатится на предыдущую версию lvm, учитывая, что система тоже установлена в lvm-раздел (другая vg, не thin) и если да, то как?
Ой, меня на днях выбесили окончательно новые апдейты Арча (после которых опять система не загрузилась), и я со злости перешёл на Винду 10. Затем в течении недели решал баги:
- Почему меню Пукс не открывается совсем
- Почему Bluetooth отвалился
- Почему в fullscreen пропадает курсор мыши
- Почему в других fullscreen изображение выпало за край монитора
- Почему видео во всех плеерах дрожит
- Почему Windows Store отображается только 5% того, что в нём должно быть.
- Как установить кнопки переключеня языка в что-то понятное.
- Почему сетевые шары в режиме readonly, хотя всё везде разрешено.
Всё исправил, но осадочек, как известно… Так что, в следующий раз, когда вас достануть баги в Gentoo или Sid, вспомните, что 98% населения сидит на куда более кривой и глючной операционке, и ничего, живут как-то.
Разве что только пуск переставал открываться, но к релизу это поправили.
- Почему меню Пукс не открывается совсем
Известный уже косяк в последнем апдейте. Системный процесс, отвечающий за обновление драйверов, падает так, что забирает всю систему интерфейса UWP с собой. Лечится отключением автообновления драйверов. Отключается это в окне настройки пользовательского аккаунта, потому что логика. - Почему Bluetooth отвалился
Потому что драйверы не нашлись. - Почему в fullscreen пропадает курсор мыши
Бесчинствовала экранная лупа — после запуска она оставляет в системе процесс, который конфликтует с игрушками. Его нужно найтить и прибить. Только в 4К. - Почему в других fullscreen изображение выпало за край монитора
Косяк с масштабированием в 4К, долго объяснять. - Почему видео во всех плеерах дрожит
Драйвера видео принимали мой плеер за игру и включали G-sync. Вылечил принудительной регистрацией плеера как игры и отключением g-sync для него. - Почему Windows Store отображается только 5% того, что в нём должно быть.
Оказалось, локаль у меня стояла не просто русский, а русский с каким-то национальным колоритом. Может быть при установке не туда нажал, давно дело было. - Как установить кнопки переключеня языка в что-то понятное.
Решил через функцию драйвера клавиатуры, транслирующую одни аккорды хоткеев в другие. Винда понимает только Alt-Shift+число. - Почему сетевые шары в режиме readonly, хотя всё везде разрешено.
Был косяк с правами unRaid, но из-под линукса он не мешал.
ИТОГО: Что я сделал не так? Имел монитор 4К g-sync и обновил систему.
Сижу на 7-ке, и эти проблемы вообще неведомы. Собственно, зачем ставить 10-ку?
Ну и зачем фулскрин для отображения 1-2 ярлыков?
битва между любителями клавиатур и пользующимеся и клавиатурой, и мышки совместно давно уже выиграна последними
Можете объяснить, на что была похожа битва, и в чём заключается её выигрыш последними?
Во-первых, откуда вы взяли "ф" после "вин"? Во-вторых, почему вы думаете что ваш ярлык с "не очень уникальным названием" обязательно окажется посреди экрана? Посреди экрана слишком мало места чтобы уместить все ярлыки.
В-третьих, зачем набирать пару десятков символов если можно набрать 5-6, а потом ткнуть мышкой?
Каким образом мой третий пункт отвечает на второй? Не могли бы вы пояснить свою мысль?
И поэтому, вы не поверите, все постоянно используемые мною те же рдп соединения могут иметь не слишком уникальное название, но находиться в центре экрана.
Раз за вас, но мне их удобнее держать в отдельном списке недавних RDP-соединений.
По сути вы сейчас утверждаете, что ярлыки на рабочем столе это жутко не удобно
Ну разумеется. Никогда не понимал тех странных людей которые заваливают рабочий стол ярлыками. Лучший рабочий стол — чистый рабочий стол.
У меня на рабочем столе только корзина и ярлык к основному профилю хрома (на тот случай если я случайно закрою браузер).
не десяток картинок доступных мышкой в одно касанье
Десяток картинок доступных в одно касание удобно размещаются на панели задач. Особенно удобно что нажатие ПКМ на любую открывает список последних документов/соединений/пр.
А "Пуск" — это свалка для редко используемых программ. Нет никакого смысла думать куда расположить ярлык для запуска программы если не знаешь будешь ли вообще ей пользоваться.
Так чем вообще удобен мелкий пуск, а?
Не загораживает экран.
А вы их слушаете, правда? И тему не меняете?
А когда я менял тему? Когда пояснил вам какой именно поиск я имел в виду?
мелкими закладками или автоподстановкой в строке урла для постоянных сайтов пользоваться не так удобно
Когда как. Часть сайтов я открываю через визуальные закладки, часть — через автоподстановку. Закладок не безмерно, чтобы тратить их на адреса, которые я помню.
А фулскрин-пуск — это удобно. Зачем целиться в маленькие значки, если я заплатил за весь монитор?
На семерке при каждом втором выходе из гибернации отваливалась сетьА можете рассказать -что значит отваливается сеть в вашем случае?
Просто как я помню — вроде бы в всех виндах во время гибернации сеть какбэ отваливается целиком, а после выхода из гибернации — фактически подключается обратно, но это относится только к физическому подключению, всякие PPPOE нужно руками подключать заново…
А Debian — он просто есть. Это некоммерческий opensource проект с декларированной полиси и социальным контрактом. Так что дебиан — это база, «вечная ценность», а всякие его форки — всего лишь сиюминутная суета.
Убунта постоянно пытается от дебиана уйти. upstart, mir, unity, snap (три из этих уже похоронили, следующий — snap), но не может, ибо ценность дебиана куда выше, чем любые локальные усилия одной компании.
Дебиан работает над абстрактными ценностями, вроде reproducible builds, которые недоступны коммерческим компаниям (из-за масштаба проблемы и количества участников), лицензионной чистоты, свободы ПО и т.д.
То же самое с Ubuntu — apt-get upgrade
гарантированно убивает графическую оболочку.
Примерно полгода назад мне пришлось переустанавливать убунту 16 после apt-get upgrade
. С какой именно ошибкой падали иксы при старте, уже не скажу.
Не было печали, апдейтов накачали