Devtoolsi kasutamine Arch Linuxis

Pakett Devtools loodi algselt usaldusväärsetele kasutajatele, et ametlike hoidlate jaoks korralikult pakette luua. Seda saavad aga kasutada ka tavakasutajad AUR-pakettide või isegi muudetud ametlike pakettide koostamiseks.

Sellest juhendist leiate teavet AUR-i üldise mõistmise ja kasutamise kohta, sealhulgas PKGBUILD. See dokument näitab ainult Devtoolsi spetsiifilisi samme, kui see on meetod, mille valite paketi koostamiseks.

Devtools haldab eraldi puhast Arch installi, mis asub /var/lib/archbuild/<TARGET>/root, mis sisaldab ainult paketirühmi baseja base-devel. Kui seda puhast installi pole olemas, loob see selle automaatselt. Kui see on olemas, värskendab see automaatselt kõiki selles olevaid pakette. Kui Devtoolsi kasutatakse paketi koostamiseks, alustab see selle puhta installi koopiaga, installib vajalikud paketid ainult koopiasse, kopeerib sinna lähtekoodi, teostab kompileerimise ja pakkimise ning kopeerib välja ainult saadud paketi, identsel kujul ametlikes hoidlates leiduvaga.

Devtoolsil on eeliseid makepkgotse käitamise ees . Üks eelis on see, et base-develja muud paketid, mis on vajalikud kompileerimiseks, kuid mitte käivitamiseks, ei satu teie loodud pakett kunagi teie põhisüsteemi. See on vähem pakette, mida tuleb perioodiliselt uuendada ja mille pärast on muret. Kuigi see protsess on peamiselt kasulik Arch pakettide hooldajatele, paljastab see protsess kergesti, kui a PKGBUILDon vale, näiteks kui loendist jääb vahele sõltuvus, mille hooldaja on juhtumisi juba nende põhisüsteemi installinud. Võite kasutada ka masinat, mis on pakettide loomisel kiirem, ja kopeerida saadud paketi aeglasemale masinale, mis seda käivitab, ilma ehitusmasina installatsiooni saastamata.

Peamine puudus on see, et puhas juur on alati olemas, võttes umbes 800 MB, ja tavaliselt on üks eksemplar, mis võtab rohkem ruumi. Pange tähele, et kui /var/lib/archbuild/kasutab Btrfsi, hakkab puhta juure koopia olema Btrfsi hetktõmmis, nii et need failid ei võta topelt ruumi. Puhas juur on alati seal, et vältida selle uuesti installimist iga kord, kui pakett tehakse.

Kompileerimine Devtoolsi abil

Installige Devtools:

# pacman -S devtools

