Notkun Devtools á Arch Linux

Pakkinn Devtools var upphaflega gerður fyrir trausta notendur til að búa almennilega til pakka fyrir opinberu geymslurnar. Hins vegar getur það verið notað af venjulegum notendum líka til að smíða AUR pakka, eða jafnvel breytta opinbera pakka.

Skoðaðu þessa handbók til að skilja og nota AUR almennt, þar með talið að fá PKGBUILD. Þetta skjal sýnir aðeins skrefin sem eru sértæk fyrir Devtools, ef það er aðferðin sem þú velur til að setja saman pakka.

Devtools heldur úti sérstakri hreinni Arch uppsetningu, staðsett í /var/lib/archbuild/<TARGET>/root, sem inniheldur aðeins pakkahópa baseog base-devel. Ef þessi hreina uppsetning er ekki til býr hún hana sjálfkrafa til. Ef það er til uppfærir það sjálfkrafa hvaða pakka sem er í því. Þegar Devtools er notað til að smíða pakka, byrjar það með afriti af þessari hreinu uppsetningu, setur aðeins nauðsynlega pakka inn í afritið, afritar frumkóðann inn í það, framkvæmir samantektina og pökkunina í honum og afritar aðeins pakkann sem myndast, í samskonar formi frá því sem er að finna í opinberum geymslum.

Það eru kostir við Devtools fram yfir að keyra makepkgbeint. Einn kostur er sá base-develog aðrir pakkar sem þarf til að setja saman, en ekki keyra, pakkinn sem þú ert að búa til endar aldrei í aðalkerfinu þínu. Það er minna pakka sem þarf að uppfæra reglulega og hafa áhyggjur af. Þó að það sé fyrst og fremst ávinningur fyrir umsjónarmenn Arch pakka, þá afhjúpar þetta ferli auðveldlega þegar a PKGBUILDer rangt, eins og ef ósjálfstæði er ekki skráð sem viðhaldsaðilinn hefur þegar sett upp í aðalkerfi þeirra. Þú getur líka notað vél sem er hraðari við að smíða pakka og afritað pakkann sem myndast yfir á hægari vél sem keyrir hann, án þess að menga uppsetningu byggingarvélarinnar.

Helsti ókosturinn er sá að hreina rótin er alltaf til staðar, tekur um 800MB, og venjulega er eitt eintak þar sem tekur meira pláss. Athugaðu, ef þú /var/lib/archbuild/notar Btrfs byrjar afritið af hreinu rótinni að vera Btrfs skyndimynd, svo þessar skrár taka ekki tvöfalt pláss. Hrein rót er alltaf geymd þar til að forðast að setja hana upp aftur í hvert skipti sem verið er að búa til pakka.

Samsetning með Devtools

Settu upp Devtools:

# pacman -S devtools

Til að búa til pakka inniheldur Devtools archbuild, en þú keyrir þetta ekki beint. Það inniheldur einnig táknmyndir af {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build. Verið er að nota tákntengilinn til að keyra hann verður skoðaður af archbuild, til að ákvarða hvaða mark þú vilt að hann noti. Það er hægt að keyra það til að nota þessar óstöðugu/sviðsetningar/prófunargeymslur, sem kunna að hafa nýrri útgáfur en hafa verið gefnar út í opinberu geymslurnar. Til að nota opinberu geymslurnar fyrir pakka sem ekki eru AUR, í möppunni með PKGBUILD, til dæmis möppunni sem gerð er af git clone, keyrðu eftirfarandi:

$ extra-x86_64-build

Athugið: Afgangurinn af þessari handbók mun einfaldlega vísa til extra-x86_64-build.

Eftir að henni lýkur verða eftirfarandi niðurstöður:

  • /var/lib/archbuild/extra-x86_64/root- Hreint chroot , sem er uppfærð uppsetning með aðeins pakkahópum baseog base-devel.
  • /var/lib/archbuild/extra-x86_64/<USERNAME>- Þetta mun innihalda build chroot . Þetta er afrit af hreinum chroot með hvaða ósjálfstæði sem þarf til að byggja eða keyra pakkann sem verið er að smíða, svo og frumkóða hans, samantektarniðurstöður og pakka.
  • Skráin sem þú ert í mun innihalda pakkann og smíðaskrárnar, svo og allar niðurhalaðar frumkóða.

Í lokin gætirðu tekið eftir " Checking PKGBUILD" og " Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz". Allar línur á eftir þessum eru gefnar út úr namcap, sem leitar sjálfkrafa að vandamálum eins og vansköpuðum PKGBUILDskrám, ósjálfstæði sem pakkinn virðist ekki nota, ósjálfstæði sem pakkinn virðist nota og fleira. Rangar jákvæðar eru oft myndaðar af namcap, en er frábært tæki til að gefa hluti til að rannsaka. Ef pakkinn þinn virkar rétt er ekki góð hugmynd að gera viðhaldsaðilanum viðvart um namcapúttak, nema þú hafir skoðað það og staðfest að breyting ætti að gera.

Þú getur notað pacmantil að setja upp pakkann, sem mun setja upp hvaða ósjálfstæði sem þarf til að keyra pakkann svo framarlega sem þau eru í opinberum geymslum eða staðbundinni geymslu.

Notaðu annað hvort staðbundna geymslu eins og útskýrt er hér , eða settu upp skrána beint:

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

Ef þú myndir keyra extra-x86_64-buildaftur, núna, eða hvenær sem er síðar með þessum eða öðrum pakka, mun það uppfæra hreina chroot ef þörf krefur, eyða build chroot og gera það að nýju afriti af hreinu chroot og framkvæma sama ferli. Ef skráin þín er enn með frumkóðann niðurhalaðan frá síðasta tíma mun hún nota hann. Ef pakkinn er þróunar-AUR pakki mun hann draga nýjar breytingar frekar en endurklóna.

Innbyrðis, extra-x86_64-buildkeyrir makechrootpkg, sem innbyrðis kallar makepkg. Valkostirnir fyrir extra-x86_64-buildinnihalda eftirfarandi:

  • -c: Hreinsaðu chroots með því að fjarlægja og endurskapa alla /var/lib/archbuild/extra-x86_64/möppuna, þar á meðal hreina chroot hennar og allar build chroot möppur. Þetta er sjaldan þörf, aðeins ef hreina chrootið skemmist, eða ef Devtools er uppfært á þann hátt sem brýtur afturábak eindrægni.
  • -r <dir>: Notaðu aðra möppu en /var/lib/archbuild/extra-x86_64/til að innihalda chroots.

Öll rök til extra-x86_64-buildeftir --eru send til makechrootpkg, þegar það notar það innbyrðis. Nokkur rök eru alltaf sjálfkrafa send frá extra-x86_64-buildtil makechrootpkg. Þessi sjálfvirku rök eru -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n. Þeir segja makechrootpkgað fjarlægja build chroot og gera það að nýju afriti af hreinu chroot, og að keyra namcapá pakkanum ef það byggist vel. Algengt notaður valkostur sem hægt er að senda til makechrootpkger -l <copy name>. Þetta er möppuheitið til að gefa uppbyggingunni chroot, í stað <USERNAME>, sem er gagnlegt til að viðhalda mörgum eintökum eða setja saman marga pakka á sama tíma.

Öll rök til makechrootpkgeftir --eru send til makepkg, þegar það notar það innbyrðis til að byggja pakkann. Fyrsta skiptið makepkger keyrt af makechrootpkg, það er gert með eigin óbreytanlegum valkostum, til að hlaða niður frumskrám, ef þörf krefur, og framkvæma heilleikapróf; þannig er ekkert hægt að senda áfram á þessu hlaupi. Það keyrir makepkgí annað sinn til að byggja pakkann, og sendir alltaf sjálfkrafa makepkgrök --syncdeps --noconfirm --log --holdver --skipintegsem segja makepkgtil um, innan byggingar chroot, sjálfkrafa setja upp vantar ósjálfstæði sem þarf til að byggja og nota pakkann, ekki að biðja um staðfestingu á meðan pacman, skrá byggingarferlið í texta skrár til viðbótar við stdout, ekki uppfæra frumkóðann ef þú ert í útgáfustýringarkerfi og framkvæma ekki staðfestingarathuganir á frumskrám.

Þú getur hlekkjað þetta saman með því að nota eftirfarandi form:

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

Athugaðu að /var/lib/archbuildhægt er að meðhöndla það eins og það væri tímabundin skrá. Ef þú ert með marga Vultr harða diska er það þess virði að setja upp RAID0 (rönd) skráarkerfi hér. Ef þú ert með mikið vinnsluminni geturðu líka sett upp vinnsluminni sem er stutt skráarkerfi eins og tmpfs. Eftir að pakki hefur verið smíðaður er hann afritaður í möppuna sem þú hljópst extra-x86_64-buildúr og ef þú vilt, á þessum tímapunkti gætirðu eytt /var/lib/archbuild. Næsta hlaup yrði hægara, því það þyrfti að búa til nýja hreina rót. Að öðrum kosti gætirðu eytt /var/lib/archbuild/<USERNAME>til að endurheimta auka pláss úr bygginga chroot áður en því er sjálfkrafa eytt með næstu keyrslu af Devtools. Svo, jafnvel þótt þú værir með RAID0 skráarkerfi sem er fest hér mistakast, þá væri það mesta sem þú tapar samansafn í vinnslu.

Devtools stillingarskrár

Það eru nokkur atriði sem þarf að hafa í huga með Devtools stillingarskrám. Þau eru staðsett í /usr/share/devtools/, svo sem makepkg-x86_64.confog pacman-extra.conf:

  • Fyrir /etcskrár eins makepkg.confog og pacman.conf, þú getur örugglega breytt þeim á sínum stað og þegar pakkinn er uppfærður mun hann ekki skrifa yfir breytingarnar þínar. Frekar mun það vista nýju stillingarskrárnar (ef þær breyttust frá fyrri útgáfu) sem endar á .pacnew. Hins vegar eru Devtools stillingarskrár /usr/share/sem ekki er ætlað að breyta notendum, þannig að þegar Devtools er uppfært mun það alveg skrifa yfir breytingar þínar á þessum skrám án þess að láta þig vita. Breyting á þessari hegðun hefur verið lögð til og henni hafnað, vegna þess að þetta hjálpar til við að tryggja að pakkar séu sendir til opinberu geymslna, allir með sömu safnstillingar.
  • Gildið fyrir MAKEFLAGS, PACKAGER, og {SRC,SRCPKG,PKG,LOG}DESTer tekið úr /etc/makepkg.conffrekar en /usr/share/devtools/makepkg-x86_64.conf.

Staðbundið geymsla

Ef þú ert að byggja pakka sem hafa ósjálfstæði á öðrum pakka sem þú hefur smíðað þarftu að nota staðbundið geymsla, þannig að þegar það er pacmankeyrt innan byggingar chroot finnur það ósjálfstæðin.

Til að setja upp staðbundna geymslu, skoðaðu hlutann „Staðbundin geymslu“ þessa handbók .

Búðu til sérsniðið markmið:

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

Breyttu /usr/share/devtools/pacman-custom.confog bættu eftirfarandi við í lokin:

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

Breyttu /etc/pacman.confog bættu við eftirfarandi. Þetta neyðir möppuna til að vera bundin í chroot:

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

Nú, í stað þess að nota extra-x86_64-buildnotaðu þetta:

$ custom-x86_64-build

Ef þú vilt alltaf nota sérsniðna miðið geturðu eytt /var/lib/archbuild/extra-x86_64-build/möppunni ef hún er til, þar sem chroots verða nú í /var/lib/archbuild/custom-x86_64-build/.

Pakkið hraðar

Athugið að kveikja á þráðum umbúðum felur í sér að breyta /usr/share/devtoolsstillingarskrám, sem er ekki opinberlega studd, svo þú þarft að framkvæma þessa breytingu í hvert sinn sem Devtools er uppfært.

Devtools sameinar heilan pakka í skjalasafn. Sjálfgefið er að það .tar.xznotar einn þráð fyrir xzþjöppunina.

Í mörgum örgjörvakerfum geturðu leyft xzað nota marga þræði með því að breyta /usr/share/devtools/makepkg-x86_64.confog breyta eftirfarandi línu:

COMPRESSXZ=(xz -c -z -)

Til að leyfa eins marga þræði og þú hefur sýndarkjarna:

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

Til að leyfa notkun margra sýndarkjarna, en ekki alla, til að draga úr áhrifum á heildarafköst kerfisins, bætið við ákveðinni tölu:

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

Ef þú tilgreinir fleiri þræði en fjölda sýndarkjarna sem þú hefur mun það draga úr afköstum.

Ef þér er sama um að pakkaskráin sé (hugsanlega miklu) stærri skaltu slökkva á þjöppun með því að breyta /usr/share/devtools/makepkg-x86_64.confog breyta eftirfarandi línu:

PKGEXT='.pkg.tar.xz'

Breyttu því þannig að það lítur svona út:

PKGEXT='.pkg.tar'

Setur upp 2019 Arch Linux á Vultr netþjóni

Setur upp 2019 Arch Linux á Vultr netþjóni

Inngangur Arch Linux er með minni, en samt sterkri, fylgi en vinsælari dreifingar. Hugmyndafræði þess er nokkuð önnur, með kostum a

Að setja upp Arch Linux á Vultr netþjóni

Að setja upp Arch Linux á Vultr netþjóni

Vultr veitir þér þá frábæru virkni að leyfa þér að nota þína eigin sérsniðnu mynd til viðbótar við framúrskarandi sniðmát, sem gerir þér kleift að keyra

Notkun Devtools á Arch Linux

Notkun Devtools á Arch Linux

Pakkinn Devtools var upphaflega gerður fyrir trausta notendur til að búa almennilega til pakka fyrir opinberu geymslurnar. Hins vegar getur það verið notað af venjulegum notendum

Notkun Makepkg á Arch Linux

Notkun Makepkg á Arch Linux

Ef þú notar makepkg beint, mengar það kerfið þitt nokkuð. Grunnþróunarpakkahópinn verður að vera uppsettur. Þannig þarf sjálfgefið ósjálfstæði eingöngu

Hvernig á að setja upp PostgreSQL 11.1 á Arch Linux

Hvernig á að setja upp PostgreSQL 11.1 á Arch Linux

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Sudo aðgangur. Skipanir sem þarf að keyra sem rót eru með #, og einum

Hvernig á að nota HTTPS á Arch Linux vefþjóni

Hvernig á að nota HTTPS á Arch Linux vefþjóni

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Vefþjónn sem er í gangi, annað hvort Apache eða Nginx Sudo aðgangsskipanir nauðsynlegar t

Settu upp Arch Linux með Btrfs Snapshotting

Settu upp Arch Linux með Btrfs Snapshotting

Formáli Arch Linux er almenn dreifing sem er vel þekkt fyrir háþróaða tækni og sveigjanlega uppsetningu. Með Btrfs skyndimyndum getum við tekið

Byggja pakka á Arch Linux (þar á meðal AUR)

Byggja pakka á Arch Linux (þar á meðal AUR)

Á Arch Linux eru opinberu geymslurnar: kjarni, auka og samfélag. Þessir pakkar eru þegar settir saman og þeir eru settir upp í gegnum pacman. Fyrir þ

Settu upp Spigot Server á Arch Linux

Settu upp Spigot Server á Arch Linux

Þessi kennsla útskýrir hvernig á að setja upp Minecraft netþjón með Spigot á Arch Linux. Þessi kennsla gerir ráð fyrir að þú sért venjulegur notandi (ekki rót) og hav

Hvernig á að setja upp Nginx 1.14 á Arch Linux

Hvernig á að setja upp Nginx 1.14 á Arch Linux

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Sudo aðgangur. Skipanir sem þarf að keyra sem rót eru með #. Th

Hvernig á að setja upp Apache 2.4 á Arch Linux

Hvernig á að setja upp Apache 2.4 á Arch Linux

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux. Sjá þessa handbók fyrir frekari upplýsingar. Sudo aðgangur. Skipanir sem þarf að keyra sem rót ar

Hvernig á að setja upp Python 3.7 á Arch Linux vefþjóni

Hvernig á að setja upp Python 3.7 á Arch Linux vefþjóni

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Vefþjónn sem er í gangi, annað hvort Apache eða Nginx Sudo aðgangur: Skipanir krefjast

Hvernig á að setja upp Perl 5.28 á Arch Linux vefþjóni

Hvernig á að setja upp Perl 5.28 á Arch Linux vefþjóni

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Vefþjónn sem er í gangi, annað hvort Apache eða Nginx Sudo aðgangur: Skipanir krefjast

Hvernig á að setja upp PHP 7.3 á Arch Linux vefþjóni

Hvernig á að setja upp PHP 7.3 á Arch Linux vefþjóni

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Vefþjónn sem er í gangi, annað hvort Apache eða Nginx Sudo aðgangur. Skipanir krefjast

Settu upp Mumble Server á Arch Linux

Settu upp Mumble Server á Arch Linux

Þessi kennsla útskýrir hvernig á að setja upp Mumble netþjón (Murmur) á Arch Linux. Allt sem gert er í þessari kennslu er gert sem rótnotandinn. Uppsetning an

Settu upp Counter-Strike: Global Offensive (CSGO) netþjón á Arch Linux

Settu upp Counter-Strike: Global Offensive (CSGO) netþjón á Arch Linux

Þessi kennsla útskýrir hvernig á að setja upp Counter-Strike: Global Offensive netþjón á Arch Linux. Þessi kennsla gerir ráð fyrir að þú hafir skráð þig inn með hefðbundinni notkun

Settu upp Team Fortress 2 þjón á Arch Linux

Settu upp Team Fortress 2 þjón á Arch Linux

Þessi kennsla útskýrir hvernig á að setja upp Team Fortress 2 netþjón á Arch Linux. Ég geri ráð fyrir að þú sért skráður inn með notandareikningi sem ekki er rót sem hefur sudo aðgang

Hvernig á að setja upp MariaDB 10.3 eða MySQL 8.0 á Arch Linux

Hvernig á að setja upp MariaDB 10.3 eða MySQL 8.0 á Arch Linux

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein.) Sudo aðgangur: Skipanir sem þarf að keyra sem rót eru með #, og einum

Hvernig á að setja upp MongoDB 4.0 á Arch Linux

Hvernig á að setja upp MongoDB 4.0 á Arch Linux

Forkröfur Vultr þjónn sem keyrir uppfært Arch Linux (sjá þessa grein) Sudo aðgangur: Skipanir sem þarf að keyra sem rót eru með #, og einum

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira