Void Linux. Управление пакетами. Система XBPS: интермедия о пакетах non-free
Как было сказано в предыдущем очерке, для многих применителей при выборе дистрибутива весьма важна доступность в его официальных репозиториях так называемых «несвободных» пакетов. Поэтому, забегая вперёд, в этой интермедии я коснусь данного вопроса.
Чаще всего интерес вызывают такие «не совсем свободные» программы, как фирменные видеодрайверы от AMD и Nvidia, Adobe Flash, Skype. Для использования в профессиональных целях многим требуются такие инструменты, как текстовые редакторы Sublime Text и/или Atom, Java в реализации от Oracle. Наконец, есть и такие, кто интересуется игрушками, типа легендарных Doom и Quake, или, напротив, пресловутого Steam.
В сети можно наткнуться на утверждения, что репозитории дистрибутива Void содержат только абсолютно свободные пакеты. И потому ничего подобного там нет и быть не может. Поначалу я и сам так думал — тем более, что ничего из перечисленного мне не нужно ни по жизни, ни по работе. Однако проведённое по наводке Stanis’а aka Станислав Шрамко следствие показало, что в Void’е имеется даже два репозитория типа non-free , с обычными и multilib-пакетами..
В очерке про репозитории говорится, что подключаются путём установки соответствующего пакета. А имена пакетов, которые должны фигурировать как аргументы команды инсталляции, выявляются так:
Я для начала ограничился вторым пакетом, так как испытываю некоторое недоверие к multilib-пакетам (признаюсь, ни на чём особо не основанное, кроме общих соображений):
Далее выполняется синхронизация:
И можно приступать к «проверке на вшивость». Начав с вещей, которые действительно могут быть нужны по делу — например, фирменных драйверов, ибо видеочипы «последнего розливу» от AMD и особенно Nvidia не всегда поддерживаются соответствующими свободными драйверами.
оказывается очень длинным:
Видеокарт с чипами этой фирмы у меня не было давно, и потому я не могу сказать, всё ли тут есть, что нужно для счастья, и первой ли оно свежести (или, наоборот, последней — для «счастливых» обладателей видеокарт старых). Однако обращает внимание наличие bumblebee для поддержки так называемой технологии Optimus, не к ночи будь помянута.
С видеочипами от AMD всё гораздо компактней,
И здесь, насколько я помню, имеется всё необходимое — по крайней мере, для работы с AMD APU, дискретных видеокарт на чипах этой фирмы у меня тоже давно не было.
Теперь текстовые редакторы — любителей Sublime Text оказалось довольно много, а Atom интересен концептуально, хотя пока и выглядит «недоношенным». Так что — делай раз:
Кстати, самого Google Chrome ни в одном репозитории нет. Но в главной ветке имеется Chromium, о чём я не так давно упоминал.
И последнее из «профнабора»:
Теперь займёмся поисками «парнухи», начиная с Adobe Flash, которая иногда нужна и для мирных целей, например, вывода результатов измерений в реальном времени. И оказывается, что их у Void’а есть (хотя, кажется, и старой версии):
А заодно обнаруживается и чуть «менее несвободный» аналог:
А вот со Skype с первой попытки — облом: команда
возвращает пустую командную строку, свидетельствующую об отсутствии такого пакета в подключённых репозиториях. Обидно, досадно… не за себя (я им не пользуюсь) — за державу дистрибутив. Но тут я вспоминаю, что, когда единственный раз я этот самый Skype устанавливал, он потянул за собой кучу 32-битного мусора. И решаю подключить репозиторий multilib-nonfree :
И теперь повторение команды
выдаёт на гора неизменно превосходный результат:
Так что мнение об отсутствии в Void всяческой проприетарной «парнухи» выглядит несколько преувеличенным.
Источник
Установка Google Chrome в Linux
Одним из самых популярных браузеров в мире считается Google Chrome. Далеко не все пользователи довольны его работой из-за большого потребления системных ресурсов и не для всех удобной системой управления вкладками. Однако сегодня мы бы не хотели обсуждать достоинства и недостатки этого веб-обозревателя, а поговорим о процедуре его инсталляции в операционные системы на базе ядра Linux. Как известно, выполнение этой задачи значительно отличается от той же платформы Windows, поэтому и требует детального рассмотрения.
Устанавливаем Google Chrome в Linux
Далее мы предлагаем ознакомиться с двумя различными методами установки рассматриваемого браузера. Каждый будет наиболее подходящим в определенной ситуации, поскольку у вас имеется возможность выбрать сборку и версию самостоятельно, а потом уже добавлять все компоненты в саму ОС. Практически на всех дистрибутивах Линукс этот процесс осуществляется одинаково, разве что в одном из способов придется выбрать совместимый формат пакета, из-за чего мы предлагаем вам руководство, основанное на последней версии Ubuntu.
Способ 1: Установка пакета с официального сайта
На официальном сайте Google для скачивания доступны специальные версии браузера, написанные под дистрибутивы Linux. Вам нужно только загрузить пакет на компьютер и провести дальнейшую инсталляцию. Пошагово эта задача выглядит так:
- Перейдите по указанной выше ссылке на страницу загрузки Google Chrome и нажмите на кнопку «Скачать Chrome».
Выберите формат пакета для загрузки. В скобках указаны подходящие версии операционных систем, поэтому с этим сложностей возникнуть не должно. После этого щелкните на «Принять условия и установить».
Теперь вы можете запустить скачанный DEB или RPM-пакет через стандартное средство ОС и кликнуть на кнопку «Установить». По завершении инсталляции запускайте браузер и приступайте к работе с ним.
Детально ознакомиться с методами установки DEB или RPM-пакетов вы можете в других наших статьях, перейдя по указанным ниже ссылкам.
Подробнее: Установка RPM-пакетов / DEB-пакетов в Ubuntu
Способ 2: Терминал
Не всегда у пользователя имеется доступ к браузеру или получается найти подходящий пакет. В таком случае на помощь приходит стандартная консоль, через которую можно загрузить и установить любое приложение на свой дистрибутив, включая рассматриваемый веб-обозреватель.
- Для начала запустите «Терминал» любым удобным образом.
Загрузите пакет нужного формата из официального сайта, задействовав команду sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb , где .deb, может меняться на .rpm , соответственно.
Введите пароль от своей учетной записи для активации прав суперпользователя. Символы при наборе никогда не отображаются, обязательно учитывайте это.
Ожидайте завершения загрузки всех необходимых файлов.
Установите пакет в систему с помощью команды sudo dpkg -i —force-depends google-chrome-stable_current_amd64.deb .
Вы могли заметить, что в ссылке содержится только приставка amd64, а это значит, что скачиваемые версии совместимы только с 64-разрядными операционными системами. Такая ситуация сложилась из-за того, что Google перестали выпускать 32-битные версии после сборки 48.0.2564. Если вы хотите получить именно ее, нужно будет проводить немного другие действия:
- Потребуется загрузить все файлы из пользовательского репозитория, а делается это через команду wget http://bbgentoo.ilb.ru/distfiles/google-chrome-stable_48.0.2564.116-1_i386.deb .
При получении ошибки о неудовлетворении зависимостей пропишите команду sudo apt-get install -f и все будет работать нормально.
Альтернативный вариант — вручную проставьте зависимости через sudo apt-get install libxss1 libgconf2-4 libappindicator1 libindicator7 .
После этого подтвердите добавление новых файлов, выбрав соответствующий вариант ответа.
Запускается браузер с помощью команды google-chrome .
Откроется стартовая страница, с которой начинается взаимодействие с веб-обозревателем.
Инсталляция разных версий Chrome
Отдельно бы хотелось выделить возможность установки разных версий Google Chrome рядом или выбора стабильной, бета или сборки для разработчика. Все действия все так же выполняются через «Терминал».
- Загрузите специальные ключи для библиотек, введя wget -q -O — https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add — .
Далее скачайте необходимые файлы с официального сайта — sudo sh -c ‘echo «deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main» >> /etc/apt/sources.list.d/google-chrome.list’ .
Обновите системные библиотеки — sudo apt-get update .
Запустите процесс установки необходимой версии — sudo apt-get install google-chrome-stable , где google-chrome-stable может быть заменено на google-chrome-beta или google-chrome-unstable .
В Гугл Хром уже встроена свежая версия Adobe Flash Player, но не у всех пользователей Linux она работает корректно. Мы предлагаем вам ознакомиться с другой статьей на нашем сайте, где вы найдете детальное руководство по добавлению плагина в саму систему и браузер.
Как видите, приведенные выше способы разные и позволяют выполнить установку Google Chrome в Linux, основываясь на своих предпочтениях и возможностях дистрибутива. Мы настоятельно советуем ознакомиться с каждым вариантом, а потом уже выбрать наиболее подходящий для себя и следовать инструкциям.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Void Linux на musl libc. История борьбы
Вместо введения
В феврале 2021 года, я купил себе новый ноутбук. Ну и как это обычно бывает, разумеется я решил поставить на него основной ОС Linux. Почему не Windows? Потому что. Узкоспециализированным софтом по типу фотошопа не пользуюсь, минимум что мне нужно от системы — скорость и наличие в ней IDE и браузера с эксплорером, ну и чтобы от батареи долго работало. Если винда и подходит по первым пунктам, то вот с последним беда. Поэтому я приступил к поиску дистрибутива.
Выбирал долго. Искал такой дистр, чтобы его поставить, настроить и забыть. Спустя 2 дня усердного гуглинга, выбор пал на Arch, все пакеты, нужные мне там были, единственно смущала systemd, но я на тот момент из альтернатив знал только Gentoo, поэтому просто смирился, да и работа не ждет, пора ставить систему.
Вечером я просто пролистывал ленту и случайно наткнулся на neofetch Void`a. Тогда я вообще не знал об этом дистре, а неофетч понравился, картинка красивая, зеленая. Загуглил (лучше бы я этого не делал).
Почему Void
Читая описание я прям воодушевился! Просто не верил своим глазам: разработан с нуля, с супер-быстрым пакетным менеджером xbps (тоже с нуля), система инициализации runit, rolling release — одним словом супер. Прям то, что доктор прописал, все для меня подходит, подумал я перешел на вкладку Downloads. Arch уже был благополучно забыт.
Но вот незадача, что выбрать, неизвестную (мне тогда) musl libc или старую добрую glibc. Я смутился и опять полез в вики, благо там была отдельная ссылка про эту библиотеку.
musl is lightweight, fast, simple, free, and strives to be correct in the sense of standards-conformance and safety.
Прочитал я, и забыв обо всем скачал base версию дистрибутива на musl, заодно прихватив с собой lxde версию, чисто по приколу с лайв режима пощупать.
Первые «звоночки»
Запустившись с лайв режима в lxde я увидел это:
No session for pid 991
Не знаю честно говоря, что это был за баг и баг ли это был вообще, но это меня даже не насторожило. Дальше все было нормально, загрузил терминал, потыкал xbps, понял что немного неудобно для операции поиска вводить xbps-query, а для установки xbps-install. В последствии уже привыкаешь, чуть ли не на автоматизме этой утилитой пользуешься.
Накатил базовую систему, сделал памятное фото tty и начал настраивать линукс.
Красивый логотип и 128 пакетов
В качестве оконного менеджера выбрал i3wm, ведь тайлинг, да еще и на ноутбуке — удобно! Плюс, что он много есть не просит и после всех настроек, из 8 гигов оперативки, система, с запущенным firefox’ом (25 вкладок) съедает всего 2.7 гигабайта. По итогу получилось вот так:
Этот скрин сделан на момент печати статьи
А теперь те самые звоночки. Захотел запустить Visual Studio Code (он у меня уже был установлен, и при установке ошибок не было), до необходимости его не открывал, а расширения решил потом поставить. Но надо бы доделать проект, я открываю rofi, нахожу там code-oss, запускаю и. ничего. Думал, что надо чуть-чуть подождать..подождал минуту, две. десять минут. Посмотрел логи, а там странная ошибка: Warning: ‘app’ is not in the list of known options, but still passed to Electron/Chromium. Пошел гуглить, вроде ничего страшного, это даже не особо, то и ошибка, он должен загрузиться. Но я проверил, он даже на милисекунду не открывался. Тогда то я и решил воспользоваться xbps-src. Этот скрипт позволяет, как я понял, собрать пакет из исходников для моей системы. Собирал долго, в конце концов получив тонну непонятных ошибок. А время идет, пришлось поискать альтернативу вскоду, потому что, как позже выяснилось, он не может быть собран для musl. Atom к слову вообще отсутствовал в репозитории. Из 10 предложенных альтернатив, загрузился только codelite, но это уже совсем не то..
И такая история — это капля в море ошибок несовместимости, как следствие, я чувствовал себя словно в клетке. Захотел Google Chrome? Он не может быть собран для musl, пользуйся Chromium’ом, без гугл-аккаунта. Как альтернатива — firefox. Захотел Github-Desktop? Он не работает. Что делать? Бежать искать альтернативу. Раз за разом наблюдая пустой вывод команды xbps-query -Rs , надеясь, что следующие поиски дадут хоть какой-нибудь результат.
В таком адском режиме я провел 5 месяцев, при неудаче успокаивая себя тем, что сама система работает быстро и безотказно (как с glibc), а значит можно жить. Не работает пакет? Переустанови и перезагрузи компьютер. Опять не работает? Ищем недостающие библиотеки в гугле или ищем инфу по ошибке на мертвом реддите воида, потому что больше негде. К слову информации по дистрибутиву в интернете очень мало, и если я и фиксил проблему быстро, то это не более чем простое везение. За это время я перекопал горы конфигов и библиотек, даже пытался собирать ПО из исходников (естественно безуспешно, потому что не хватало glibc).
В какой-то момент я поставил gcompat, но он не работал должным образом. Сайт альтернатив, постоянно занимал первую вкладку браузера. Естественно после установки-удаления пакетов скапливалось очень много хлама, хорошо, что есть xbps-query -O (показывает «осиротевшие пакеты», которые ставятся, как зависимости, а потом просто занимают место на диске). Очень редко когда установленный софт начинал работать корректно и сразу. По итогу я стал будто параноиком, первое, что приходит в голову, при какой либо ошибке: «musl!»
Заключение
Прямо сейчас я делаю загрузочную флешку с дистрибутивом Void linux на базе glibc. На виртуальной машине, все программы, в которых я столь долго себе отказывал, заработали должным образом. Борьба окончена. Все необходимые файлы, конфиги и проекты сохранены на внешнем жестком диске. Так же ждет своей очереди скрипт, который был написан с целью вернуть компьютер в «исходное» состояние, как будто я не удалял систему. Void Linux — прекрасный дистрибутив, он и правда быстр и легок, а xbps — это самый быстрый пакетный менеджер из всех, которые я когда либо встречал (и если привыкнуть к его особенностям, то и самый удобный). Но musl. Уж лучше подождать несколько наносекунд или понаблюдать за warning’aми в консоли, чем бороться с несовместимостями и отказывать себе снова и снова в любимом софте. Если надумали поставить Void Linux, не трогайте musl.
Источник