Paketi koostamiseks sisaldab Devtools archbuild, kuid te ei käivita seda otse. See sisaldab ka sümboli linke {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build. Sümbollinki, mida kasutatakse käivitamiseks, kontrollib archbuild, et teha kindlaks, millist sihtmärki soovite seda kasutada. Seda saab käivitada, et kasutada neid ebastabiilseid/järeldus-/testimishoidlaid, millel võivad olla uuemad versioonid kui ametlikele hoidlatele välja antud. Ametlike hoidlate kasutamiseks mitte-AUR-i pakettide PKGBUILDjaoks git clonekäivitage kataloogis kataloogis, näiteks kataloogis, mille on koostanud , järgmine:

$ extra-x86_64-build

Märkus . Selle juhendi ülejäänud osas viitab lihtsalt extra-x86_64-build.

Pärast töötamise lõpetamist on tulemused järgmised:

  • /var/lib/archbuild/extra-x86_64/root- Puhas chroot , mis on ajakohane installimine ainult paketirühmadega baseja base-devel.
  • /var/lib/archbuild/extra-x86_64/<USERNAME>- See sisaldab build chrooti . See on puhta chrooti koopia koos kõigi ehitatava paketi koostamiseks või käitamiseks vajalike sõltuvustega, samuti selle lähtekoodi, kompileerimistulemuste ja paketiga.
  • Kataloog, milles viibite, sisaldab paketti ja konstruktsiooni logifaile, samuti allalaaditud lähtekoodi.

Lõpus võite märgata " Checking PKGBUILD" ja " Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz". Kõik nendele järgnevad read väljastatakse failist namcap, mis otsib automaatselt probleeme, nagu valesti vormindatud PKGBUILDfailid, sõltuvused, mida pakett näib ei kasuta, sõltuvused, mida pakett näib kasutavat, ja palju muud. Valepositiivseid tulemusi genereerib sageli namcap, kuid see on suurepärane vahend asjade uurimiseks. Kui teie pakett töötab õigesti, ei ole hea mõte hooldajat namcapväljundist hoiatada , välja arvatud juhul, kui olete seda uurinud ja veendunud, et muudatus tuleks teha.

Saate kasutada pacmanpaketi installimiseks, mis installib kõik paketi käitamiseks vajalikud sõltuvused seni, kuni need on ametlikes hoidlates või kohalikus hoidlas.

Kasutage kas kohalikku hoidlat, nagu siin selgitatud , või installige fail otse:

# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz

Kui extra-x86_64-buildkäivitaksite kohe või millal tahes hiljem selle või mõne muu paketiga uuesti, värskendab see vajadusel puhta chrooti, ​​kustutab build chrooti ja teeb sellest puhta chrooti värske koopia ning teeb sama protsessi. Kui teie kataloogis on ikka veel viimati alla laaditud lähtekood, kasutab see seda. Kui pakett on arendatav AUR-pakett, tõmbab see pigem uusi muudatusi kui kloonib uuesti.

Sisemiselt extra-x86_64-buildjookseb makechrootpkg, mis sisemiselt kutsub makepkg. Valikud extra-x86_64-buildhõlmavad järgmist.

  • -c: puhastage chrootid, eemaldades ja luues uuesti kogu /var/lib/archbuild/extra-x86_64/kataloogi, sealhulgas selle puhta chrooti ja kõik chroot-kataloogid. Seda on harva vaja, ainult siis, kui puhas chroot saab rikutud või kui Devtoolsi uuendatakse viisil, mis rikub tagasiühilduvust.
  • -r <dir>: kasutage teist kataloogi kui /var/lib/archbuild/extra-x86_64/chrootide sisaldamiseks.

Kõik argumendid extra-x86_64-buildpärast --edastatakse makechrootpkg, kui see seda sisemiselt kasutab. Mitmed argumendid on alati automaatselt möödunud extra-x86_64-buildkuni makechrootpkg. Need automaatsed argumendid on -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n. Nad makechrootpkgkäsivad eemaldada build chrooti ja teha sellest puhta chrooti värske koopia ning käivitada namcappaketil, kui see ehitab edukalt. Tavaliselt kasutatav valik, millele saab edasi anda, makechrootpkgon -l <copy name>. See on katalooginimi, mis annab ehitusele chroot, mitte kataloogi <USERNAME>, mis on kasulik mitme koopia säilitamiseks või mitme paketi samaaegseks kompileerimiseks.

Kõik argumendid makechrootpkgpärast --edastatakse makepkg, kui see kasutab seda sisemiselt paketi koostamiseks. Esmakordselt makepkgkäivitab makechrootpkgsee oma muutumatute suvanditega, vajaduse korral lähtefailide allalaadimiseks ja terviklikkuse kontrollimiseks; seega ei saa sellel jooksul midagi edastada. See jookseb makepkgteist korda paketi ehitamiseks ja edastab alati automaatselt makepkgargumendid, --syncdeps --noconfirm --log --holdver --skipintegmille argumendid käsib makepkgehitada chrootis installida automaatselt puuduvad sõltuvused, mis on vajalikud paketi ehitamiseks ja kasutamiseks, mitte küsida kinnitust ajal pacman, logida ehitusprotsess tekstiks Lisaks failile stdout, ärge värskendage lähtekoodi, kui see on versioonihaldussüsteemis, ja ärge viige läbi lähtefaili kontrollimisi.

Saate need kokku aheldada, kasutades järgmist vormi:

$ extra-x86_64-build <DEVTOOLS-OPTIONS> -- <MAKECHROOTPKG-OPTIONS> -- <MAKEPKG-OPTIONS>

Pange tähele, et /var/lib/archbuildseda saab käsitleda nii, nagu oleks see ajutine kataloog. Kui sul on mitu Vultr kõvaketast, tasub siia monteerida RAID0 (triip) failisüsteem. Kui teil on palju RAM-i, saate ühendada ka RAM-iga toetatud failisüsteemi, näiteks tmpfs. Pärast paketi koostamist kopeeritakse see välja kataloogi, extra-x86_64-buildkust jooksite , ja soovi korral võite praegusel hetkel kustutada /var/lib/archbuild. Järgmine jooks oleks aeglasem, sest oleks vaja teha uus puhas juur. Teise võimalusena võite kustutada, /var/lib/archbuild/<USERNAME>et hankida chroot-versioonist lisaruumi, enne kui see Devtoolsi järgmisel käivitamisel automaatselt kustutatakse. Seega, isegi kui teil oleks siia ühendatud RAID0 failisüsteem ebaõnnestunud, kaotaksite kõige rohkem töös oleva kompileerimise.

Devtoolsi konfiguratsioonifailid

Devtoolsi konfiguratsioonifailide puhul tuleb arvestada mõne spetsiifikaga. Need asuvad /usr/share/devtools/näiteks makepkg-x86_64.confja pacman-extra.conf:

  • Selliseid /etcfaile nagu makepkg.confja pacman.confsaate turvaliselt paigas redigeerida ja kui pakett on täiendatud, ei kirjuta see teie muudatusi üle. Pigem salvestab see uued konfiguratsioonifailid (kui neid muudeti eelmisest versioonist), mis lõpevad .pacnew. Kuid Devtoolsi konfiguratsioonifailid /usr/share/ei ole mõeldud kasutajate redigeerimiseks, nii et kui Devtools uuendatakse, kirjutab see nendes failides tehtud muudatused täielikult üle ilma teid hoiatamata. Selle käitumise muutmine on välja pakutud ja tagasi lükatud, kuna see aitab tagada, et paketid saadetakse samade kompileerimisseadetega ametlikesse hoidlatesse.
  • Väärtus MAKEFLAGS, PACKAGERning {SRC,SRCPKG,PKG,LOG}DESTvõetakse /etc/makepkg.confselle asemel /usr/share/devtools/makepkg-x86_64.conf.

Kohalik hoidla

Kui pacmanehitate pakette, millel on sõltuvused teistest teie loodud pakettidest, peate kasutama kohalikku hoidlat, et kui see käivitatakse chroot-ehitusprogrammis, leiaks see sõltuvused.

Kohaliku hoidla seadistamiseks vaadake selle juhendi jaotist "Kohalik hoidla".

Looge kohandatud sihtmärk:

# ln -s archbuild /usr/bin/custom-x86_64-build
# cp /usr/share/devtools/pacman-{extra,custom}.conf

Redigeerige /usr/share/devtools/pacman-custom.confja lisage lõppu:

[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo

Redigeerige /etc/pacman.confja lisage järgmine. See sunnib kataloogi siduma chrooti:

CacheDir    = /var/cache/pacman/pkg/ /archLocalRepo/

extra-x86_64-buildKasutage nüüd selle asemel järgmist :

$ custom-x86_64-build

Kui soovite alati kohandatud sihtmärki kasutada, saate /var/lib/archbuild/extra-x86_64-build/kataloogi kustutada, kui see on olemas, kuna chroots on nüüd kataloogis /var/lib/archbuild/custom-x86_64-build/.

Pakkige kiiremini

Märkus. Keermestatud pakkimise lubamine hõlmab /usr/share/devtoolskonfiguratsioonifailide redigeerimist , mida ametlikult ei toetata, seega peate seda muudatust tegema iga kord, kui Devtoolsi uuendate.

Devtools ühendab kogu paketi arhiivivormingusse. Vaikimisi .tar.xzkasutab see xztihendamiseks ühte lõime .

Mitme protsessoriga süsteemides saate lubada xzmitme lõime kasutamist redigeerides /usr/share/devtools/makepkg-x86_64.confja muutes järgmist rida:

COMPRESSXZ=(xz -c -z -)

Et lubada nii palju lõime kui teil on virtuaalseid südamikke, toimige järgmiselt.

COMPRESSXZ=(xz -c -z - --threads=0)

Mitme virtuaalse tuuma (kuid mitte kõigi) kasutamise lubamiseks, et vähendada mõju süsteemi üldisele jõudlusele, lisage konkreetne arv.

COMPRESSXZ=(xz -c -z - --threads=21)

Kui määrate rohkem lõime kui teil on virtuaalsete tuumade arv, väheneb jõudlus.

Kui te ei pahanda, et paketifail on (potentsiaalselt palju) suurem, keelake tihendamine redigeerides /usr/share/devtools/makepkg-x86_64.confja muutke järgmist rida:

PKGEXT='.pkg.tar.xz'

Muutke see nii, et see näeks välja järgmine:

PKGEXT='.pkg.tar'

2019 Arch Linuxi installimine Vultr serverisse

2019 Arch Linuxi installimine Vultr serverisse

Sissejuhatus Arch Linuxil on väiksem, kuid siiski tugev järgimine kui populaarsematel distributsioonidel. Selle filosoofia on üsna erinev ja sellel on eelised

Arch Linuxi installimine Vultr serverisse

Arch Linuxi installimine Vultr serverisse

Vultr pakub teile suurepäraseid funktsioone, mis võimaldavad teil lisaks suurepärastele mallidele kasutada ka oma kohandatud pilti, mis võimaldab teil

Devtoolsi kasutamine Arch Linuxis

Devtoolsi kasutamine Arch Linuxis

Pakett Devtools loodi algselt usaldusväärsetele kasutajatele, et ametlike hoidlate jaoks korralikult pakette luua. Tavakasutaja saab seda siiski kasutada

Makepkg kasutamine Arch Linuxis

Makepkg kasutamine Arch Linuxis

Kui kasutate makepkg otse, saastab see mõnevõrra teie süsteemi. Põhiarenduse pakettide rühm tuleb installida. Nii on vaikimisi vaja sõltuvusi ainult

PostgreSQL 11.1 installimine Arch Linuxisse

PostgreSQL 11.1 installimine Arch Linuxisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit.) Sudo juurdepääs. Käskude, mida tuleb käivitada administraatorina, ees on # ja üks

HTTPS-i kasutamine Arch Linuxi veebiserveris

HTTPS-i kasutamine Arch Linuxi veebiserveris

Eeltingimused Vultr-server, milles töötab ajakohane Arch Linux (vt seda artiklit.) Töötav veebiserver, kas Apache või Nginx Sudo juurdepääs Nõutavad käsud t

Pakettide ehitamine Arch Linuxis (sh AUR)

Pakettide ehitamine Arch Linuxis (sh AUR)

Arch Linuxis on ametlikud hoidlad järgmised: põhi-, lisa- ja kogukond. Need paketid on juba kompileeritud ja need installitakse pacmani kaudu. th

Seadistage Spigot server Arch Linuxis

Seadistage Spigot server Arch Linuxis

See õpetus selgitab, kuidas seadistada Minecrafti server Spigoti abil Arch Linuxis. See õpetus eeldab, et olete tavakasutaja (mitte-root) ja hav

Nginx 1.14 installimine Arch Linuxisse

Nginx 1.14 installimine Arch Linuxisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit.) Sudo juurdepääs. Käskude, mida tuleb käivitada administraatorina, eesliide on #. Th

