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

Отключение MultiArch в Ubuntu.


Если вы пользователь 32-битной Убунту, то проблема множества архитектур на одном ПК вас не касается. Пользователи 64-битной системы могут использовать как 64-битные версии прикладного ПО, так и 32-битные. Но могут не значит должны!

В ранних версиях Убунту для работы 32-битного софта в 64-битной системе нужно было устанавливать не хилый пакет ia32-libs. После релиза Ubuntu 12.04 не стоит искать пакет ia32-libs, так как работает новый механизм, взятый из Debian, под названием MultiArch.

Очередным утром задался вопросом: "Много ли я наустанавливал 32-битных программ и их библиотек?" Ответ даст одна из простейших команд: dpkg -l | grep i386

Решился превратить свой комп в оплот 64-битных программ и изгнать софт, который не обзавёлся своими 64-битными версиями.
sudo apt-get --simulate purge `dpkg --get-selections | grep i386 | awk '{print $1}'`

Без параметра --simulate удалилось больше 700 Мб программ и библиотек, среди которых Steam, PlayOnLinux, Google Earth и Microsoft Skype. С одной стороны 700 Мб не большая цена за использование 32-битного ПО в системе, но с другой стороны - 21 век на дворе и 64 бита давно не новинка. WTF?

И тут нужно решить лёгкий для себя вопрос: стоит ли лишать себя софта, который так и не обзавёлся 64-битной версией, или найти обходное решение? Как говорил Фридрих Ницше: "Что не убивает меня, то делает меня сильнее."

Август 2013 прошёл у меня под знаком тестирования нового дисплейного сервера Mir, ради которого я отказался от проприетарных драйверов NVIDIA и перешёл на свободные драйвера nouveau. Разработчики Canonical в почтовой рассылке пишут, что вместе с производителями GPU ведут разговоры о появлении интерфейса EGL в проприетарных драйверах, который нужен всем и в том числе для Mir. То есть через интерфейс EGL в ближайшем будущем Mir будет работать с теми же самыми проприетарными драйверами NVIDIA и других производителей, написанные для X11. Но пока доступны для Mir только свободные драйвера, которые по производительности ниже, чем закрытые.

То есть я уже вынужден не играть, из-за низкой производительности nouveau, а точнее из-за низких частот GPU, которые выставила nouveau для моей NVIDIA Corporation GF119 [GeForce GT 520]. Поэтому потеря Steam и PlayOnLinux меня мало расстроила. Поразителен тот факт, что PlayOnLinux, с которым я подружился, является просто GUI для удобного манипулирования WINE и обладает только 32-битной версией, в то время как WINE имеет 64-битную версию. Правда нужно сказать, что через репозитории Убунту ставится всё-таки 32-битный WINE, так как на странице проекта Wine64 описаны проблемы из-за различия в x86_64 ABI у Linux и MS Windows.

Если вам интересна тема - 64 бита, плюсы и минусы архитектуры, проблемы перехода с 32 на 64 бита, то рекомендую русский проект viva64.com и поискать на habrahabr.ru по запросу PVS-Studio.

Моё желание использовать в Убунту только 64 бита показало, что относительно немного прикладного софта есть только в 32-битной версии и это не может не радовать. Google Earth можно пользовать и через браузер, а Microsoft Skype мне на рабочем компьютере не сильно и нужен. Остаётся решить вопрос с игровым направлением в виде Steam и PlayOnLinux, но этот вопрос я решу позднее, после Mir + проприетарные драйвера.

Сейчас нужно решить вопрос - как предотвратить случайную установку любых 32-битных программ через различные установщики софта?

Для удаления 32-разрядной архитектуры, воспользуемся низкоуровневой утилитой dpkg sudo dpkg --remove-architecture i386

Команда dpkg --print-foreign-architectures должна вывести пустое значение, так как после удаления 32-битной архитектуры нет других (foreign) архитектур (architectures). Команда dpkg --print-architecture должна вывести amd64, как символ любой 64-битной платформы.

Теперь высокоуровневные установщики типа apt-get, Synaptic и даже Центр приложений Ubuntu будут информировать об ошибке при установке пакета, который содержит 32-битное приложение.

Как пример:
sudo apt-get --simulate install wine
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного, или же используете нестабильную версию дистрибутива, где запрошенные вами пакеты ещё не созданы или были удалены из Incoming. Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
wine : Зависит: wine1.4, но он не будет установлен.
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

Теперь нужно помнить, что MultiArch отключён и при проблемах в установке софта помнить про недоступность 32-битной архитектуры.

Дополнительные материалы:
Правильная установка программ в Ubuntu.
Ubuntu и различные архитектуры.
Как я подружился с PlayOnLinux.
32 бита против 64 бита.

Дата последней правки: 2013-10-03 09:17:46

RSS vasilisc.com   


Разделы

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