Instal·lació de 2019 Arch Linux en un servidor Vultr
Introducció Arch Linux té un seguit més petit, però encara fort, que les distribucions més populars. La seva filosofia és força diferent, amb avantatges an
El paquet Devtools es va crear originalment perquè els usuaris de confiança creïn correctament paquets per als dipòsits oficials. Tanmateix, també pot ser utilitzat pels usuaris normals per crear paquets AUR, o fins i tot paquets oficials modificats.
Consulteu aquesta guia per entendre i utilitzar l'AUR en general, inclosa l'obtenció del fitxer PKGBUILD
. Aquest document només mostra els passos específics de Devtools, si és el mètode que trieu per compilar un paquet.
Devtools manté una instal·lació neta d'Arch independent, situada a /var/lib/archbuild/<TARGET>/root
, que només conté grups de paquets base
i base-devel
. Si aquesta instal·lació neta no existeix, la crea automàticament. Si existeix, actualitza automàticament tots els paquets que hi ha. Quan s'utilitza Devtools per construir un paquet, comença amb una còpia d'aquesta instal·lació neta, només s'instal·la els paquets necessaris a la còpia, hi copia el codi font, realitza la compilació i l'empaquetament, i només copia el paquet resultant, en idèntica forma a la que es troba als repositoris oficials.
Devtools té avantatges respecte a l'execució makepkg
directa. Un dels avantatges és que base-devel
i altres paquets necessaris per compilar, però no executar, el paquet que esteu fent no acabaran mai al vostre sistema principal. Això és menys paquets que cal actualitzar periòdicament i tenir preocupacions. Tot i que és principalment un avantatge per als mantenedors de paquets Arch, aquest procés exposa fàcilment quan a PKGBUILD
és incorrecte, com si no s'apunta una dependència que el mantenedor ja té instal·lada al seu sistema principal. També podeu utilitzar una màquina que sigui més ràpida en la construcció de paquets i copiar el paquet resultant a una màquina més lenta que l'executi, sense contaminar la instal·lació de la màquina de construcció.
El principal desavantatge és que l'arrel neta sempre hi és, ocupant uns 800 MB, i normalment hi ha una còpia única ocupant més espai. Tingueu en compte que si /var/lib/archbuild/
utilitza Btrfs, la còpia de l'arrel neta comença sent una instantània de Btrfs, de manera que aquests fitxers no ocupen el doble d'espai. L'arrel neta sempre es manté allà per evitar tornar-la a instal·lar cada vegada que es fa un paquet.
Instal·leu Devtools:
# pacman -S devtools
Per crear un paquet, Devtools inclou archbuild
, però no l'executeu directament. També inclou enllaços simbòlics de {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build
. L'enllaç simbòlic que s'està utilitzant per executar-lo serà inspeccionat per archbuild
, per determinar quin objectiu voleu que utilitzi. Es pot executar per utilitzar aquests dipòsits inestables/provisions/prova, que poden tenir versions més noves que les que s'han llançat als dipòsits oficials. Per utilitzar els repositoris oficials per a paquets que no són AUR, al directori amb PKGBUILD
, per exemple el directori creat per git clone
, executeu el següent:
$ extra-x86_64-build
Nota: la resta d'aquesta guia només farà referència a extra-x86_64-build
.
Quan s'acabi d'executar-se, els resultats seran els següents:
/var/lib/archbuild/extra-x86_64/root
- Un chroot net , que és una instal·lació actualitzada amb només grups de paquets base
i base-devel
./var/lib/archbuild/extra-x86_64/<USERNAME>
- Això contindrà un chroot de compilació . Aquesta és una còpia del chroot net amb les dependències necessàries per construir o executar el paquet que s'està construint, així com el seu codi font, els resultats de la compilació i el paquet.Al final, podeu notar " Checking PKGBUILD
" i " Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
". Qualsevol línia després d'aquestes s'extreu des de namcap
, que busca automàticament problemes com ara PKGBUILD
fitxers mal formats , dependències incloses que el paquet sembla que no utilitza, dependències no incloses que el paquet sembla utilitzar i molt més. Els falsos positius solen ser generats per namcap
, però és una gran eina per donar coses per investigar. Si el vostre paquet funciona correctament, no és una bona idea avisar el responsable de la namcap
sortida, tret que l'hagueu mirat i comprovat que s'ha de fer un canvi.
Podeu utilitzar-lo pacman
per instal·lar el paquet, que instal·larà les dependències necessàries per executar el paquet, sempre que estiguin en repositoris oficials o en un repositori local.
Utilitzeu un dipòsit local com s'explica aquí o instal·leu el fitxer directament:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Si torneu a executar extra-x86_64-build
-vos, ara mateix o en qualsevol moment més endavant amb aquest o un altre paquet, actualitzarà el chroot net si cal, suprimirà el chroot de compilació i en farà una còpia nova del chroot net i realitzarà el mateix procés. Si el vostre directori encara té el codi font descarregat de l'última vegada, l'utilitzarà. Si el paquet és un paquet AUR de desenvolupament, traurà nous canvis en lloc de tornar a clonar.
Internament, extra-x86_64-build
s'executa makechrootpkg
, que crida internament makepkg
. Les opcions extra-x86_64-build
inclouen les següents:
-c
: Netegeu els chroots, eliminant i recreant tot el /var/lib/archbuild/extra-x86_64/
directori, inclòs el seu chroot net i tots els directoris chroot de compilació. Això rarament es necessita, només si el chroot net es corromp, o si Devtools s'actualitza d'una manera que trenca la compatibilitat cap enrere.-r <dir>
: Utilitzeu un directori diferent del /var/lib/archbuild/extra-x86_64/
per contenir els chroots.Qualsevol argument de extra-x86_64-build
després --
es passa a makechrootpkg
, quan l'utilitza internament. Sempre es passen automàticament diversos arguments de extra-x86_64-build
a makechrootpkg
. Aquests arguments automàtics són -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n
. Diuen makechrootpkg
que elimineu el chroot de compilació i que en faci una còpia nova del chroot net i que s'executi namcap
al paquet si es construeix amb èxit. Una opció que s'utilitza habitualment a la qual es pot passar makechrootpkg
és -l <copy name>
. Aquest és el nom del directori per donar a la compilació chroot, en lloc de <USERNAME>
, que és útil per mantenir diverses còpies o compilar diversos paquets alhora.
Qualsevol argument de makechrootpkg
després --
es passa a makepkg
, quan internament l'utilitza per construir el paquet. La primera vegada makepkg
s'executa per makechrootpkg
, es fa amb les seves pròpies opcions no canviables, per descarregar fitxers font, si cal, i realitzar comprovacions d'integritat; per tant, no es pot reenviar res en aquesta carrera. S'executa makepkg
una segona vegada per construir el paquet, i sempre passa automàticament makepkg
arguments dels --syncdeps --noconfirm --log --holdver --skipinteg
quals indica makepkg
que, dins del chroot de compilació, instal·leu automàticament les dependències que falten necessàries per construir i utilitzar el paquet, no demanar confirmació durant pacman
, registrar el procés de compilació al text. fitxers a més de stdout
, no actualitzeu el codi font si teniu un sistema de control de versions i no feu comprovacions de verificació del fitxer font.
Podeu encadenar-los mitjançant el següent formulari:
$ extra-x86_64-build <DEVTOOLS-OPTIONS> -- <MAKECHROOTPKG-OPTIONS> -- <MAKEPKG-OPTIONS>
Tingueu en compte que /var/lib/archbuild
es pot tractar com si fos un directori temporal. Si teniu diversos discs durs Vultr, val la pena muntar aquí un sistema de fitxers RAID0 (stripe). Si teniu molta memòria RAM, també podeu muntar un sistema de fitxers recolzat per RAM com tmpfs
. Un cop construït un paquet, es copia al directori extra-x86_64-build
des del qual heu executat i, si voleu, en aquest moment podeu suprimir /var/lib/archbuild
. La següent execució seria més lenta, perquè caldria fer una nova arrel neta. Alternativament, podeu suprimir-lo /var/lib/archbuild/<USERNAME>
per recuperar espai addicional del chroot de compilació abans que s'elimini automàticament per la propera execució de Devtools. Per tant, fins i tot si tinguéssiu un sistema de fitxers RAID0 muntat aquí fallat, el màxim que perdrieu seria una compilació en procés.
Hi ha alguns detalls a tenir en compte amb els fitxers de configuració de Devtools. Es troben a /usr/share/devtools/
, com ara makepkg-x86_64.conf
i pacman-extra.conf
:
/etc
fitxers com makepkg.conf
i pacman.conf
, podeu editar-los amb seguretat al seu lloc i, quan s'actualitzi el paquet, no sobreescriurà els vostres canvis. Més aviat desarà els nous fitxers de configuració (si van canviar de la versió anterior) acabant amb .pacnew
. No obstant això, els fitxers de configuració de Devtools no estan /usr/share/
pensats per ser editats per l'usuari, de manera que quan s'actualitzi Devtools, sobreescriurà completament els vostres canvis a aquests fitxers sense avisar-vos. S'ha proposat i rebutjat un canvi en aquest comportament, perquè això ajuda a garantir que els paquets s'enviïn als dipòsits oficials amb la mateixa configuració de compilació.MAKEFLAGS
, PACKAGER
, i {SRC,SRCPKG,PKG,LOG}DEST
s'obtenen de /etc/makepkg.conf
en lloc de /usr/share/devtools/makepkg-x86_64.conf
.Si esteu creant paquets que tenen dependències d'altres paquets que hàgiu construït, heu d'utilitzar un dipòsit local, de manera que quan pacman
s'executi dins del chroot de compilació, trobi les dependències.
Per configurar un dipòsit local, consulteu la secció "Repositori local" d' aquesta guia .
Creeu un objectiu personalitzat:
# ln -s archbuild /usr/bin/custom-x86_64-build
# cp /usr/share/devtools/pacman-{extra,custom}.conf
Edita /usr/share/devtools/pacman-custom.conf
i afegeix el següent al final:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
Editeu /etc/pacman.conf
i afegiu el següent. Això obliga el directori a enllaçar-se muntat al chroot:
CacheDir = /var/cache/pacman/pkg/ /archLocalRepo/
Ara, en comptes d'utilitzar, fes extra-x86_64-build
servir això:
$ custom-x86_64-build
Si sempre voleu utilitzar l'objectiu personalitzat, podeu suprimir el /var/lib/archbuild/extra-x86_64-build/
directori si existeix, ja que els chroots estaran ara a /var/lib/archbuild/custom-x86_64-build/
.
Tingueu en compte que l'habilitació de l'empaquetament de fils implica l'edició dels /usr/share/devtools
fitxers de configuració, que no són compatibles oficialment, de manera que haureu de realitzar aquest canvi cada vegada que s'actualitzeu Devtools.
Devtools combina un paquet sencer en un format d'arxiu. Per defecte, .tar.xz
utilitza un sol fil per a la xz
compressió.
En sistemes de múltiples CPU, podeu permetre l' xz
ús de diversos fils editant /usr/share/devtools/makepkg-x86_64.conf
i canviant la línia següent:
COMPRESSXZ=(xz -c -z -)
Per permetre tants fils com nuclis virtuals tingueu:
COMPRESSXZ=(xz -c -z - --threads=0)
Per permetre l'ús de diversos nuclis virtuals, però no tots, per reduir l'impacte en el rendiment global del sistema, afegiu un número específic:
COMPRESSXZ=(xz -c -z - --threads=21)
Si especifiqueu més fils que el nombre de nuclis virtuals que teniu, disminuirà el rendiment.
Si no us importa que el fitxer del paquet sigui (potencialment molt) més gran, desactiveu la compressió editant /usr/share/devtools/makepkg-x86_64.conf
, i canvieu la línia següent:
PKGEXT='.pkg.tar.xz'
Canvieu-lo perquè sembli el següent:
PKGEXT='.pkg.tar'
Introducció Arch Linux té un seguit més petit, però encara fort, que les distribucions més populars. La seva filosofia és força diferent, amb avantatges an
Vultr us ofereix la increïble funcionalitat de permetre-vos utilitzar la vostra pròpia imatge personalitzada a més de les seves excel·lents plantilles, que us permeten executar
El paquet Devtools es va crear originalment perquè els usuaris de confiança creïn correctament paquets per als dipòsits oficials. Tanmateix, pot ser utilitzat per un usuari normal
Si utilitzeu makepkg directament, contaminarà una mica el vostre sistema. El grup de paquets de desenvolupament base s'ha d'instal·lar. D'aquesta manera, per defecte, només calen dependències
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Accés Sudo. Les ordres que s'han d'executar com a root tenen el prefix # i un
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Un servidor web en execució, ja sigui Apache o Nginx Sudo d'accés Les ordres necessàries t
Preface Arch Linux és una distribució de propòsit general coneguda per la seva tecnologia d'avantguarda i la seva configuració flexible. Amb les instantànies de Btrfs, podem prendre
A Arch Linux, els repositoris oficials són: core, extra i community. Aquests paquets ja estan compilats i s'instal·len mitjançant pacman. Per th
Aquest tutorial explica com configurar un servidor de Minecraft amb Spigot a Arch Linux. Aquest tutorial suposa que sou un usuari normal (no root) i que teniu
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Accés Sudo. Les ordres que cal executar com a root tenen el prefix #. Th
Requisits previs Un servidor Vultr amb Arch Linux actualitzat. Consulteu aquesta guia per obtenir més informació. Accés Sudo. Les ordres s'han d'executar com a root ar
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Un servidor web en execució, ja sigui accés Apache o Nginx Sudo: les ordres requereixen
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Un servidor web en execució, ja sigui accés Apache o Nginx Sudo: les ordres requereixen
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Un servidor web en funcionament, ja sigui amb accés Apache o Nginx Sudo. Les ordres requereixen
Aquest tutorial explica com configurar un servidor Mumble (Murmur) a Arch Linux. Tot el que es fa en aquest tutorial es fa com a usuari root. Instal·lació an
Aquest tutorial explica com configurar un servidor Counter-Strike: Global Offensive a Arch Linux. Aquest tutorial suposa que heu iniciat sessió amb un ús estàndard
Aquest tutorial explica com configurar un servidor Team Fortress 2 a Arch Linux. Suposo que heu iniciat sessió amb un compte d'usuari no root que té accés sudo
Requisits previs Un servidor Vultr amb Arch Linux actualitzat (vegeu aquest article.) Accés Sudo: les ordres que cal executar com a root tenen el prefix # i un
Requisits previs Un servidor Vultr que s'executi amb Arch Linux actualitzat (vegeu aquest article) Accés Sudo: les ordres que cal executar com a root tenen el prefix # i un
La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.
També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.
Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.
Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.
El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...
A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.
Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.
Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.
En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.
Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació