Пользуясь случаем, на opennet.ru в комментариях рассказал забавную историю про PPA для Ubuntu, выкладываю ее здесь на память.
Читать далее Включайте мозг, когда используете чужие пакеты
Метка: apt
Grub2 2.04 с поддержкой сжатия zstd на BTRFS для Ubuntu 18.04 и 19.04
В репозиториях Ubuntu < 19.10 Grub2 2.02, в котором нет поддержки загрузки с корневого раздела BTRFS, сжатого с помощью ZSTD. Собрал Grub2 2.04 из Ubuntu 19.10 для 18.04 и 19.04, в котором есть поддержка загрузки с корневого раздела в btrfs, сжатом zstd. Читать далее Grub2 2.04 с поддержкой сжатия zstd на BTRFS для Ubuntu 18.04 и 19.04
Как версионируются и совмещаются библиотеки из разных репозиториев
Давайте на примере btrfs-progs 4.19.1 и ffmpeg рассмотрим особенности сборки, версионирования пакетов и библиотек в дистрибутивах с продвинутой пакетной системой, то есть Deb или RPM, но не pacman или порты BSD (emerge из Gentoo имеет совсем иные принципы решения этих задач).
deb src: https://gitlab.com/nixtux-packaging/btrfs-progs/tree/master/btrfs-progs-4.19.1/debian
RPM src: https://abf.io/import/btrfs-progs
RPM binary: https://abf.io/build_lists/2957703
В приведенных примерах принцип упаковки и разделения на подпакеты идентичен.
Есть исходный пакет btrfs-progs, то есть исходные коды, расположенные по адресу https://github.com/kdave/btrfs-progs
Как можете наглядно видеть по ссылке «RPM binary: https://abf.io/build_lists/2957703» из одного исходного пакета собраны следующие бинарные, у каждого из которых стоит одинаковое значение %EVRD, то есть эпоха, версия, релиз и дистрибутив (в Альте %EVR вместо %EVRD в Росе):
— btrfs-progs
— libbtrfs0
— libbtrfsutil1
Читать далее Как версионируются и совмещаются библиотеки из разных репозиториев
Вызов LibreOffice в chroot
Для сборки deb-пакета Wirec я использую вызов LibreOffice внутри Makefile, чтобы конвертировать картинку из ODG в SVG. При запуске локально все работало, однако при попытке собрать deb-пакет на Launchpad, то есть при сборке в chroot, возникла ошибка:
libreoffice --convert-to svg --outdir /<>/debian/wirec///usr/share/icons desktop/wirec.odg javaldx failed! Warning: failed to read path from javaldx
После исправления Makefile был таким:
Читать далее Вызов LibreOffice в chroot
phpmyadmin: Variable lc_messages can’t be set to the value of ru_RU
У меня на Ubuntu 18.04 + MySQL 8.0 + phpmyadmin + панель Vesta CP возникла такая ошибка:
Variable 'lc_messages' can't be set to the value of 'ru_RU'
Решением стало переименование папки с русской локализацией:
Читать далее phpmyadmin: Variable lc_messages can’t be set to the value of ru_RU
Автоматическое обновление Ubuntu
UPD: приведенный ниже скрипт превратился в целую систему автообновлений с блокировкой выключения во время обновления: system-autoupdate
Замучился постоянно устанавливать обновления на сервер с Ubuntu, unnatended-upgrades не хочу конфигурировать, да и делает он не совсем то, что нужно, поэтому сделал автообновление системы скриптом. Его код ниже. Что делает скрипт, прописано в коде комментариями.
Читать далее Автоматическое обновление Ubuntu
Как я одной командой удалил GNOME [с планшета на KDE и Ubuntu]
Если ставить несколько DE параллельно на одну систему, то может понадобиться удалить одно из них вместе с зависимостями. Статья актуальна для Ubuntu, Debian, Mint, Deepin и других родственников Debian.
У меня есть планшет Chuwi Hi12, и пальцем в KDE работать по ряду причин намного удобнее, чем в GNOME (гномодызайнеры сделали интерфейс, в котором мне и многим другим неудобно работать и мышью, и пальцем). Читать далее Как я одной командой удалил GNOME [с планшета на KDE и Ubuntu]
Удалить остатки ранее удаленных пакетов в Ubuntu/Debian/Mint/Deepin
Когда мы делаем apt remove
, то пакет удаляется, но не удаляются его конфиги (сборщик пакета указывает, какие файлы являются конфигами; речь о входящих в пакет конфигах, то есть содержимое домашней папки пользователя не затрагивается). apt purge
удаляет и сам пакет, и конфиги и прочие его куски.
apt autoremove
удаляет указанный пакет и пакеты-сироты, т.е. те пакеты, которые ранее были установлены автоматически как зависимости, теперь пакет, от них зависящий, уже удален, и эти пакеты больше никому не нужны. apt autoremove --purge
делает все то же, что и autoremove, но еще и подчищает остатки пакета, как apt purge
. Можно запустить просто apt autoremove
или apt autoremove --purge
, чтобы подчистить пакеты-сироты, а можно в конец этой команды дописать список пакетов, которые нужно удалить, тогда apt удалит их и подчистит все сироты в системе.
dpkg -l
— в выводе этой команды ii
в первом столбце означает, что пакет установлен, а rc
означает, что он удален, но остались следы.
Давайте удалим следы всех ранее удаленных пакетов:
sudo apt autoremove --purge $(dpkg -l | grep ^rc | grep -v ^ii | awk '{print $2}' | tr '\n' ' ')
Вы можете поэкспериментировать и посмотреть, какой список пакетов выдаст команда, результат которой подставляется в предыдущую:
dpkg -l | grep ^rc | grep -v ^ii | awk '{print $2}' | tr '\n' ' '