Circa un anno fa ho spiegato come creare pacchetti per Archlinux. Bene, oggi spiegherò come crearli dai pacchetti . Deb, quelli utilizzati in Debian / Mint / Ubuntu / ecc.
Questo articolo è nato dopo aver letto una domanda dell'utente nel forum jorgegc perché non ho potuto installare un pacchetto da AUR, principalmente perché è obsoleto e utilizzava una versione interrotto del PKGBUILD (fortunatamente ho già realizzato pacchetti in questo modo), spiegherò anche come realizzare pacchetti di programmi che necessitano Librerie a 32 bit, di codice chiuso o già compilato e che ha diversi pacchetti per il download.
La base per PKGBUILD è la stessa, solo con poche modifiche.
Il primo cambiamento sarà l'uso di una frase se elif di Bash
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")
In questo esempio è stata definita una variabile che verrà successivamente utilizzata per modificare il file URL dov'è il pacchetto (in questo caso l'architettura del pacchetto da scaricare).
Inoltre, a seconda dell'architettura, il Somme MD5 quindi li cambieremo con quelli corrispondenti.
Infine vediamo che nell'esempio cambiamo le dipendenze. In alcuni programmi a 64 bit è necessario installare Versioni a 32 bit di alcune librerie quindi dobbiamo indicarli. Se non sono necessari, è sufficiente definire la variabile nel solito modo.
Ora per i pacchetti .deb avremo bisogno solo delle seguenti righe all'interno della funzione pacchetto ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Come puoi vedere, in questo caso abbiamo bisogno solo di 3 righe per generare il pacchetto. Se è necessario qualcos'altro (ad esempio, copiare un file che non viene fornito con il pacchetto, o modificare il contenuto di uno) devi solo metterlo come con qualsiasi altro pacchetto.
E voilà, abbiamo già un pacchetto multilib o creato da un pacchetto deb pronto per l'uso.
Spero che ti piaccia e che mi abbia spiegato bene 😀
Non è più facile usare checkinstall?
Checkinstall è usato per creare più facilmente pacchetti deb, rpm o Slackware.
Bene. Vediamo se mi prendo il tempo per aggiungere Iceweasel al repository slacky.eu.
Cosa c'è di sbagliato in Firefox? : p
che non è in Debian: p
Non è esattamente quello che volevo dire xD
Poiché Firefox non ha una versione ufficiale per Debian, e se uso i repository di Ubuntu o Mint, impiegano lo stesso tempo di Iceweasel per pubblicarli; Inoltre ti chiedono ogni tanto se vuoi inviare i tuoi dati o meno (una funzione davvero banale per un browser che difende la privacy).
Non sono contrario a Firefox e, onestamente, uso a malapena Firefox ESR su Slackware e Firefox Release su Windows (Iceweasel lo uso solo su Debian, ma poiché Arch mi dà il meraviglioso vantaggio di installarlo, lo installerò ). Questione di gusto, niente di più.
Ciao. Ho alcuni script bash. Uno per generare le cartelle ei file di base per un pacchetto deb. E l'ultimo a generare il pacchetto da tutti i file e le cartelle. Se sei interessato, posso condividerlo.
Certo che puoi, a pagamento XD
Certo che interessa ... almeno a me.
Ora che sono con Manjaro apprezzo tutte le informazioni possibili.
Quanto sei grande, partner.
Ti avrei detto nel forum che se tu potessi spiegarmi come compilare pacchetti .deb e non ti ho detto niente per non abusare della tua generosità…. e vado alla pagina e vedo che hai caricato un articolo che spiega l'intero processo.
Questo dimostra che sei una persona generosa.
Ho detto, sei un crack.
saluti
Grazie, e ancora grazie per la tua domanda che mi ha dato l'idea ^^
È un grande amico, una volta che ho provato un software di cui non ricordo il nome che è stato convertito da .deb a .rpm, ma non ha funzionato bene per me.
Qualcuno con un arch test se questo software è passato bene a rpm e l'installazione si apre bene?
http://www.justcloud.com/download/linux-64
È per il backup nel cloud, ho già pagato per un po 'e ho più di 40 GB nel cloud =)
Dovrebbe essere provato da persone che usano Fedora, Red Hat o altri derivati.
Dalla descrizione che dai suppongo tu intenda alieno (e non ha nulla a che fare con un certo Xenoform)
Grande! Mi sono sempre detto che un giorno avrei voluto fare un pacco, anche se è sapere come farlo :).
In questi tipi di post gradirei che il blog implementasse l'opzione per aggiungere voci come questa nei "preferiti" del mio account
Totalmente d'accordo, l'ho piantato, ma niente 🙂
Sarebbe anche bello poter seguire determinati utenti
Grande vecchio, utilizzo manjaro da alcuni giorni e per studi devo installare packet tracer da cisco ma ha solo un pacchetto .deb dell'ultima versione e ke è in AUR mi dà sempre un errore durante la compilazione , Spero con questi passaggi di poterlo installare poiché per forza sto usando linux mint, grazie mille
per vedere se qualcuno osa mettere in AUR Multisystem
dipende dalle librerie deb che non sono in arch
Ma se funziona, la sua funzione è creare più pendrive ISO con grub2 meglio di unetbootin che ne fa solo uno.
Al momento ho al suo interno una sua ISO Ubuntu che mi permette di aggiungere immagini se voglio fare il boot da essa sulla stessa USB
ma se nessuno osa salvare il mio biglietto
Scusate, esiste già un multisistema e credo di no
In multisistema ...
ma fatresize poiché yaourt dà problemi, e l'hanno messo come opzionale
Ottimo 😀 per approvare con "Purrr" un programma per rinominare i file in blocco.
Saluti,
Attualmente in AUR stanno rimuovendo pacchetti che non hanno la funzione package (), come posso sapere quali righe mettere lì? Cioè, ho diversi pacchetti e l'ho fatto in questo modo ma non so se va bene https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD quello che ho fatto veramente è passare quello che era in build () a package () ma come ho detto, non so se va bene ... Potete darmi i vostri commenti e suggerimenti?
Grazie 😀
All'interno di build () andrebbe la parte di compilazione del programma e in package () la parte che genera il pacchetto.
Per mettere un breve esempio in build () andresti ./configure, ./autogen.sh, cmake, make e in package () make install, ecc.
Ehi, grazie mille ... modifico i miei pacchetti 😀
Grazie per le informazioni lo aggiungerò ai preferiti per riferimento futuro.
Qualcuno può spiegarmi di cosa si tratta, sono nuovo e non so se questo mi aiuti a installare un pacchetto .deb ma localmente in manjaro, un gioco per la precisione. Sì funziona?
Cerco e mi dicono di installare il pacchetto deb2targz ma ottengo un errore quando lo installo da terminale e quindi non so se può essere
Lo stesso accade a me; Devo installare su Kademar che è basato su Arch; un paio di pacchetti che ottengo solo in .deb
Qualcuno può aiutarmi?
Se quello che intendi è un errore nell'installazione di deb2targz, ho appena finito di installarlo con il comando yaourt -S deb2targz. Ovviamente in ArchLinux.
Post molto informativo. Grazie per la condivisione.
Buon post. Grazie per aver condiviso queste informazioni utili.
Grazie per questo utile post. Aiuterà molto.
ciao, puoi lasciare lo script per la conversione e come usarlo? è che così in alcune parti confonde un po ', ho già il deb che voglio convertire e so che è possibile perchè il google chrome di AUR è un deb ma non so come fare "MAKEPKG SI" con un altro deb 🙁