Порівняння попередніх версійПопередня ревізіяНаступна ревізія | Попередня ревізіяНаступна ревізіяПо сторонах наступні версії |
uk:slackware:multilib [2014/07/06 14:48 (UTC)] – [Translations] streamthreader | uk:slackware:multilib [2016/11/15 20:46 (UTC)] – [Підтримання в актуальному стані, пакунки муьлти-бібліотечності] streamthreader |
---|
<note important>In Translating...</note> | |
| |
| |
===== Додавання Мульти-Бібліотечності в Slackware з архітектурою x86_64 ===== | ===== Додавання Мульти-Бібліотечності в Slackware з архітектурою x86_64 ===== |
| |
Це стаття містить інструкцію по тому, як створити //справжню мультибібліотечну// Slackware64. Мультибібліотечна Slackware64 спроможна запускати як 64-х розрядні так і 32-х розрядні програми. У документі [[http://www.pathname.com/fhs/pub/fhs-2.3.html#LIB64 | Стандарт ієрархії файлової системи]] описується оптимальне розміщення 32-х та 64-х бітного програмного забезпечення в одній системі. Коли була розпочата розробка порту "Slackware64" (офіційний порт під архітектуру [[wp>x86_64]]) ми вирішили адаптуватися під цей стандарт. Тому Slackware64 налаштована шукати 64-х розрядні бібліотеки у директоріях ''/lib64'' та ''/usr/lib64''. Ось чому вона має назву Slackware64 "multilib-ready" - хоча, 32-х розрядні бібліотеки вона буде шукати у директоріях ''/lib'' та ''/usr/lib'', але 32-х розрядних програми чи бібліотек, з системою не постачається. Є декілька кроків, які повинен зробити користувач, щоб перетворити систему на Slackware64 "multilib-enabled". | Це стаття містить інструкцію по тому, як створити //справжню мультибібліотечну// Slackware64. Мульти-бібліотечий 64-розрядний Linux, спроможний запускати як 64-х так і 32-х розрядні програми. У документі [[http://www.pathname.com/fhs/pub/fhs-2.3.html#LIB64 | Стандарт ієрархії файлової системи]] описується оптимальний метод розміщення окремо 32-х та 64-х бітного програмного забезпечення в одній системі. Коли була розпочата розробка порту "Slackware64" (офіційний порт під архітектуру [[wp>x86_64]]) ми вирішили адаптувати цей стандарт. Тому Slackware64 була налаштована шукати 64-х розрядні бібліотеки у директоріях ''/lib64'' та ''/usr/lib64''. Ось чому я називаю її Slackware64 "multilib-ready" - незважаючи на те, що 32-х розрядні бібліотеки вона буде шукати у директоріях ''/lib'' та ''/usr/lib'', 32-х розрядних програми чи бібліотек, з системою Slackware64 не постачається. Користувачу потрібно зробити декілька кроків, перед тим як систему можна буде називати Slackware64 "multilib-enabled". |
| |
Це досягається наступним чином: | Це досягається наступним чином: |
- Спочатку треба перемкнути в режим мультибібліотечності наступні програми: | - Спочатку нам потрібно перемкнути в режим мульти-бібліотечності наступні програми: |
* //glibc// (так як glibc підтримує //запуск// як 32-х так і 64-х розрядних програм), а також | * //glibc// (тобто glibc який підтримує //запуск// як 32-х так і 64-х розрядних програм), а також |
* //gcc// (так як він може //скомпілювати// як 32-х так і 64-х розрядні програми). | * //gcc// (так як він спроможний //компілювати// як 32-х так і 64-х розрядні програми). |
- Після цього треба взяти системні бібліотеки з 32-х розрядної Slackware та скопіювати до 64-х розрядної, для створення 32-х розрядного програмного шару. | - Після цього треба взяти системні бібліотеки з 32-х розрядної Slackware та встановити в 64-х розрядну, для створення 32-х розрядного програмного шару. |
| |
<note>Slackware для архітектури x86_64 (чи скорочено "//Slackware64//") це чиста 64-х розрядна операційна система, але вона дуже просто може бути перетворена на варіант з мультибібліотечністю. //З коробки Slackware64 може виконувати та збирати тільки 32-х розрядне програмне забезпечення.//</note> | <note>Slackware для архітектури x86_64 (чи скорочено "//Slackware64//") це лише чиста 64-х розрядна операційна система, але вона дуже просто може бути оновлена до підтримки мульти-бібліотечності. //З коробки Slackware64 може виконувати та збирати тільки 32-х розрядне програмне забезпечення.//</note> |
| |
Коли вийшов Skackware64, він мав перевагу над 64-розрядними "форками" які були на той час доступні. Ці форки додавали 32-розрядний шар завдяки повній перекомпіляції великої кількості програмного забезпечення як 32-х розрядного. | Коли вийшла Skackware64, вона мала перевагу над 64-розрядними "форками" які були на той час доступні. Ці форки додавали 32-розрядний шар, завдяки перекомпіляції великої кількості своїх пакетів під 32-х розрядну архітектуру. З іншого боку, Slackware, дистрибутив який виходить як 32-х так і в 64-х розрядному вигляді, обидва варіанти розробляються паралельно. Це означає, що вам не доведеться знову збирати 32-х розрядні пакунки з нуля, для того щоб додати сумісність у вигляді мульти-бібліотечності до системи з архітектурою 64. Ви просто берете пакунки з 32-х розрядного дистрибутиву Slackware! \\ Ось чому ми не додаємо відразу мульти-бібліотечніть до Slackware64 - натомість ми створюємо передумову, завдяки якій у вас є вибір, та і інструкція по тому як зробити мульти-бібліотечну систему. \\ В [[#detailed_instructions | розділі нижче]], я покажу як взяти пакунки 32-х розрядної Slackware (назвемо їх "mesa") та переупакуємо їх вміст в пакунки "mesa-compat32", які можна буде встановити напряму в Slackware64. |
| |
Іншими словами, Slackware це дистрибутив який виходить як 32-х так і в 64-х розрядному вигляді, обидва варіанти розробляються паралельно. Це означає, що вам не доведеться знову збирати 32-х розрядні пакунки з нуля, для того щоб додати сумісність у вигляді мультибібліоті до системи з архітектурою 64. Ви просто берете пакунки з 32-х розрядного дистрибутиву Slackware! \\ Ось чому ми не додаємо відразу мультибібліотечніть до Slackware64 - на томість ми створюємо передумову, завдяки якій у вас є вибір, та і інструкція по тому як зробити мультибібліотечну систему. \\ В [[#detailed_instructions | розділі нижче]], я покажу як взяти пакунки 32-х розрядної Slackware (назвемо їх "mesa" пакунки) та переупакуємо їх вміст в "mesa-compat32" пакунки, які можна буде встановити напряму в Slackware64. | |
| |
===== Переваги мульти-бібліотечної системи ===== | ===== Переваги мульти-бібліотечної системи ===== |
Ось декілька прикладів програмного забезпечення, яке потребує наявності мульти-бібліотечності в системі Slackware з архітектурою 64, тому що воно не може бути запущено чи зібрано без сумісного 32-х розрядного шару: | Ось декілька прикладів програмного забезпечення, яке потребує наявності мульти-бібліотечності в системі Slackware з архітектурою 64, тому що воно не може бути запущено чи зібрано без сумісного 32-х розрядного шару: |
* [[http://winehq.org/ | Wine]] \\ Більшість програм для платформи Windows все ще 32-х розрядні, і для того зоб запустити таке ПЗ на Linux, вам необхідна 32-х розрядна версія Wine. | * [[http://winehq.org/ | Wine]] \\ Більшість програм для платформи Windows все ще 32-х розрядні, і для того зоб запустити таке ПЗ на Linux, вам необхідна 32-х розрядна версія Wine. |
* [[http://www.virtualbox.org/ | VirtualBox]] \\ Популярна програмна віртуальна машина. Так-як ця програма (частково) з відкритим кодом, для неї досі треба 32-х розрядний шар сумісності в системі Slackware 64-х розрядної архітектури. | * [[http://www.virtualbox.org/ | VirtualBox]] \\ Популярна програмна, віртуальна машина. Так-як ця програма (частково) з відкритим кодом, для неї досі треба 32-х розрядний шар сумісності в системі Slackware 64-х розрядної архітектури. |
* [[http://www.skype.com/ | Skype]], [[http://www.citrix.com/lang/English/home.asp | Citrix клієнт]], ... \\ Ці програми проприєтарні, та їх код закрито. Ми залежні від розробника, який не виробляє 64-х розрядні бінарні файли. В цьому випадку, саме така ситуація. | * [[http://steampowered.com|Steam]] \\ Дуже популярна ігрова платформа, досі потребує [[http://www.slackware.com/~alien/slackbuilds/steamclient/|32-розрядний клієнт]]. Також більшість доступних ігор, 32-розрядні. |
| * [[http://www.skype.com/ | Skype]], [[http://www.citrix.com/lang/English/home.asp | Citrix клієнт]], ... \\ Ці програми проприєтарні, та їх код закрито. Ми залежимо від розробника, який не виробляє 64-х розрядні бінарні файли. В цьому випадку, саме така ситуація. |
| |
На радість, 64-розрядні програми набувають все більшої популярності. Adobe довгий час не випускав, але з якоїсь миті, нарешті випустив Flash плагін для 64-х розрядних операційних систем. Sun (поглинутий компанією Oracle) випустили 64-х розрядну версію плагіна Java. Ці дві великі події подали сигнал, що треба розробляти 64-х розрядну версію - Slackware64. | На радість, 64-розрядні програми набувають все більшої популярності. Adobe довгий час не випускав, але з якоїсь миті, нарешті випустив Flash плагін для 64-х розрядних операційних систем. Sun (поглинутий компанією Oracle) випустили 64-х розрядну версію плагіна Java. Ці дві великі події подали сигнал, що треба розробляти 64-х розрядну версію - Slackware64. |
Ви можете завантажити пакет multilib-enabled та скрипти з мого веб-сайту: http://slackware.com/~alien/multilib/ . | Ви можете завантажити пакет multilib-enabled та скрипти з мого веб-сайту: http://slackware.com/~alien/multilib/ . |
| |
Крім декількох README файлів (ця стаття з Wiki є поліпшеною версією тих README файлів), ви знайдете по одній під-дерикторії на кожен реліз 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. |
| |
| ===== Підтримання пакунків муьлти-бібліотечності в актуальному стані ===== |
| |
<note tip>Для того, щоб бути в курсі оновлень, Я наполягаю на тому, щоб ви слідкували за [[http://slackware.com/~alien/multilib/ChangeLog.txt | Змінами]] ([[http://slackware.com/~alien/multilib/ChangeLog.rss|RSS новинами]]) які я обслуговуваю для моїх мульти-бібліотечних пакунків. За звичай, я //поновлюю пакунки glibc та gcc// на слідуючий день, після оновлення цих пакунків у Slackware. Ще слідкуйте за [[#rd_party_support_tools | compat32pkg]] інструментом Себастіана Балета, який автоматизує цей процес, він схожий на slackpkg.</note> | Для того, щоб бути в курсі оновлень, Я наполягаю на тому, щоб ви слідкували за [[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> |
===== Пакунки пере-конвертовані скриптом massconvert32.sh ===== | ===== Пакунки пере-конвертовані скриптом massconvert32.sh ===== |
| |
Це список пакунків, які пере-конвертовано в сумісні пакунки "//-compat32//" скриптом ''massconvert32.sh''. Увага, деякі з цих пакунків, не є частиною Slackware 13.0 чи 13.1, вони біли добавлені, з більш нових версій Slackware, вони можуть спричинити деякі сповіщення про помилки "//*** FAIL: package 'package_name' was not found!//" під час запуску цього скрипту на старих версіях Slackware. Навпаки вірно - деякі пакунки були //вилучені// в нових версіях Slackware які спричиняють сповіщення "//*** FAIL: package 'package_name' was not found!//". Не піклуйтесь про це. | Це список пакунків, які пере-конвертовано в сумісні пакунки "//-compat32//" скриптом ''massconvert32.sh''. Увага, деякі з цих пакунків, не є частиною Slackware 13.0 чи 13.1, вони біли добавлені, з більш нових версій Slackware, вони можуть спричинити деякі сповіщення про помилки "//*** FAIL: package 'package_name' was not found!***//" під час запуску цього скрипту на старих версіях Slackware. Навпаки вірно - деякі пакунки були //вилучені// в нових версіях Slackware які спричиняють сповіщення "//*** FAIL: package 'package_name' was not found!***//". Не піклуйтесь про це. |
| |
<code bash> | <code bash> |
* Патрік Фоніо та Себастієн Балет переклали статтю на французьку: http://wiki.slackware-fr.org/avance:articles:slackware64-multilib | * Патрік Фоніо та Себастієн Балет переклали статтю на французьку: http://wiki.slackware-fr.org/avance:articles:slackware64-multilib |
| |
===== Acknowledgements ===== | ===== Подяки ===== |
| |
* A lot of thanks should go to Fred Emmott, who created Slamd64, the original unofficial 64-bit fork of Slackware. Although Slackware64 was not based on Fred's work, I still learnt most of what I know about setting up the 32-bit part of a multilib Linux from his writings that are found in Slamd64. | |
| |
* Cross Linux From Scratch.\\ The CLFS Wiki (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) is a 'must-read' if you want to understand how to port Linux to a new architecture. I took several ideas, concepts and patches from them when creating Slackware64 from scratch, and again when I created my multilib gcc/glibc packages from scratch (my README on this multilib-from-scratch is available in the ./source directory). | |
| |
| * Велика подяка Фред Емоту, він створив Slamd64, оригінальній не офіційний порт Slackware для 64-х розрядної архітектури. Хоча Slackware64 не базується на цьому форку. Я досі пізнаю, багато чого про налаштування 32-х розрядної частини мільти-бібліочечності в Linux, яке було описано для Slamd64. |
| * Linux From Scratch.\\ CLFS вікі (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) яку 'необхідно-прочитати' якщо ви хочете зрозуміти як портувати Linux на інші архітектури. Я взяв з відси деякі ідеї, концепти та патчі для створення Slackware64 з нуля, та знову коли створював пакунки мульти-бібліотечності gcc/glibc (файл README можна знайти в директорії ./source) |
| |
Have fun! | Удачі! |
| |
Eric | Ерік |
| |
===== Sources ===== | ===== Джерела ===== |
| |
* The original article, written by Eric Hameleers, is at http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib | * Оригінальну статтю написав Ерік Хамелірс, на http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib |
| |
<!-- Please do not modify anything below, except adding new tags.--> | <!-- Please do not modify anything below, except adding new tags.--> |
<!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents --> | <!-- You must also remove the tag-word "template" below. Otherwise your page will not show up in the Table of Contents --> |
{{tag>slackware multilib author_alienbob}} | {{tag>slackware multilib author_alienbob}} |