Apache 2.4 installimine Arch Linuxisse

Apache 2.4 installimine Arch Linuxisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux. Lisateabe saamiseks vaadake seda juhendit. Sudo juurdepääs. Käsud tuleb käivitada juurkäsuga ar

Python 3.7 installimine Arch Linuxi veebiserverisse

Python 3.7 installimine Arch Linuxi veebiserverisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit). Töötav veebiserver, kas Apache või Nginx Sudo juurdepääs: käsud nõuavad

Installige Arch Linux koos Btrfs Snapshottingiga

Installige Arch Linux koos Btrfs Snapshottingiga

Eessõna Arch Linux on üldotstarbeline distributsioon, mis on tuntud oma tipptehnoloogia ja paindliku konfiguratsiooni poolest. Btrfsi hetktõmmiste abil saame tak

Kuidas installida Perl 5.28 Arch Linuxi veebiserverisse

Kuidas installida Perl 5.28 Arch Linuxi veebiserverisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit). Töötav veebiserver, kas Apache või Nginx Sudo juurdepääs: käsud nõuavad

PHP 7.3 installimine Arch Linuxi veebiserverisse

PHP 7.3 installimine Arch Linuxi veebiserverisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit.) Töötav veebiserver, kas Apache või Nginx Sudo juurdepääs. Käsud nõuavad

Mumble Serveri seadistamine Arch Linuxis

Mumble Serveri seadistamine Arch Linuxis

See õpetus selgitab, kuidas seadistada Arch Linuxis Mumble'i server (Murmur). Kõik, mida selles õpetuses tehakse, tehakse juurkasutajana. Paigaldamine an

Seadistage Arch Linuxis Counter-Strike: Global Offensive (CSGO) server

Seadistage Arch Linuxis Counter-Strike: Global Offensive (CSGO) server

See õpetus selgitab, kuidas seadistada Arch Linuxis Counter-Strike: Global Offensive server. See õpetus eeldab, et logisite sisse tavakasutusega

Seadistage Arch Linuxis Team Fortress 2 server

Seadistage Arch Linuxis Team Fortress 2 server

See õpetus selgitab, kuidas seadistada Team Fortress 2 serverit Arch Linuxis. Eeldan, et olete sisse logitud mitte-root kasutajakontoga, millel on sudo juurdepääs

MariaDB 10.3 või MySQL 8.0 installimine Arch Linuxisse

MariaDB 10.3 või MySQL 8.0 installimine Arch Linuxisse

Eeltingimused Vultr-server, kus töötab ajakohane Arch Linux (vt seda artiklit.) Sudo juurdepääs: käskude ees, mida tuleb käivitada administraatorina, on eesliide # ja üks

MongoDB 4.0 installimine Arch Linuxisse

MongoDB 4.0 installimine Arch Linuxisse

Eeltingimused Vultr-server, mis töötab ajakohastatud Arch Linuxiga (vt seda artiklit) Sudo juurdepääs: käskude, mida tuleb käivitada administraatorina, eesliide on # ja üks

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit