Контекст, у якому було зроблено допис
Багато хто буде знати, що я зазвичай використовую дистрибутиви на основі вихідного коду, справа в тому, що під час відпустки останнє оновлення мого коханого Фунту, це призвело до збою системи (можливо, я міг це виправити, але мені не хотілося з ними битися), тому я вирішив дати новий шанс Arch Linux, Я давно ним користувався.
І в чому була моя проблема з нею? В основному те, що я використовую ДУЖЕ програмне забезпечення AUR (для читачів, які вперше читають AUR, схоже на "репо", в якому користувачі завантажують програми, які не є в офіційних репозиторіях, щось на зразок PPA Ubuntu).
У чому проблема цього? Це багато разів програмне забезпечення AUR не працює, або тому, що супровідники нехтують своїми пакетами, або тому, що вони просто не мають знань, щоб виправити проблему, яка виникла з новою версією, це, в основному і, думаючи, що я дуже легко злюсь, це мене трахає, оскільки бути боротьба з компіляціями та збірками pkg, які ламаються Gentoo/Фунту.
Ось статистика сторінки офіційний будучи щедрими і припускаючи, що пакунки, які ніколи не оновлювались, та осиротілі пакунки однакові, ми маємо майже 1/4 AUR це не працює, звідси мій гнів. Що цього разу було іншим?
Початок допису
Я знайшов додаток локальний репо, це диво, що ви бачите, що когось турбує AUR Як і я, він вирішив створити, принаймні, щоб надати користувачеві контроль над цими "проблемами", в основному те, що дозволяє нам цей додаток, це зробити локальне сховище, в яке ми можемо помістити пакунки, які ми компілюємо з AUR, таким чином, ми можемо подбати про правильну організацію та підтримку пакетів з AUR.
Встановлення
Ми можемо завантажити та скомпілювати його за допомогою makepkg:
wget https://aur.archlinux.org/packages/lo/local-repo/local-repo.tar.gz
tar -xf local-repo.tar.gz
cd hello
makepkg -sic
Або ми можемо встановити його до Яорт:
yaourt -S --noconfirm local-repo
Налаштування:
Тоді, як там вказано, ми повинні налаштувати local-repo через файл «~ / .config / local-repo»Спочатку він порожній, що ми продовжимо, це створити папки, де ми розмістимо наше репо, в моєму випадку я помістив його в /home/x11tete11x/.repo/x11tete11x
mkdir -p ~/.repo/x11tete11x/logs
mkdir -p ~/.repo/x11tete11x/pkgbuilds
mkdir -p ~/.repo/x11tete11x/pkgs-x86_64
тепер ми налаштовуємо "~ / .config / local-repo":
nano ~/.config/local-repo
У всякому разі, оскільки те, для чого я хочу використовувати local-repo, є дуже простим, це моя конфігурація:
[x11tete11x]
path = /home/x11tete11x/.repo/x11tete11x/pkgs-x86_64
sign = no
signdb = no
log = /home/x11tete11x/.repo/x11tete11x/logs/local-repo-log
buildlog = /home/x11tete11x/.repo/x11tete11x/logs/build-logs
pkgbuild = /home/x11tete11x/.repo/x11tete11x/pkgbuilds
Як бачите, я вказую, звідки я хочу, щоб ви отримували кожну річ, ось у вас є опис того, що робить кожна річ, взятий із поста, на якому я базуюсь це робити:
- шлях -> Вказує розташування пакунків сховища.
- підпис -> Підпишіть пакети ключем PGP.
- signdb -> Підпишіть базу даних ключем PGP.
- журнал -> Розташування файлу, де буде збережено журнал локального репо.
- журнал збірки -> Папка, де зберігатимуться журнали під час створення пакетів.
- pkgbuild -> Папка, де зберігати файли PKGBUILD.
Додайте пакунки
Якщо пакет, який потрібно додати, знаходиться в наших папках як вільний пакет (наприклад, ми завантажуємо один і зберігаємо його в папці для завантажень, або ми самостійно компілюємо пакет у папці в нашому домі, призначеному для компіляцій), ми додаємо його за допомогою :
local-repo nombre-del-repositorio -a ruta-del-paquete
а якщо це пакет AUR ми використовуємо:
local-repo nombre-del-repositorio -A nombre-paquete
Тобто, наприклад, якщо ми хочемо встановити пакет appmenu-gtk2 це залежить від libdbusmenu-gtk2 що в AUR, Ми не можемо цього зробити
local-repo x11tete11x -Меню програми-gtk2
оскільки він скаже, що не може знайти пакет libdbusmenu-gtk2, ми повинні зробити:
local-repo nombrerepo -A libdbusmenu-gtk2 а потім local-repo nombrerepo -A appmenu-gtk2
таким чином, коли ви шукаєте залежності libdbusmenu-gtk2, він вже буде доступний у репозиторіях.
Видаліть пакунки
Для видалення пакунків ми маємо інструкцію:
local-repo nombre-del-repositorio -r nombre-paquete
Додайте локальне сховище до списку сховищ
Ми повинні додати створене сховище до списку сховищ, які ми використовуємо в даний час, для цього нам потрібно відредагувати файл /etc/pacman.conf і розмістити рядки, які я розмістив нижче, на початку місця, де починаються сховища, щоб наше репо отримує пріоритет над рештою, його також можна додати до кінця як додаткове репо:
sudo nano /etc/pacman.conf
і ставимо:
[x11tete11x]
SigLevel = Optional TrustAll
Server = file:///home/x11tete11x/.repo/x11tete11x/pkgs-x86_64
Нарешті, ми синхронізуємо бази даних Pacman і у нас є готове сховище.
sudo pacman -Sy
MARKDOWN_HASH1a42f7dd94ef93f234b52c01c73dc5f0MARKDOWN_HASH тобто він створив порожній файл з таким іменем, і лише тоді, коли я його синхронізував, я його добре оновив, і він почав працювати коректно.Оновлення локального сховища
Після того, як наш репозиторій запрацює, ми повинні подбати про його оновлення, для цього ми маємо:
local-repo -UV nombre-del-repositorio
Вибір -U оновити пакети, знайдені в AUR і варіант -V оновити пакети CVS з AUR (наприклад, git, svn або cvs).
І нарешті кілька скріншотів репо :
Yapa: "Прискорити процес компіляції пакета"
Оскільки ми збираємося компілювати пакети, ми трохи пришвидшимо прогрес, торкнувшись однієї з опцій, яка за замовчуванням відключена, в основному те, що ми будемо робити, це сказати makepkg використовувати всі ядра для компіляції для цього ми шукаємо рядок: «MAKEFLAGS» всередині /etc/makepkg.conf і ставимо «= -j »Тобто в моєму випадку я маю 7-ядерний Core I4 який для HT додає ще 4 логічних ядра, тоді мій MAKEFLAGS виглядає так:
MAKEFLAGS="-j9"
Джерело: Tuxylinux

