Archlinux: izveidojiet starpplatformu pakotnes un no .deb pakotnēm

Apmēram pirms gada es paskaidroju, kā izveidot paketes Archlinux. Nu, šodien es izskaidrošu, kā tos izveidot no pakotnēm deb, tie, kas izmantoti Debian / Mint / Ubuntu / utt.
Šis raksts radās, izlasot lietotāja jautājumu forumā jorgegc jo es nevarēju instalēt pakotni no AUR, galvenokārt tāpēc, ka tā ir novecojusi un izmanto versiju pārtraukta no PKGBUILD (par laimi es iepriekš esmu veidojis pakas šādā veidā), es arī paskaidrošu, kā izveidot programmu paketes, kurām nepieciešams 32 bitu bibliotēkas, tad slēgts kods o jau sastādīts un ka tam ir dažādas paketes lejupielādei.

PKGBUILD pamats ir vienāds, tikai ar dažām izmaiņām.
Pirmās izmaiņas būs teikuma izmantošana ja elif autors Bašs


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

Šajā piemērā ir definēts mainīgais, ko vēlāk izmantos, lai mainītu URL kur ir pakete (šajā gadījumā lejupielādējamās pakotnes arhitektūra).
Turklāt, atkarībā no arhitektūras, MD5 summas tāpēc mēs tos mainīsim uz atbilstošajiem.

Lietojot makepkg -g, lai ģenerētu MD5 summas Tas ģenerēs tikai to, kas atbilst jūsu izmantotajai arhitektūrai. Lai uzzinātu citas paketes MD5 summu, lejupielādējiet to un izmantojiet komandu md5sum file.deb zināt tavējo

Visbeidzot mēs redzam, ka piemērā mēs mainām atkarības. Dažās 64 bitu programmās tas ir jāinstalē Dažu bibliotēku 32 bitu versijas tāpēc mums tie ir jānorāda. Ja tie nav nepieciešami, vienkārši definējiet mainīgo parastajā veidā.

Tagad attiecībā uz .deb pakotnēm funkcijas iekšpusē būs vajadzīgas tikai šādas rindas iepakojums ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Kā redzat, šajā gadījumā mums ir nepieciešamas tikai 3 rindas, lai ģenerētu pakotni. Ja ir nepieciešams kaut kas cits (piemēram, kopēt failu, kas nav komplektā ar paketi, vai modificēt tā saturu), tas vienkārši ir jāievieto tāpat kā ar jebkuru citu paketi.

Tas pats varētu attiekties (ar dažām izmaiņām), ja .deb vietā mēs izmantosim paketes rpm vai cita veida iepakojumiem. Funkcija būvēt () nav nepieciešama, tāpēc mums tas nav jāpievieno.

Un voila, mums jau ir multilib pakete vai izveidota no deb pakotnes, kas ir gatava lietošanai.
Es ceru, ka jums tas patīk un ka tas mani ir labi izskaidrojis 😀


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   ulissess teica

    Vai nav vienkāršāk izmantot checkinstall?

  2.   Lučāno Lagasa teica

    Sveiki. Man ir daži bash skripti. Viens, lai ģenerētu deb pakotnes pamatmapes un failus. Un pēdējais, kas ģenerē pakotni no visiem failiem un mapēm. Ja jūs interesē, es varu to padalīties.

    1.    jorgecg teica

      Protams, tas interesē ... vismaz mani.

      Tagad, kad esmu kopā ar Manjaro, es novērtēju visu iespējamo informāciju.

  3.   jorgecg teica

    Cik lieliski tu esi, partneri.

    Es forumā jums teicu, ka, ja jūs man varētu paskaidrot, kā sastādīt .deb paketes, un es jums neko neesmu teicis, lai netiktu ļaunprātīgi izmantota jūsu dāsnība ... un es eju uz lapu un redzu, ka esat augšupielādējis rakstu, kurā izskaidrots viss process.

    Tas parāda, ka jūs esat dāsna persona.

    Es teicu, tu esi plaisa.

    Sveiciens

  4.   Anibal teica

    Tas ir lielisks draugs. Reiz es izmēģināju mīkstu, ka neatceros vārdu, kas no .deb pārveidots par .rpm, taču tas man nedarbojās labi.

    Kāds ar arku varētu pārbaudīt, vai šī programmatūra labi iet uz apgriezieniem minūtē un vai instalācija tiek atvērta labi?

    http://www.justcloud.com/download/linux-64

    Tā ir dublēšana mākonī, es jau kādu laiku maksāju, un man mākonī ir vairāk nekā 40 GB =)

  5.   Inspiron teica

    Lieliski! Es vienmēr sev teicu, ka kādu dienu es gribēju uztaisīt iepakojumu, pat ja tas ir zināt, kā to izdarīt :).

    Šāda veida ziņās es novērtētu iespēju pievienot šādus ierakstus sava konta sadaļai “Izlase”.

    1.    chinoloco teica

      Pilnīgi piekrītu, es to iestādīju, bet nekas 🙂
      Būtu arī labi, ja varētu sekot noteiktiem lietotājiem

  6.   Raba teica

    Lielais vecīt, dažas dienas esmu lietojis manjaro, un pētījumiem man jāinstalē pakešu marķieris no Cisco, taču tam ir tikai jaunākās versijas .deb pakete, un ke ir AUR, kompilējot man vienmēr rodas kļūda, es ceru, ka ar šīm darbībām es to varu instalēt tā kā ar varu es lietoju linux mint, liels paldies

  7.   mitkoes teica

    lai redzētu, vai kāds uzdrošinās ievietot AUR Multisystem

    ir atkarīgs no deb bibliotēkām, kas nav arhīvā

    Bet, ja tas darbojas, tā funkcija ir izveidot vairākus ISO pendrive ar grub2 labāk nekā unetbootin, kas tikai padara vienu.

    Pašlaik man iekšā ir viņas Ubuntu ISO, kas ļauj man pievienot attēlus, ja es vēlos, palaižot no tā pašā USB

    bet ja neviens neuzdrošinās glābt biļeti

  8.   mitkoes teica

    Atvainojiet, multisistēma jau pastāv, un es domāju, ka nē

    1.    mitkoes teica

      Multisistēmā ...

      bet fatresize kopš jaourt rada problēmas, un viņi ir izvirzījuši to kā izvēles

  9.   Marcos teica

    Lieliski, lai apstiprinātu programmu "Purrr", lai pārdēvētu failus lielapjomā.

  10.   Apr4xas teica

    Sveicieni,

    Pašlaik AUR viņi iznīcina paketes, kurām nav funkcija package (), kā es varu zināt, kādas rindas tur likt? Tas ir, man ir vairākas paketes, un es to izdarīju šādā veidā, bet es nezinu, vai tas ir labi https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD ko es patiešām darīju, ir nodot to, kas bija būvē (), pakotnei (), bet, kā jau teicu, es nezinu, vai tas ir labi ... Vai jūs varat man sniegt savus komentārus un ieteikumus?

    Paldies 😀

  11.   Azazel teica

    Paldies par informāciju, kuru es atzīmēšu ar grāmatzīmi turpmākai izmantošanai.

  12.   klerfelis teica

    Vai kāds var man paskaidrot, kas tas ir, es esmu jauns, un nezinu, vai tas man palīdz instalēt .deb pakotni, bet lokāli manjaro valodā, precīzāk sakot, spēli. Jā, tas darbojas?

    Es meklēju, un viņi man liek instalēt paketi deb2targz, taču, instalējot to no termināla, tiek parādīta kļūda, un es nezinu, vai tā var būt

    1.    Germains teica

      Tas pats notiek ar mani; Man jāinstalē Kademar, kura pamatā ir Arch; pāris pakas, kuras es saņemu tikai .deb
      Vai kāds man var palīdzēt?

      1.    valdo teica

        Ja tas, ko jūs domājat, ir kļūda deb2targz instalācijā, es tikko pabeidzu to instalēt ar komandu yaourt -S deb2targz. Protams, ArchLinux.

  13.   Bezmaksas mākoņa krātuve teica

    Ļoti informatīvs ieraksts. Paldies par dalīšanos.

  14.   Dusmīgie putni, īgnie putni teica

    Labs amats. Paldies, ka dalījāties ar šo noderīgo informāciju.

  15.   Lietotnes personālajam datoram teica

    Paldies par šo noderīgo ziņu. Tas ļoti palīdzēs.

  16.   Jēkabs teica

    Sveiki, vai jūs varat atstāt skriptu pārveidošanai un kā to izmantot? ir tas, ka daļās tas mazliet mulsina, man jau ir deb, kuru es gribu konvertēt, un es zinu, ka tas ir iespējams, jo AUR google hroms ir deb, bet es nezinu, kā padarīt "MAKEPKG SI" ar kārtējā deb 🙁