Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізіяНаступна ревізіяПо сторонах наступні версії |
uk:slackware:multilib [2016/11/15 09:14 (UTC)] – streamthreader | uk:slackware:multilib [2016/11/15 20:46 (UTC)] – [Підтримання в актуальному стані, пакунки муьлти-бібліотечності] streamthreader |
---|
Крім декількох README файлів (ця стаття з Wiki є поліпшеною версією тих README файлів), ви знайдете по одній під-дерикторії на кожен 64-розрядний випуск Slackware, відносно кореневої папки "//multilib//". Також існує директорія під назвою "source". В папці "//source//" знаходиться сирцевий код пакунків, та скрипти для збірки SlackBuild.\\ Але дійсно цікаве - бінарні пакунки, які доступні в під-директорії //<slackware_номер_релізу>// яка знаходиться під кореневою директорією. Кожна така директорія містить під-директорію "//slackware64-compat32//" де ви знайдете перезібрані 32-розрядні пакунки, готові для встановлення на 64-х розрядну Slackware. | Крім декількох README файлів (ця стаття з Wiki є поліпшеною версією тих README файлів), ви знайдете по одній під-дерикторії на кожен 64-розрядний випуск Slackware, відносно кореневої папки "//multilib//". Також існує директорія під назвою "source". В папці "//source//" знаходиться сирцевий код пакунків, та скрипти для збірки SlackBuild.\\ Але дійсно цікаве - бінарні пакунки, які доступні в під-директорії //<slackware_номер_релізу>// яка знаходиться під кореневою директорією. Кожна така директорія містить під-директорію "//slackware64-compat32//" де ви знайдете перезібрані 32-розрядні пакунки, готові для встановлення на 64-х розрядну Slackware. |
| |
===== Слідкуйте, та користуйтесь найсвіжишим пакунком муьлти-бібліотечності ===== | ===== Підтримання пакунків муьлти-бібліотечності в актуальному стані ===== |
| |
Для того, щоб бути в курсі оновлень, Я наполягаю на тому, щоб ви слідкували за [[http://slackware.com/~alien/multilib/ChangeLog.txt | журналом змін]] ([[http://slackware.com/~alien/multilib/ChangeLog.rss|RSS новинами]]) які я обслуговую для моїх мульти-бібліотечних пакунків. За звичай, я //оновлюю пакунки glibc та gcc// на слідуючий день, після оновлення цих пакунків у Slackware. | Для того, щоб бути в курсі оновлень, Я наполягаю на тому, щоб ви слідкували за [[http://slackware.com/~alien/multilib/ChangeLog.txt | журналом змін]] ([[http://slackware.com/~alien/multilib/ChangeLog.rss|RSS новинами]]) які я обслуговую для моїх мульти-бібліотечних пакунків. За звичай, я //оновлюю пакунки glibc та gcc// наступного дня, після оновлення цих пакунків у Slackware. |
| |
| Автоматизація: |
| - Перевірте інструмент [[#rd_party_support_tools | compat32pkg]] Себастєна Балета, який автоматизує цей процес, на зразок як це робить slackpkg. |
| - Якщо ви віддаєте перевагу slackpkg, для керування пакетами, то варто, перевірити [[http://slakfinder.org/slackpkg+.html|slackpkg+]], це додаток до slackpkg, який керує пакунками, які ви встановили зі стороннього репозіторія - включаючи мільти-бібліотечність. Коли все правильно налаштовано, то підтримка оновленої версії мільти-бібліотечності дуже просте: <code> |
| # slackpkg update |
| # slackpkg upgrade multilib |
| # slackpkg install multilib |
| </code> Остання команда покаже якщо будь-який новий пакунок було додано до колекції пакунків "compat32", як наприклад поточні llvm-compat32 та orc-compat32. |
| * Як за звичай виглядає налаштування - для комп'ютера з запущеною Slackware-current, та використовуючи тестовий репозіторій Alien BOB-а для KDE. PKGS_PRIORITY Забезпечує, що мільти-бібліотечні пакунки для gcc та glibc має перевагу, над оригінальним від Slackware. Ключове слово "multilib" яке означає ім'я репозіторія, має бути таким самим ім'ям, яке використовувалось вище в команді "slackpkg". Обране ім'я "multilib" довільне, воно могло б, точно так же бути "compat32", до тих пір, поки ви використовуєте його послідовно. \\ Зміст файлу для прикладу "/etc/slackpkg/slackpkgplus.conf" буде: <file> |
| SLACKPKGPLUS=on |
| VERBOSE=1 |
| ALLOW32BIT=off |
| USEBL=1 |
| WGETOPTS="--timeout=5 --tries=1" |
| GREYLIST=on |
| PKGS_PRIORITY=( multilib restricted alienbob ktown ) |
| REPOPLUS=( slackpkgplus multilib restricted alienbob ktown ) |
| MIRRORPLUS['multilib']=http://bear.alienbase.nl/mirrors/people/alien/multilib/current/ |
| MIRRORPLUS['alienbob']=http://bear.alienbase.nl/mirrors/people/alien/sbrepos/current/x86_64/ |
| MIRRORPLUS['restricted']=http://bear.alienbase.nl/mirrors/people/alien/restricted_sbrepos/current/x86_64/ |
| MIRRORPLUS['ktown']=http://bear.alienbase.nl/mirrors/alien-kde/current/latest/x86_64/ |
| MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/ |
| </file> |
===== Включення підтримки мульти-бібліотечності в Slackware64 ===== | ===== Включення підтримки мульти-бібліотечності в Slackware64 ===== |
| |
==== Інструкція по швидкому методу ==== | ==== Інструкція по швидкому методу ==== |
| |
Цей розділ містить основні інструкції щодо додавання повної мультибібліотечної сумісності в систему Slackware64. Якщо ви хочете зрозуміти більш детальніше цей процес, чи вам потрібна інформація по збірці 32-х розрядного ПЗ на Slackware64, вам треба ознайомитись з наступним розділом.\\ Увага, символ "''#''" означає що це //командний рядок користувача root//. | Цей розділ містить основні інструкції щодо додавання повної мульти-бібліотечної сумісності в систему Slackware64. Якщо ви хочете зрозуміти більш детальніше цей процес, чи вам потрібна інформація по збірці 32-х розрядного ПЗ на Slackware64, вам треба ознайомитись з наступними розділами.\\ Увага, символ "''#''" означає що це //командний рядок користувача root//. |
| |
* Завантажте пакунки з мого веб сайту (я даю посилання [[#obtaining_multilib_packages | в попередньому розділі]], але в цьому прикладі я використовую дзеркало). Припустимо що у вас запущена Slackware 14.1. Виконайте команди: <code> | * Завантажте пакунки з мого веб сайту (я дав посилання [[#obtaining_multilib_packages | в попередньому розділі]], але в цьому прикладі я використовую дзеркало). Припустимо що у вас запущена Slackware 14.2. Виконайте команди: <code> |
# SLACKVER=14.1 | # SLACKVER=14.2 |
# mkdir multilib | # mkdir multilib |
# cd multilib | # cd multilib |
# cd ${SLACKVER} | # cd ${SLACKVER} |
</code> | </code> |
* Поновіть в 64-х розрядній Slackware такі пакунки //gcc//" та "//glibc//" до мульти-бібліотечних версій.\\ Виконайте команду: <code> | * Оновіть в 64-х розрядній Slackware пакунки //gcc//" та "//glibc//" до мульти-бібліотечних версій.\\ Виконайте команду: <code> |
# upgradepkg --reinstall --install-new *.t?z | # upgradepkg --reinstall --install-new *.t?z |
</code> після того як ви перейшли до директорії в яку завантажили ці пакунки.\\ Ця команда встановить допоміжні пакунки під назвою "//compat32-tools//". | </code> після того як ви перейшли до директорії в яку завантажили ці пакунки.\\ Ця команда встановить допоміжні пакунки під назвою "//compat32-tools//". |
* Якщо ви також завантажили директорію //slackware64-compat32// (в моєму прикладі команда "''lftp''" робить це автоматично) ви будете раді пізнати, що необхідні 32-х розрядні пакунки вже перетворенні як треба! Все що від вас потрібно, це виконати команду: <code> | * Якщо ви також завантажили директорію //slackware64-compat32// (в моєму прикладі команда "''lftp''" робить це автоматично) ви будете раді пізнати, що необхідні 32-х розрядні пакунки вже перетворенні як треба! Все що від вас потрібно, це виконати команду: <code> |
# upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z | # upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z |
</code> яка встановить усі необхідні 32-х розрядні пакунки (чи поновить їх, якщо вони вже встановлені зі старою версією набору мульти-бібліотечності). Це все! | </code> яка встановить відконвертовані 32-х розрядні пакунки (чи оновить їх, якщо вони вже були встановлені зі старої версії мульти-бібліотечності). Це все! |
* Якщо ви не знайшли директорію //slackware64-compat32// це значить, що в її не завантажили, або дзеркало з пакунками не містить необхідну директорію. В цьому випадку, ви можете самі перетворити 32-х розрядні пакунки для встановлення. Це не важко, та займе декілька хвилин: | * Якщо ви не знаходите директорію //slackware64-compat32// це означає, що в її не завантажили, або дзеркало з пакунками не містить необхідну директорію. В цьому випадку, ви можете самі переконвертувати 32-х розрядні пакунки для встановлення. Це не важко, та займе декілька хвилин: |
* Найшвидше буде, якщо у вас є локальна копія з оригінальними 32-х розрядними пакунками від Slackware, (в цьому випадку воно має назву //локальне дзеркало// ). В тих, у кого є офіційний DVD носій, може використати його: він двосторонній, та 32-х розрядна версія Slackware знаходиться на одній із сторін. __Для цього прикладу__ Я очікую, що у вас є локальна копія 32-х розрядної Slackware у директорії "''/home/ftp/pub/slackware/slackware-14.1/slackware/''".\\ Де розміщені під-директорії 'a', 'ap', 'd', 'l', 'n' та 'x'. (Якщо у вас змонтовано DVD диск, то директорія може знаходитись тут "''/media/SlackDVD/slackware/''" але цей варіант я тут не використовую). | * Найшвидше буде, якщо у вас є локальна копія з оригінальними 32-х розрядними пакунками від Slackware, (в цьому випадку воно має назву //локальне дзеркало// ). В тих, у кого є офіційний DVD носій, може використати його: він двосторонній, та 32-х розрядна версія Slackware знаходиться на одній із сторін. __Для цього прикладу__ Я очікую, що у вас є локальна копія 32-х розрядної Slackware у директорії "''/home/ftp/pub/slackware/slackware-14.1/slackware/''".\\ Де розміщені під-директорії 'a', 'ap', 'd', 'l', 'n' та 'x'. (Якщо у вас змонтовано DVD диск, то директорія може знаходитись тут "''/media/SlackDVD/slackware/''" але цей варіант я тут не використовую). |
* Створіть нову пусту директорію (давайте назвемо її 'slackware64-compat32') та перейдіть до неї: <code> | * Створіть нову пусту директорію (давайте назвемо її 'slackware64-compat32') та перейдіть до неї: <code> |