Страница 1 из 1

Slackware64 => Slackware64 multilib

Добавлено: 29 янв 2012, 14:42
Infernal Flame
Переехав на новую машину решил поставить 64-битную версию Слаки. Каким же было мое удивление, когда ранее работавшие 32-битные бинарники меня тупо посылали на йух за каким-то там файлом, которого не могли найти, но имени его не говорили. Вооружившись гугелем решил найти в чем же таки кроется траблсорс. В итоге было выяснено, что изначально 64-битная слакварь таки не желает иметь с 32-битной ничего общего в виду отсутствия нужных либ в репозитории. Однако же проблема, как оказалось, вполне решаемая. Ниже приведен краткий и вольный перевод статьи известного слакварщика под ником Alien's Bob



Эта статья поможет сделать из 64 битной Слаквари систему способную также запускать 32-битные приложения (procompiled Skype, WINE, VirtualBOX, Citrix, etc) без дополнительных танцев с бубном.

Для начала скачиваем с ресурса http://slackware.com/~alien/multilib/ пакеты для своей версии слаки (13.0, 13.1, 13.37, current). Стоит обратить внимание, что необходимо скачать полностью все содержимое (вместе с поддиректорями).

После загрузки пакетов в консоли переходим в директорию куда это все скачалось и выполняем

Код: Выделить всё

# upgradepkg --reinstall --install-new *.t?z
Это обновит установленные пакеты "gcc" и "glibc" до multilib-версии. Также установит специальный пакет ”compat32-tools”, из названия которого можно понять для чего он ставится.

Далее. Я не зря рекомендовал скачать полностью все содержимое. Ибо это облегчит дальнейшую участь - не надо будет компилить и пересобирать пакеты, а все обойдется банальным обновлением их до версии multilib или же установкой недостающих библиотек:

Код: Выделить всё

# upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
Если же директория *compat32 не была скачана, то можно обойтись и без нее собрав необходимое самостоятельно. Для этого нам понадобится оригинальный 32-битный репозиторий текущей версии системы (13.0, 13.1, 13.37, current).

Далее создаем директорию slackware64-compat32 и переходим в нее:

Код: Выделить всё

# mkdir slackware64-compat32 ; cd slackware64-compat32
И запускаем следующий скрипт с аргументом - полным путем до дистрибутива 32-битной системы:

Код: Выделить всё

massconvert32.sh -i /home/ftp/pub/slackware/slackware-13.37/slackware/
Ждем завершения выполнения предыдущего скрипта. После этого у нас появится около 90 Mb свежесобранных пакетов, которые необходимо установить:

Код: Выделить всё

# upgradepkg --install-new *-compat32/*.t?z
На этом все. Ваша система готова к запуску бинарных 32-битных приложений, но так же остается 64-битной.

Стоит добавить, что если вы пользуетесь пакетным менеджером slackpkg, то стоит добавить установленные пакеты в черный список менеджера. Чтобы при следующем апдейте системы расширенные пакеты не были заменены оригинальными с зеркала Slackware. Slackpkg поддерживает регулярные выражения в своих листах. Что позволяет исключить перезапись multilib-пакетов добавлением одной строки в файл /etc/slackpkg/blacklist:

Код: Выделить всё

[0-9]+alien
Так же если вы используете версию 13.1 или выше и скачали и установили пакет compat32-tools, то скрипт massconvert32.sh может использовать внешние зеркала дистрибутива:

Код: Выделить всё

massconvert32.sh -u http://someserver.org/path/to/slackware-13.37/slackware
Оригинал статьи находится по адресу: Тут
Мой перевод: Тут

з.ы. в дальнейшем имею желание таки перевести статью полностью и добавить перевод в вышеуказанный вики-лист...

Re: Slackware64 => Slackware64 multilib

Добавлено: 29 янв 2012, 16:40
Raven
*COOL*

Re: Slackware64 => Slackware64 multilib

Добавлено: 26 ноя 2013, 18:41
BaHbKa
*THUMBS UP*