Installerer 2019 Arch Linux på en Vultr-server
Introduksjon Arch Linux har en mindre, men fortsatt sterk, følge enn mer populære distribusjoner. Filosofien er ganske annerledes, med fordeler en
Pakken Devtools ble opprinnelig laget for at Trusted Users skulle lage pakker for de offisielle depotene. Imidlertid kan den brukes av vanlige brukere også til å bygge AUR-pakker, eller til og med modifiserte offisielle pakker.
Se denne veiledningen for å forstå og bruke AUR generelt, inkludert innhenting av PKGBUILD
. Dette dokumentet viser bare trinnene som er spesifikke for Devtools, hvis det er metoden du velger for å kompilere en pakke.
Devtools opprettholder en egen ren Arch-installasjon, som ligger i /var/lib/archbuild/<TARGET>/root
, som kun inneholder pakkegrupper base
og base-devel
. Hvis denne rene installasjonen ikke eksisterer, oppretter den den automatisk. Hvis den eksisterer, oppdaterer den automatisk alle pakker i den. Når Devtools brukes til å bygge en pakke, starter den med en kopi av denne rene installasjonen, installerer bare nødvendige pakker i kopien, kopierer kildekoden inn i den, utfører kompileringen og pakkingen i den, og kopierer bare ut den resulterende pakken, i identisk form fra det som finnes i de offisielle depotene.
Det er fordeler med Devtools fremfor å kjøre makepkg
direkte. En fordel er at base-devel
og andre pakker som er nødvendige for å kompilere, men ikke kjøre, pakken du lager aldri ender opp i hovedsystemet ditt. Det er færre pakker å måtte oppgradere med jevne mellomrom, og ha bekymringer om. Selv om det først og fremst er en fordel for Arch-pakkevedlikeholdere, avslører denne prosessen lett når a PKGBUILD
er feil, for eksempel hvis en avhengighet mangler fra å bli oppført som vedlikeholderen tilfeldigvis allerede har installert i hovedsystemet. Du kan også bruke en maskin som er raskere til å bygge pakker, og kopiere den resulterende pakken til en tregere maskin som vil kjøre den, uten å forurense byggemaskinens installasjon.
Den største ulempen er at den rene roten alltid er der, tar omtrent 800 MB, og vanligvis tar en enkelt kopi mer plass. Merk at hvis du /var/lib/archbuild/
bruker Btrfs, begynner kopien av den rene roten å være et Btrfs-øyeblikksbilde, så disse filene tar ikke dobbelt så mye plass. Den rene roten holdes alltid der for å unngå å installere den på nytt hver gang en pakke lages.
Installer Devtools:
# pacman -S devtools
For å bygge en pakke inkluderer Devtools archbuild
, men du kjører ikke dette direkte. Det inkluderer også symbolkoblinger av {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build
. Symlinken som brukes til å kjøre, vil bli inspisert av archbuild
, for å finne ut hvilket mål du vil at den skal bruke. Det kan kjøres for å bruke disse ustabile/staging/testing-repositoriene, som kan ha nyere versjoner enn de som er utgitt til de offisielle repositoriene. For å bruke de offisielle depotene for ikke-AUR-pakker, i katalogen med PKGBUILD
, for eksempel katalogen laget av git clone
, kjør følgende:
$ extra-x86_64-build
Merk: Resten av denne veiledningen vil bare referere til extra-x86_64-build
.
Etter at den er ferdig å kjøre, vil følgende være resultatene:
/var/lib/archbuild/extra-x86_64/root
- En ren chroot , som er en oppdatert installasjon med kun pakkegrupper base
og base-devel
./var/lib/archbuild/extra-x86_64/<USERNAME>
- Dette vil inneholde en build-chroot . Dette er en kopi av den rene chrooten med eventuelle avhengigheter som kreves for å bygge eller kjøre pakken som bygges, så vel som kildekoden, kompileringsresultatene og pakken.På slutten kan du legge merke til " Checking PKGBUILD
" og " Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
". Eventuelle linjer etter disse sendes ut fra namcap
, som automatisk ser etter problemer som misformede PKGBUILD
filer, inkluderte avhengigheter som pakken ikke ser ut til å bruke, avhengigheter som ikke er inkludert som pakken ser ut til å bruke, og mer. Falske positiver genereres ofte av namcap
, men er et flott verktøy for å gi ting å undersøke. Hvis pakken din fungerer som den skal, er det ikke en god idé å varsle vedlikeholderen om namcap
utdata, med mindre du har sett på den og bekreftet at en endring bør gjøres.
Du kan bruke pacman
til å installere pakken, som vil installere alle avhengigheter som kreves for å kjøre pakken så lenge de er i offisielle depoter eller et lokalt depot.
Bruk enten et lokalt arkiv som forklart her , eller installer filen direkte:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Hvis du skulle kjøre extra-x86_64-build
igjen, akkurat nå, eller når som helst senere med denne eller en annen pakke, vil den oppdatere den rene chrooten om nødvendig, slette build-chrooten og gjøre den til en ny kopi av den rene chrooten, og utføre den samme prosessen. Hvis katalogen din fortsatt har kildekoden lastet ned fra forrige gang, vil den bruke den. Hvis pakken er en utviklingsbasert AUR-pakke, vil den trekke nye endringer i stedet for å klone på nytt.
Internt extra-x86_64-build
kjører makechrootpkg
, som kaller internt makepkg
. Alternativene for extra-x86_64-build
inkluderer følgende:
-c
: Rengjør chrootene ved å fjerne og gjenskape hele /var/lib/archbuild/extra-x86_64/
katalogen, inkludert dens rene chroot og alle bygge chroot-kataloger. Dette er sjelden nødvendig, bare hvis den rene chroot blir ødelagt, eller hvis Devtools er oppgradert på en måte som bryter bakoverkompatibiliteten.-r <dir>
: Bruk en annen katalog enn /var/lib/archbuild/extra-x86_64/
å inneholde chroots.Eventuelle argumenter til extra-x86_64-build
etter --
sendes til makechrootpkg
, når den internt bruker den. Flere argumenter overføres alltid automatisk fra extra-x86_64-build
til makechrootpkg
. Disse automatiske argumentene er -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n
. De ber om makechrootpkg
å fjerne bygge-chroot og gjøre den til en ny kopi av den rene chroot, og å kjøre namcap
på pakken hvis den bygger. Et ofte brukt alternativ som kan sendes til makechrootpkg
er -l <copy name>
. Dette er katalognavnet for å gi build-chroot, i stedet for <USERNAME>
, som er nyttig for å vedlikeholde flere kopier eller kompilere flere pakker samtidig.
Eventuelle argumenter til makechrootpkg
etter --
sendes til makepkg
, når den internt bruker den til å bygge pakken. Den første gangen makepkg
kjøres av makechrootpkg
, det gjøres med sine egne uforanderlige alternativer, for å laste ned kildefiler, om nødvendig, og utføre integritetskontroller; dermed kan ingenting videresendes på denne kjøringen. Den kjører makepkg
en gang til for å bygge pakken, og sender alltid makepkg
argumenter --syncdeps --noconfirm --log --holdver --skipinteg
som forteller at makepkg
man, innenfor bygge-chroot, automatisk installerer manglende avhengigheter som kreves for å bygge og bruke pakken, ikke å be om bekreftelse under pacman
, logge byggeprosessen til tekst filer i tillegg til stdout
, ikke oppdater kildekoden hvis du er i et versjonskontrollsystem og ikke utfør kildefilbekreftelseskontroller.
Du kan lenke disse sammen ved å bruke følgende skjema:
$ extra-x86_64-build <DEVTOOLS-OPTIONS> -- <MAKECHROOTPKG-OPTIONS> -- <MAKEPKG-OPTIONS>
Merk at det /var/lib/archbuild
kan behandles som om det var en midlertidig katalog. Hvis du har flere Vultr-harddisker, er det verdt å montere et RAID0 (stripe) filsystem her. Hvis du har mye RAM, kan du også montere et RAM-støttet filsystem som tmpfs
. Etter at en pakke er bygget, blir den kopiert ut i katalogen du løp extra-x86_64-build
fra, og hvis du ville, kan du på dette tidspunktet slette /var/lib/archbuild
. Den neste kjøringen vil være tregere, fordi den må lage en ny ren rot. Alternativt kan du slette for /var/lib/archbuild/<USERNAME>
å gjenvinne ekstra plass fra build-chroot før den automatisk slettes ved neste kjøring av Devtools. Så selv om du hadde et RAID0-filsystem montert her mislykkes, ville det meste du ville tapt være en kompilering i prosess.
Det er noen få detaljer å merke seg med Devtools konfigurasjonsfiler. De er plassert i /usr/share/devtools/
, for eksempel makepkg-x86_64.conf
og pacman-extra.conf
:
/etc
filer som makepkg.conf
og pacman.conf
, kan du trygt redigere dem på plass, og når pakken er oppgradert, vil den ikke overskrive endringene dine. I stedet vil den lagre de nye konfigurasjonsfilene (hvis de endret seg fra forrige versjon) som slutter med .pacnew
. Imidlertid er Devtools konfigurasjonsfiler i /usr/share/
som ikke er ment å bli brukerredigert, så når Devtools oppgraderes, vil den fullstendig overskrive endringene dine i disse filene uten å varsle deg. En endring av denne oppførselen har blitt foreslått og avvist, fordi dette bidrar til å sikre at pakker sendes til de offisielle depotene, alle med de samme kompileringsinnstillingene.MAKEFLAGS
, PACKAGER
, og {SRC,SRCPKG,PKG,LOG}DEST
er hentet fra i /etc/makepkg.conf
stedet for /usr/share/devtools/makepkg-x86_64.conf
.Hvis du bygger pakker som har avhengigheter til andre pakker du har bygget, må du bruke et lokalt depot, slik at når det pacman
kjøres i bygge-chrooten, finner det avhengighetene.
For å konfigurere et lokalt depot, se avsnittet "Lokalt depot" i denne veiledningen .
Opprett et tilpasset mål:
# ln -s archbuild /usr/bin/custom-x86_64-build
# cp /usr/share/devtools/pacman-{extra,custom}.conf
Rediger /usr/share/devtools/pacman-custom.conf
og legg til følgende på slutten:
[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo
Rediger /etc/pacman.conf
og legg til følgende. Dette tvinger katalogen til å binde montert i chrooten:
CacheDir = /var/cache/pacman/pkg/ /archLocalRepo/
Nå, i stedet for å bruke, extra-x86_64-build
bruk dette:
$ custom-x86_64-build
Hvis du alltid vil bruke det tilpassede målet, kan du slette /var/lib/archbuild/extra-x86_64-build/
katalogen hvis den eksisterer, da chrootene nå vil være i /var/lib/archbuild/custom-x86_64-build/
.
Merk at du aktiverer gjenget pakking innebærer å redigere /usr/share/devtools
konfigurasjonsfilene, som ikke støttes offisielt, så du må utføre denne endringen hver gang Devtools oppgraderes.
Devtools kombinerer en hel pakke til et arkivformat. Som standard .tar.xz
bruker den en enkelt tråd for xz
komprimeringen.
På multi CPU-systemer kan du tillate xz
å bruke flere tråder ved å redigere /usr/share/devtools/makepkg-x86_64.conf
, og endre følgende linje:
COMPRESSXZ=(xz -c -z -)
For å tillate så mange tråder som du har virtuelle kjerner:
COMPRESSXZ=(xz -c -z - --threads=0)
For å tillate bruk av flere virtuelle kjerner, men ikke alle, for å redusere innvirkningen på den generelle systemytelsen, legg til et spesifikt tall:
COMPRESSXZ=(xz -c -z - --threads=21)
Hvis du spesifiserer flere tråder enn antallet virtuelle kjerner du har, reduseres ytelsen.
Hvis du ikke har noe imot at pakkefilen er (potensielt mye) større, deaktiver komprimering ved å redigere /usr/share/devtools/makepkg-x86_64.conf
, og endre følgende linje:
PKGEXT='.pkg.tar.xz'
Endre den slik at den ser slik ut:
PKGEXT='.pkg.tar'
Introduksjon Arch Linux har en mindre, men fortsatt sterk, følge enn mer populære distribusjoner. Filosofien er ganske annerledes, med fordeler en
Vultr gir deg den fantastiske funksjonaliteten til å la deg bruke ditt eget tilpassede bilde i tillegg til deres utmerkede maler, som lar deg kjøre
Pakken Devtools ble opprinnelig laget for at Trusted Users skulle lage pakker for de offisielle depotene. Den kan imidlertid brukes av vanlige brukere
Hvis du bruker makepkg direkte, forurenser det systemet ditt noe. Base-devel-pakkegruppen må være installert. På denne måten er det som standard kun nødvendig med avhengigheter
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang. Kommandoer som kreves for å kjøres som root er prefikset av #, og én
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache eller Nginx Sudo-tilgangskommandoer kreves t
Forord Arch Linux er en generell distribusjon kjent for sin banebrytende teknologi og fleksible konfigurasjon. Med Btrfs-øyeblikksbilder kan vi ta
På Arch Linux er de offisielle depotene: kjerne, ekstra og fellesskap. Disse pakkene er allerede kompilert, og de er installert gjennom pacman. For th
Denne opplæringen forklarer hvordan du setter opp en Minecraft-server ved å bruke Spigot på Arch Linux. Denne opplæringen forutsetter at du er en vanlig bruker (ikke-root) og har
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang. Kommandoer som kreves for å kjøres som root, har # foran. Th
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux. Se denne veiledningen for mer informasjon. Sudo tilgang. Kommandoer som kreves for å kjøres som root ar
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang: Kommandoer krever
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang: Kommandoer krever
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) En kjørende webserver, enten Apache- eller Nginx Sudo-tilgang. Kommandoer krever
Denne opplæringen forklarer hvordan du setter opp en Mumble-server (Murmur) på Arch Linux. Alt som gjøres i denne opplæringen gjøres som root-bruker. Installasjon en
Denne opplæringen forklarer hvordan du setter opp en Counter-Strike: Global Offensive-server på Arch Linux. Denne opplæringen forutsetter at du logget på med standard bruk
Denne opplæringen forklarer hvordan du setter opp en Team Fortress 2-server på Arch Linux. Jeg antar at du er logget inn med en ikke-root brukerkonto som har sudo-tilgang
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen.) Sudo-tilgang: Kommandoer som kreves for å kjøres som root er prefikset av #, og en
Forutsetninger En Vultr-server som kjører oppdatert Arch Linux (se denne artikkelen) Sudo-tilgang: Kommandoer som kreves for å kjøres som root er prefikset av #, og en
Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.
Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.
Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.
Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.
Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...
Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.
Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.
Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.
I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.
Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer