Инсталиране на 2019 Arch Linux на сървър Vultr
Въведение Arch Linux има по-малки, но все пак силни последователи от по-популярните дистрибуции. Философията му е съвсем различна, с предимства
Пакетът Devtools първоначално е създаден за доверени потребители, за да създават правилно пакети за официалните хранилища. Въпреки това, той може да се използва и от обикновени потребители за изграждане на AUR пакети или дори модифицирани официални пакети.
Обърнете се към това ръководство за разбиране и използване на AUR като цяло, включително получаване на PKGBUILD
. Този документ показва само стъпките, специфични за Devtools, ако това е методът, който сте избрали за компилиране на пакет.
Devtools поддържа отделна чиста инсталация на Arch, разположена в /var/lib/archbuild/<TARGET>/root
, която съдържа само групи пакети base
и base-devel
. Ако тази чиста инсталация не съществува, тя автоматично я създава. Ако съществува, той автоматично актуализира всички пакети в него. Когато Devtools се използва за изграждане на пакет, той започва с копие на тази чиста инсталация, инсталира необходимите пакети само в копието, копира изходния код в него, извършва компилирането и пакетирането в него и копира само получения пакет, в идентична форма от това, което се намира в официалните хранилища.
Има предимства за Devtools пред makepkg
директното изпълнение. Едно от предимствата е, че base-devel
и други пакети, необходими за компилиране, но не и изпълнение, пакетът, който правите, никога не се навиват във вашата основна система. Това е по-малко пакети, които трябва периодично да надграждате и да имате притеснения. Въпреки че е основно предимство за поддържащите пакети Arch, този процес лесно разкрива, когато a PKGBUILD
е неправилно, като например ако се пропусне зависимост от списъка, че поддържащият случайно вече е инсталиран в основната им система. Можете също да използвате машина, която е по-бърза при изграждането на пакети, и да копирате получения пакет на по-бавна машина, която ще го изпълнява, без да замърсява инсталацията на строителната машина.
Основният недостатък е, че чистият корен винаги е там, заемайки около 800MB и обикновено едно копие е там, което заема повече място. Имайте предвид, че ако се /var/lib/archbuild/
използва Btrfs, копието на чистия корен започва да бъде моментна снимка на Btrfs, така че тези файлове не заемат двойно пространство. Чистият корен винаги се съхранява там, за да се избегне повторното му инсталиране всеки път, когато се прави пакет.
Инсталирайте Devtools:
# pacman -S devtools
За да създадете пакет, Devtools включва archbuild
, но вие не го стартирате директно. Той също така включва символни връзки на {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build
. Символичната връзка, която се използва за стартиране, ще бъде проверена от archbuild
, за да определи коя цел искате да използва. Може да се стартира, за да се използват тези нестабилни/постановяващи/тестващи хранилища, които може да имат по-нови версии, отколкото са били пуснати в официалните хранилища. За да използвате официалните хранилища за пакети, различни от AUR, в директорията с PKGBUILD
, например директорията, направена от git clone
, изпълнете следното:
$ extra-x86_64-build
Забележка: Останалата част от това ръководство просто ще се отнася до extra-x86_64-build
.
След като приключи, резултатите ще бъдат следните:
/var/lib/archbuild/extra-x86_64/root
- Чист chroot , който е актуална инсталация само с групи пакети base
и base-devel
./var/lib/archbuild/extra-x86_64/<USERNAME>
- Това ще съдържа компилация chroot . Това е копие на чистия chroot с всички зависимости, необходими за изграждане или стартиране на изграждания пакет, както и неговия изходен код, резултати от компилация и пакет.В края може да забележите " Checking PKGBUILD
" и " Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
". Всички редове след тях се извеждат от namcap
, което автоматично търси проблеми като неправилни PKGBUILD
файлове, включени зависимости, които пакетът изглежда не използва, зависимости, които не са включени, които изглежда, че пакетът използва и други. Фалшивите положителни резултати често се генерират от namcap
, но е чудесен инструмент за даване на неща за разследване. Ако вашият пакет работи правилно, не е добра идея да предупреждавате поддържащия за namcap
извеждане, освен ако не сте го разгледали и не сте проверили, че трябва да се направи промяна.
Можете да използвате pacman
за инсталиране на пакета, който ще инсталира всички зависимости, необходими за изпълнение на пакета, стига да са в официални хранилища или локално хранилище.
Или използвайте локално хранилище, както е обяснено тук , или инсталирайте файла директно:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Ако трябва да стартирате extra-x86_64-build
отново, точно сега или по всяко време по-късно с този или друг пакет, той ще актуализира чистия chroot, ако е необходимо, ще изтрие компилационния chroot и ще го направи ново копие на чистия chroot и ще извърши същия процес. Ако в директорията ви все още има изтеглен изходен код от последния път, тя ще го използва. Ако пакетът е AUR пакет за развитие, той ще изтегли нови промени, а не повторно клонира.
Вътрешно extra-x86_64-build
изпълнява makechrootpkg
, което вътрешно извиква makepkg
. Опциите за extra-x86_64-build
включват следното:
-c
: Почистете chroot, като премахнете и пресъздадете цялата /var/lib/archbuild/extra-x86_64/
директория, включително нейния чист chroot и всички build директории chroot. Това рядко е необходимо, само ако чистият chroot се повреди или ако Devtools е надстроен по начин, който нарушава обратната съвместимост.-r <dir>
: Използвайте различна директория, отколкото /var/lib/archbuild/extra-x86_64/
да съдържа chroot.Всички аргументи към extra-x86_64-build
after --
се предават на makechrootpkg
, когато той вътрешно го използва. Няколко аргумента винаги се предават автоматично от extra-x86_64-build
към makechrootpkg
. Тези автоматични аргументи са -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n
. Те казват makechrootpkg
да премахнете компилационния chroot и да го направите ново копие на чистия chroot и да стартирате namcap
върху пакета, ако се изгради успешно. Често използвана опция, която може да бъде предадена, makechrootpkg
е -l <copy name>
. Това е името на директорията, което да даде на компилацията chroot, вместо <USERNAME>
, което е полезно за поддържане на множество копия или компилиране на множество пакети едновременно.
Всички аргументи към makechrootpkg
after --
се предават на makepkg
, когато той вътрешно го използва за изграждане на пакета. Първият път makepkg
се изпълнява от makechrootpkg
, това се прави със собствени непроменими опции, за изтегляне на изходни файлове, ако е необходимо, и извършване на проверки на целостта; по този начин нищо не може да бъде препратено при това изпълнение. Изпълнява се makepkg
втори път, за да изгради пакета, и винаги автоматично предава makepkg
аргументи, --syncdeps --noconfirm --log --holdver --skipinteg
които казват makepkg
, в рамките на build chroot, автоматично да инсталира липсващи зависимости, необходими за изграждане и използване на пакета, да не иска потвърждение по време на pacman
, да регистрира процеса на изграждане в текст файлове в допълнение към stdout
, не актуализирайте изходния код, ако сте в система за контрол на версиите и не извършвайте проверки за проверка на изходния файл.
Можете да ги свържете заедно, като използвате следния формуляр:
$ extra-x86_64-build <DEVTOOLS-OPTIONS> -- <MAKECHROOTPKG-OPTIONS> -- <MAKEPKG-OPTIONS>
Имайте предвид, че /var/lib/archbuild
може да се третира като временна директория. Ако имате няколко Vultr твърди диска, струва си да монтирате RAID0 (лентова) файлова система тук. Ако имате много RAM, можете също да монтирате поддържана от RAM файлова система като tmpfs
. След като пакетът е изграден, той се копира в директорията, от която сте стартирали, extra-x86_64-build
и ако искате, в този момент можете да изтриете /var/lib/archbuild
. Следващото изпълнение ще бъде по-бавно, защото ще трябва да направи нов чист корен. Като алтернатива можете да изтриете, за /var/lib/archbuild/<USERNAME>
да възстановите допълнително пространство от chroot за изграждане, преди да бъде изтрито автоматично от следващото стартиране на Devtools. Така че, дори ако имате монтирана тук файлова система RAID0 се провали, най-много ще загубите ще бъде компилация в процес.
Има няколко особености, които трябва да се отбележат с конфигурационните файлове на Devtools. Те се намират в /usr/share/devtools/
, като makepkg-x86_64.conf
и pacman-extra.conf
:
/etc
файлове като makepkg.conf
и pacman.conf
, можете безопасно да ги редактирате на място и когато пакетът бъде надстроен, той няма да презапише промените ви. По-скоро ще запази новите конфигурационни файлове (ако са се променили спрямо предишната версия), завършващи с .pacnew
. Въпреки това, конфигурационните файлове на Devtools /usr/share/
не са предназначени да бъдат редактирани от потребителя, така че когато Devtools бъде надстроен, той напълно ще презапише промените ви в тези файлове, без да ви предупреди. Промяна в това поведение е предложена и отхвърлена, защото това помага да се гарантира, че пакетите се изпращат до официалните хранилища, всички със същите настройки за компилация.MAKEFLAGS
, PACKAGER
и {SRC,SRCPKG,PKG,LOG}DEST
са взети от /etc/makepkg.conf
вместо /usr/share/devtools/makepkg-x86_64.conf
.Ако изграждате пакети, които имат зависимости от други пакети, които сте изградили, трябва да използвате локално хранилище, така че когато се pacman
изпълнява в рамките на chroot за изграждане, то намира зависимостите.
За да настроите локално хранилище, вижте раздела „Локално хранилище“ на това ръководство .
Създайте персонализирана цел:
# ln -s archbuild /usr/bin/custom-x86_64-build
# cp /usr/share/devtools/pacman-{extra,custom}.conf
Редактирайте /usr/share/devtools/pacman-custom.conf
и добавете следното в края:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
Редактирайте /etc/pacman.conf
и добавете следното. Това принуждава директорията да бъде обвързана монтирана в chroot:
CacheDir = /var/cache/pacman/pkg/ /archLocalRepo/
Сега, вместо да използвате, extra-x86_64-build
използвайте това:
$ custom-x86_64-build
Ако винаги искате да използвате персонализираната цел, можете да изтриете /var/lib/archbuild/extra-x86_64-build/
директорията, ако тя съществува, тъй като chroot вече ще бъде в /var/lib/archbuild/custom-x86_64-build/
.
Забележете, че активирането на пакетиране с резба включва редактиране на /usr/share/devtools
конфигурационните файлове, което не се поддържа официално, така че ще трябва да извършвате тази промяна всеки път, когато Devtools се надгражда.
Devtools комбинира цял пакет в архивен формат. По подразбиране той .tar.xz
използва една нишка за xz
компресиране.
В многопроцесорни системи можете да разрешите xz
използването на множество нишки, като редактирате /usr/share/devtools/makepkg-x86_64.conf
и промените следния ред:
COMPRESSXZ=(xz -c -z -)
За да разрешите толкова нишки, колкото имате виртуални ядра:
COMPRESSXZ=(xz -c -z - --threads=0)
За да позволите използването на множество виртуални ядра, но не всички от тях, за да намалите въздействието върху цялостната производителност на системата, добавете конкретен номер:
COMPRESSXZ=(xz -c -z - --threads=21)
Посочването на повече нишки от броя на виртуалните ядра, които имате, ще намали производителността.
Ако нямате нищо против пакетният файл да е (потенциално много) по-голям, деактивирайте компресията чрез редактиране /usr/share/devtools/makepkg-x86_64.conf
и променете следния ред:
PKGEXT='.pkg.tar.xz'
Променете го, за да изглежда по следния начин:
PKGEXT='.pkg.tar'
Въведение Arch Linux има по-малки, но все пак силни последователи от по-популярните дистрибуции. Философията му е съвсем различна, с предимства
Vultr ви предоставя страхотната функционалност, като ви позволява да използвате свое собствено персонализирано изображение в допълнение към техните отлични шаблони, което ви позволява да стартирате
Пакетът Devtools първоначално е създаден за доверени потребители, за да създават правилно пакети за официалните хранилища. Въпреки това, той може да се използва от обикновен потребител
Ако използвате makepkg директно, това донякъде замърсява вашата система. Групата пакети за базово развитие трябва да бъде инсталирана. По този начин по подразбиране са необходими само зависимости
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Достъп до Sudo. Командите, които се изискват да се изпълняват като root, са с префикс # и един
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Работещ уеб сървър, Apache или Nginx Sudo, необходими команди t
Предговор Arch Linux е дистрибуция с общо предназначение, добре известна със своята авангардна технология и гъвкава конфигурация. С Btrfs моментни снимки можем да вземем
В Arch Linux официалните хранилища са: core, extra и community. Тези пакети вече са компилирани и се инсталират чрез pacman. За th
Този урок обяснява как да настроите сървър на Minecraft с помощта на Spigot на Arch Linux. Този урок предполага, че сте нормален потребител (не-root) и hav
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Достъп до Sudo. Командите, които се изискват да се изпълняват като root, са с префикс #. Th
Предпоставки Vultr сървър, работещ с актуална версия на Arch Linux. Вижте това ръководство за повече информация. Sudo достъп. Командите, които се изискват да се изпълняват като root ar
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Работещ уеб сървър, Apache или Nginx Sudo достъп: Командите изискват
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Работещ уеб сървър, Apache или Nginx Sudo достъп: Командите изискват
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Работещ уеб сървър, достъп до Apache или Nginx Sudo. Командите изискват
Този урок обяснява как да настроите сървър Mumble (Murmur) на Arch Linux. Всичко направено в този урок се прави като root потребител. Инсталация ан
Този урок обяснява как да настроите сървър на Counter-Strike: Global Offensive на Arch Linux. Този урок предполага, че сте влезли със стандартна употреба
Този урок обяснява как да настроите сървър на Team Fortress 2 на Arch Linux. Предполагам, че сте влезли с не-root потребителски акаунт, който има sudo достъп
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия.) Sudo достъп: Командите, които се изискват да се изпълняват като root, са с префикс # и един
Предварителни условия Сървър Vultr, работещ с актуална версия на Arch Linux (вижте тази статия) Sudo достъп: Командите, които се изискват да се изпълняват като root, са с префикс # и един
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече