„Devtools“ naudojimas „Arch Linux“.

„Devtools“ paketas iš pradžių buvo skirtas patikimiems vartotojams, kad jie galėtų tinkamai sukurti oficialių saugyklų paketus. Tačiau jį gali naudoti ir paprasti vartotojai kurdami AUR paketus ar net modifikuotus oficialius paketus.

Žr. šį vadovą, kad suprastumėte ir naudotumėte AUR apskritai, įskaitant PKGBUILD. Šiame dokumente rodomi tik Devtools specifiniai veiksmai, jei pasirinkote paketo sudarymo metodą.

Devtools palaiko atskirą švarų Arch diegimą, esantį /var/lib/archbuild/<TARGET>/root, kuriame yra tik paketų grupės baseir base-devel. Jei šio švaraus diegimo nėra, jis automatiškai sukuriamas. Jei jis egzistuoja, jis automatiškai atnaujina visus jame esančius paketus. Kai paketui sukurti naudojamas Devtools, jis pradedamas nuo šio švaraus diegimo kopijos, reikiamus paketus įdiegia tik į kopiją, į jį nukopijuoja šaltinio kodą, atlieka kompiliavimą ir supakavimą ir tik nukopijuoja gautą paketą, identiška forma, nei yra oficialiose saugyklose.

„Devtools“ turi pranašumų, palyginti su makepkgtiesioginiu paleidimu . Vienas iš pranašumų yra tas, kad base-develir kiti paketai, būtini norint sudaryti, bet ne paleisti, jūsų kuriamas paketas niekada nepatenka į jūsų pagrindinę sistemą. Tai mažiau paketų, kuriuos reikia periodiškai atnaujinti ir dėl to nerimaujate. Nors šis procesas pirmiausia naudingas Arch paketų prižiūrėtojams, šis procesas lengvai atskleidžia, kai a PKGBUILDyra neteisingas, pavyzdžiui, jei sąraše praleidžiama priklausomybė, kurią prižiūrėtojas jau įdiegė pagrindinėje sistemoje. Taip pat galite naudoti įrenginį, kuris greičiau kuria paketus, ir nukopijuokite gautą paketą į lėtesnį įrenginį, kuris jį paleis, neteršdami kūrimo mašinos įrenginio.

Pagrindinis trūkumas yra tas, kad švari šaknis visada yra, užima apie 800 MB, o dažniausiai viena kopija užima daugiau vietos. Atminkite, kad jei /var/lib/archbuild/naudoja Btrfs, švarios šaknies kopija pradedama kaip Btrfs momentinė kopija, todėl tie failai neužima dvigubai daugiau vietos. Švari šaknis visada laikoma ten, kad būtų išvengta jos iš naujo įdiegimo kiekvieną kartą, kai gaminamas paketas.

Kompiliavimas naudojant Devtools

Įdiekite Devtools:

# pacman -S devtools

Norėdami sukurti paketą, Devtools apima archbuild, bet jūs to nepaleidžiate tiesiogiai. Jame taip pat yra simbolių nuorodų {extra, gnome-unstable, kde-unstable, staging, testing}-x86_64-build. Simbolinė nuoroda naudojama paleisti, ją patikrins archbuild, kad nustatytų, kurią taikinį norite naudoti. Jis gali būti paleistas naudojant šias nestabilias / sustojimo / testavimo saugyklas, kurių versijos gali būti naujesnės nei buvo išleistos oficialiose saugyklose. Norėdami naudoti oficialias saugyklas ne AUR paketams, kataloge su PKGBUILD, pavyzdžiui, kataloge, kurį sukūrė git clone, vykdykite šiuos veiksmus:

$ extra-x86_64-build

Pastaba: Likusioje šio vadovo dalyje bus tiesiog nuoroda į extra-x86_64-build.

Kai jis baigs veikti, bus pateikti šie rezultatai:

  • /var/lib/archbuild/extra-x86_64/root- Švarus chroot , kuris yra atnaujintas diegimas su tik paketų grupėmis baseir base-devel.
  • /var/lib/archbuild/extra-x86_64/<USERNAME>- Čia bus build chroot . Tai švaraus chroot kopija su visomis priklausomybėmis, reikalingomis kuriamam paketui sukurti arba paleisti, taip pat jo šaltinio kodu, kompiliavimo rezultatais ir paketu.
  • Kataloge, kuriame esate, bus paketo ir kūrimo žurnalo failai, taip pat bet koks atsisiųstas šaltinio kodas.

Pabaigoje galite pastebėti „ Checking PKGBUILD“ ir „ Checking <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz“. Visos eilutės po jų išvedamos iš namcap, kuri automatiškai ieško problemų, pvz., netinkamai suformuotų PKGBUILDfailų, priklausomybių, kurių paketas, atrodo, nenaudoja, neįtrauktų priklausomybių, kurias, atrodo, naudoja paketas, ir kt. Klaidingi teigiami rezultatai dažnai pateikiami naudojant namcap, bet tai puiki priemonė, leidžianti ištirti dalykus. Jei jūsų paketas veikia tinkamai, namcapnederėtų įspėti prižiūrėtojo apie išvestį, nebent jį peržiūrėjote ir patvirtinote, kad reikia atlikti pakeitimą.

Galite naudoti pacmannorėdami įdiegti paketą, kuris įdiegs visas paketui vykdyti reikalingas priklausomybes, jei jos bus oficialiose saugyklose arba vietinėje saugykloje.

Naudokite vietinę saugyklą, kaip paaiškinta čia , arba įdiekite failą tiesiogiai:

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

Jei paleistumėte extra-x86_64-builddar kartą, dabar arba bet kada vėliau su šiuo ar kitu paketu, jis prireikus atnaujins švarų chroot, ištrins build chroot ir padarys jį nauja švaraus chroot kopija ir atliks tą patį procesą. Jei jūsų kataloge vis dar yra paskutinio karto atsisiųstas šaltinio kodas, jis jį naudos. Jei paketas yra vystomasis AUR paketas, jis atliks naujus pakeitimus, o ne perklos.

Viduje extra-x86_64-buildveikia makechrootpkg, kuris viduje iškviečia makepkg. Tarp parinkčių extra-x86_64-buildyra šios:

  • -c: Išvalykite chroot, pašalindami ir iš naujo sukurdami visą /var/lib/archbuild/extra-x86_64/katalogą, įskaitant jo švarų chroot ir visus build chroot katalogus. To prireikia retai, tik jei sugadinamas švarus chroot failas arba jei Devtools atnaujinamas taip, kad būtų pažeistas atgalinis suderinamumas.
  • -r <dir>: naudokite kitą katalogą nei /var/lib/archbuild/extra-x86_64/chroots.

Visi argumentai extra-x86_64-buildpo --yra perduodami makechrootpkg, kai jis jį naudoja viduje. Keli argumentai visada automatiškai perduodami iš extra-x86_64-buildį makechrootpkg. Šie automatiniai argumentai yra -r <value given to extra-x86_64-build -r option if given, /var/lib/archbuild/extra-x86_64 otherwise> -c -n. Jie liepia makechrootpkgpašalinti build chroot ir padaryti jį nauja švaraus chroot kopija ir paleisti namcappaketą, jei jis sėkmingai sukonstruotas. Dažniausiai naudojama parinktis, kurią galima perduoti, makechrootpkgyra -l <copy name>. Tai yra katalogo pavadinimas, suteikiantis kūrimo chroot, o ne <USERNAME>, kuris yra naudingas norint išlaikyti kelias kopijas arba sudaryti kelis paketus vienu metu.

Visi argumentai makechrootpkgpo --yra perduodami makepkg, kai jis viduje jį naudoja paketui kurti. Pirmą kartą makepkgpaleidžiama naudojant makechrootpkgnekeičiamas parinktis, jei reikia, atsisiųsti šaltinio failus ir atlikti vientisumo patikras; taigi nieko negalima persiųsti per šį paleidimą. Jis paleidžiamas makepkgantrą kartą, kad būtų sukurtas paketas ir visada automatiškai perduoda makepkgargumentus, --syncdeps --noconfirm --log --holdver --skipintegkurių makepkgkūrimo chroot sistemoje nurodoma automatiškai įdiegti trūkstamas priklausomybes, reikalingas paketui kurti ir naudoti, neprašyti patvirtinimo per pacman, kūrimo procesą įrašyti į tekstą failai, be stdout, nereikia, jei atnaujinti kodą iš portalo kontrolės sistemos ir neatlieka šaltinio failo tikrinimo patikrinimus.

Galite juos sujungti naudodami šią formą:

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

Atminkite, kad tai /var/lib/archbuildgali būti traktuojama taip, lyg tai būtų laikinas katalogas. Jei turite kelis Vultr kietuosius diskus, čia verta prijungti RAID0 (juostelių) failų sistemą. Jei turite daug RAM, taip pat galite prijungti RAM palaikomą failų sistemą, pvz tmpfs., . Sukūrus paketą, jis nukopijuojamas į katalogą, iš kurio paleidote extra-x86_64-build, ir, jei norite, šiuo metu galite ištrinti /var/lib/archbuild. Kitas paleidimas būtų lėtesnis, nes reikėtų padaryti naują švarią šaknį. Arba galite ištrinti, /var/lib/archbuild/<USERNAME>kad atgautumėte papildomos vietos iš kūrimo chroot, kol ji automatiškai neištrinama kitą kartą paleidus Devtools. Taigi, net jei čia sumontuota RAID0 failų sistema sugestų, daugiausiai prarastumėte vykstantį kompiliavimą.

Devtools konfigūracijos failai

Yra keletas ypatumų, į kuriuos reikia atkreipti dėmesį naudojant „Devtools“ konfigūracijos failus. Jie yra /usr/share/devtools/, pavyzdžiui, makepkg-x86_64.confir pacman-extra.conf:

  • Tokius /etcfailus kaip makepkg.confir pacman.confgalite saugiai redaguoti vietoje, o kai paketas bus atnaujintas, jis neperrašys jūsų pakeitimų. Atvirkščiai, jis išsaugos naujus konfigūracijos failus (jei jie pasikeitė nuo ankstesnės versijos), kurie baigiasi .pacnew. Tačiau „Devtools“ konfigūracijos failai /usr/share/nėra skirti naudotojui redaguoti, todėl atnaujinus „Devtools“, ji visiškai perrašys šių failų pakeitimus jūsų neįspėjusi. Šios elgsenos pakeitimas buvo pasiūlytas ir atmestas, nes tai padeda užtikrinti, kad paketai būtų siunčiami į oficialias saugyklas su tais pačiais kompiliavimo parametrais.
  • Vertė už MAKEFLAGS, PACKAGERir {SRC,SRCPKG,PKG,LOG}DESTyra paimti iš /etc/makepkg.conf, o ne /usr/share/devtools/makepkg-x86_64.conf.

Vietinė saugykla

Jei kuriate paketus, kurie yra priklausomi nuo kitų jūsų sukurtų paketų, turite naudoti vietinę saugyklą, kad paleidus pacmankūrimo chroot, ji rastų priklausomybes.

Norėdami nustatyti vietinę saugyklą, žr. šio vadovo skyrių „Vietinė saugykla“.

Sukurkite tinkintą tikslą:

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

Redaguokite /usr/share/devtools/pacman-custom.confir pabaigoje pridėkite:

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

Redaguokite /etc/pacman.confir pridėkite toliau nurodytus dalykus. Tai verčia katalogą prijungti prie chroot:

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

Dabar vietoj naudojimo extra-x86_64-buildnaudokite:

$ custom-x86_64-build

Jei visada norite naudoti pasirinktinį tikslą, galite ištrinti /var/lib/archbuild/extra-x86_64-build/katalogą, jei jis yra, nes chroots dabar bus /var/lib/archbuild/custom-x86_64-build/.

Supakuokite greičiau

Pastaba, kad įgalinant srieginį paketą reikia redaguoti /usr/share/devtoolskonfigūracijos failus, o tai oficialiai nepalaikoma, todėl šį pakeitimą turėsite atlikti kiekvieną kartą, kai atnaujinsite Devtools.

„Devtools“ sujungia visą paketą į archyvo formatą. Pagal numatytuosius nustatymus suspaudimui .tar.xznaudojama viena gija xz.

Kelių procesorių sistemose galite leisti xznaudoti kelias gijas redaguodami /usr/share/devtools/makepkg-x86_64.confir pakeisdami šią eilutę:

COMPRESSXZ=(xz -c -z -)

Norėdami leisti tiek gijų, kiek turite virtualių branduolių:

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

Norėdami leisti naudoti kelis virtualius branduolius, bet ne visus, kad sumažintumėte poveikį bendram sistemos veikimui, pridėkite konkretų skaičių:

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

Nurodę daugiau gijų nei turite virtualių branduolių skaičių, sumažės našumas.

Jei neprieštaraujate, kad paketo failas (galbūt daug) didesnis, išjunkite glaudinimą redaguodami /usr/share/devtools/makepkg-x86_64.confir pakeiskite šią eilutę:

PKGEXT='.pkg.tar.xz'

Pakeiskite, kad atrodytų taip:

PKGEXT='.pkg.tar'

„2019 Arch Linux“ diegimas „Vultr“ serveryje

„2019 Arch Linux“ diegimas „Vultr“ serveryje

Įvadas Arch Linux distribucijos yra mažesnės, bet vis dar stipresnės nei populiaresnės. Jo filosofija yra gana skirtinga, turinti privalumų

„Arch Linux“ diegimas „Vultr“ serveryje

„Arch Linux“ diegimas „Vultr“ serveryje

„Vultr“ suteikia jums nuostabias funkcijas, leidžiančias jums naudoti savo pasirinktinį vaizdą, be puikių šablonų, leidžiančių paleisti

„Devtools“ naudojimas „Arch Linux“.

„Devtools“ naudojimas „Arch Linux“.

„Devtools“ paketas iš pradžių buvo skirtas patikimiems vartotojams, kad jie galėtų tinkamai sukurti oficialių saugyklų paketus. Tačiau jį gali naudoti eilinis vartotojas

Makepkg naudojimas „Arch Linux“.

Makepkg naudojimas „Arch Linux“.

Jei naudojate makepkg tiesiogiai, tai šiek tiek teršia jūsų sistemą. Bazinio kūrimo paketų grupė turi būti įdiegta. Tokiu būdu, pagal numatytuosius nustatymus, reikalingos tik priklausomybės

Kaip įdiegti „PostgreSQL 11.1“ „Arch Linux“.

Kaip įdiegti „PostgreSQL 11.1“ „Arch Linux“.

Būtinos sąlygos Vultr serveris, kuriame veikia atnaujinta Arch Linux (žr. šį straipsnį). Sudo prieiga. Komandos, kurias reikia vykdyti kaip root, priešdėliuose yra # ir vienas

Kaip naudoti HTTPS „Arch Linux“ žiniatinklio serveryje

Kaip naudoti HTTPS „Arch Linux“ žiniatinklio serveryje

Būtinos sąlygos „Vultr“ serveris, kuriame veikia atnaujinta „Arch Linux“ (žr. šį straipsnį). Veikiantis žiniatinklio serveris, „Apache“ arba „Nginx Sudo“ prieiga Reikalingos komandos

„Arch Linux“ paketų kūrimas (įskaitant AUR)

„Arch Linux“ paketų kūrimas (įskaitant AUR)

„Arch Linux“ oficialios saugyklos yra pagrindinės, papildomos ir bendruomenės. Šie paketai jau sudaryti ir įdiegti per pacman. Už th

Nustatykite Spigot serverį „Arch Linux“.

Nustatykite Spigot serverį „Arch Linux“.

Šiame vadove paaiškinama, kaip nustatyti „Minecraft“ serverį naudojant „Spigot“ sistemoje „Arch Linux“. Šioje pamokoje daroma prielaida, kad esate įprastas vartotojas (ne root) ir turite

Kaip įdiegti „Nginx 1.14“ „Arch Linux“.

Kaip įdiegti „Nginx 1.14“ „Arch Linux“.

Būtinos sąlygos Vultr serveris, kuriame veikia atnaujinta Arch Linux (žr. šį straipsnį). Sudo prieiga. Komandos, kurias reikia vykdyti kaip root, yra priešdėliuose #. Th

Kaip įdiegti „Apache 2.4“ „Arch Linux“.

Kaip įdiegti „Apache 2.4“ „Arch Linux“.

Būtinos sąlygos Vultr serveris, kuriame veikia atnaujinta Arch Linux. Daugiau informacijos rasite šiame vadove. Sudo prieiga. Komandos turi būti paleistos kaip root ar

Kaip įdiegti Python 3.7 Arch Linux žiniatinklio serveryje

Kaip įdiegti Python 3.7 Arch Linux žiniatinklio serveryje

Būtinos sąlygos „Vultr“ serveris, kuriame veikia atnaujinta „Arch Linux“ (žr. šį straipsnį). Veikiantis žiniatinklio serveris, „Apache“ arba „Nginx Sudo“ prieiga: komandoms reikia

Įdiekite „Arch Linux“ su „Btrfs Snapshotting“.

Įdiekite „Arch Linux“ su „Btrfs Snapshotting“.

Pratarmė Arch Linux yra bendros paskirties platinimas, gerai žinomas dėl savo pažangiausių technologijų ir lanksčios konfigūracijos. Su Btrfs momentinėmis nuotraukomis galime tak

Kaip įdiegti „Perl 5.28“ „Arch Linux“ žiniatinklio serveryje

Kaip įdiegti „Perl 5.28“ „Arch Linux“ žiniatinklio serveryje

Būtinos sąlygos „Vultr“ serveris, kuriame veikia atnaujinta „Arch Linux“ (žr. šį straipsnį). Veikiantis žiniatinklio serveris, „Apache“ arba „Nginx Sudo“ prieiga: komandoms reikia

Kaip įdiegti PHP 7.3 „Arch Linux“ žiniatinklio serveryje

Kaip įdiegti PHP 7.3 „Arch Linux“ žiniatinklio serveryje

Būtinos sąlygos Vultr serveris, kuriame veikia naujausia „Arch Linux“ versija (žr. šį straipsnį). Veikiantis žiniatinklio serveris, „Apache“ arba „Nginx Sudo“ prieiga. Komandos reikalauja

Nustatykite „Mumble Server“ „Arch Linux“.

Nustatykite „Mumble Server“ „Arch Linux“.

Šiame vadove paaiškinama, kaip sukonfigūruoti „Mumble“ serverį („Murmur“) „Arch Linux“. Viskas, kas daroma šioje pamokoje, atliekama kaip root naudotojas. Montavimas an

„Arch Linux“ sukonfigūruokite „Counter-Strike: Global Offensive“ (CSGO) serverį

„Arch Linux“ sukonfigūruokite „Counter-Strike: Global Offensive“ (CSGO) serverį

Šiame vadove paaiškinama, kaip nustatyti „Counter-Strike: Global Offensive“ serverį „Arch Linux“. Šioje mokymo programoje daroma prielaida, kad prisijungėte naudodami standartinį naudojimą

Nustatykite „Team Fortress 2“ serverį „Arch Linux“.

Nustatykite „Team Fortress 2“ serverį „Arch Linux“.

Šiame vadove paaiškinama, kaip nustatyti „Team Fortress 2“ serverį „Arch Linux“. Manau, kad esate prisijungę naudodami ne root vartotojo abonementą, turintį sudo prieigą

Kaip įdiegti „MariaDB 10.3“ arba „MySQL 8.0“ „Arch Linux“.

Kaip įdiegti „MariaDB 10.3“ arba „MySQL 8.0“ „Arch Linux“.

Būtinos sąlygos „Vultr“ serveris, kuriame veikia naujausia „Arch Linux“ versija (žr. šį straipsnį.) Sudo prieiga: komandos, kurias reikia vykdyti kaip root, priešdėliuose yra # ir vienas

Kaip įdiegti MongoDB 4.0 „Arch Linux“.

Kaip įdiegti MongoDB 4.0 „Arch Linux“.

Būtinos sąlygos „Vultr“ serveris, kuriame veikia atnaujinta „Arch Linux“ (žr. šį straipsnį) Sudo prieiga: komandos, kurias reikia vykdyti kaip root, priešdėliuose yra # ir vienas

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį