Kira-kira setahun yang lalu saya menerangkan bagaimana buat pakej untuk Archlinux. Baiklah, hari ini saya akan menerangkan cara membuatnya dari pakej deb, yang digunakan di Debian / Mint / Ubuntu / dll.
Artikel ini timbul setelah membaca soalan dari pengguna di forum jorgegc kerana saya tidak dapat memasang pakej dari AUR, terutamanya kerana sudah usang dan menggunakan versi dihentikan PKGBUILD (Nasib baik saya pernah membuat pakej dengan cara ini), saya juga akan menerangkan bagaimana membuat pakej program yang memerlukan Perpustakaan 32-bit, sudah kod tertutup o sudah disusun dan ia mempunyai pakej yang berbeza untuk dimuat turun.
Asas untuk PKGBUILD adalah sama, hanya dengan beberapa perubahan.
Perubahan pertama adalah penggunaan ayat sekiranya elif oleh 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")
Dalam contoh ini pemboleh ubah telah ditentukan yang kemudiannya akan digunakan untuk mengubah URL di mana pakejnya (dalam kes ini arsitektur pakej untuk dimuat turun).
Di samping itu, bergantung pada seni bina, Jumlah MD5 jadi kami akan mengubahnya menjadi yang sesuai.
Akhirnya kita melihat bahawa dalam contoh kita mengubah kebergantungan. Dalam beberapa program 64-bit, perlu dipasang Versi 32-bit dari beberapa perpustakaan jadi kita mesti menunjukkannya. Sekiranya tidak diperlukan, tentukan pemboleh ubah dengan cara biasa.
Sekarang untuk pakej .deb kita hanya memerlukan baris berikut di dalam fungsi pakej ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Seperti yang anda lihat, dalam kes ini kita hanya memerlukan 3 baris untuk menghasilkan pakej. Sekiranya ada perkara lain yang diperlukan (contohnya menyalin fail yang tidak disertakan dengan pakej, atau mengubah kandungan satu) anda hanya perlu meletakkannya seperti pakej lain.
Dan voila, kami sudah mempunyai pakej multilib atau dibuat dari pakej deb yang siap digunakan.
Saya harap anda menyukainya dan ia telah menjelaskan saya dengan baik 😀
32 komen, tinggalkan komen anda
Bukankah lebih mudah menggunakan checkinstall?
Checkinstall digunakan untuk membuat pakej deb, rpm atau Slackware dengan lebih mudah.
Baik. Mari lihat apakah saya boleh meluangkan masa untuk menambahkan Iceweasel ke repo slacky.eu.
Apa yang tidak kena dengan Firefox? : hlm
yang tidak terdapat dalam Debian: hlm
Bukan itu yang saya maksudkan xD
Kerana Firefox tidak mempunyai versi rasmi untuk Debian, dan jika saya menggunakan repo Ubuntu atau Mint, mereka mengambil masa yang sama dengan Iceweasel untuk menerbitkannya; Di samping itu, mereka meminta anda sepanjang masa jika anda ingin mengirim data anda atau tidak (fungsi yang sangat remeh untuk penyemak imbas yang melindungi privasi).
Saya tidak menentang Firefox, dan sejujurnya, saya hampir tidak menggunakan Firefox ESR di Slackware dan Firefox Release di Windows (Iceweasel hanya menggunakannya di Debian, tetapi kerana Arch memberi saya kelebihan luar biasa untuk memasangnya, saya akan memasangnya). Perkara rasa, tidak lebih.
Hai. Saya mempunyai beberapa skrip bash. Satu untuk menghasilkan folder dan fail asas untuk pakej deb. Dan yang terakhir menghasilkan pakej dari semua fail dan folder. Sekiranya anda berminat, saya boleh kongsikan.
Pasti anda boleh, semasa pembayaran XD
Sudah tentu ia menarik ... sekurang-kurangnya bagi saya.
Sekarang saya bersama Manjaro, saya menghargai semua maklumat yang mungkin.
Betapa hebatnya anda, rakan kongsi.
Saya akan memberitahu anda di forum bahawa jika anda dapat menjelaskan kepada saya bagaimana untuk menyusun pakej .deb dan saya tidak memberitahu anda apa-apa supaya tidak menyalahgunakan kemurahan hati anda…. dan saya pergi ke halaman dan saya melihat bahawa anda telah memuat naik artikel yang menjelaskan keseluruhan proses.
Ini menunjukkan bahawa anda seorang yang pemurah.
Saya kata, awak retak.
Sesuatu ucapan
Terima kasih, dan sekali lagi terima kasih atas soalan anda yang memberi saya idea ^^
Ia adalah rakan yang baik, setelah saya mencuba lembut yang saya tidak ingat nama yang ditukar dari .deb menjadi .rpm, tetapi ia tidak berfungsi dengan baik.
Seseorang yang mempunyai lengkungan dapat menguji apakah perisian ini berjalan lancar ke rpm dan pemasangannya dibuka dengan baik?
http://www.justcloud.com/download/linux-64
Ini untuk membuat sandaran di awan, saya sudah lama membayar dan saya mempunyai lebih daripada 40GB di awan =)
Itu mesti dicuba oleh orang yang menggunakan Fedora, Red Hat atau derivatif lain.
Dari keterangan yang anda berikan, saya rasa anda bermaksud asing (dan tidak ada kaitan dengan Xenoform tertentu)
Hebat! Saya selalu memberitahu diri saya bahawa suatu hari saya ingin membuat bungkusan, walaupun ingin mengetahui bagaimana melakukannya :).
Dalam jenis posting ini, saya menghargai bahawa blog melaksanakan pilihan untuk menambah entri seperti ini dalam "kegemaran" akaun saya
Setuju, saya menanamnya, tetapi tidak ada 🙂
Adalah baik juga jika dapat mengikuti pengguna tertentu
Lelaki tua yang hebat, saya telah menggunakan manjaro selama beberapa hari dan untuk kajian saya perlu memasang paket tracer dari Cisco tetapi ia hanya mempunyai pakej .deb versi terbaru dan ke dalam AUR selalu memberi saya ralat ketika menyusun, saya harap dengan langkah-langkah ini saya dapat memasangnya kerana secara paksa saya telah menggunakan linux mint, terima kasih banyak
untuk melihat apakah seseorang berani memasukkan AUR Multisystem
bergantung pada perpustakaan deb yang tidak ada di lengkungan
Tetapi jika berfungsi, fungsinya adalah untuk membuat pemacu pen multi ISO dengan grub2 lebih baik daripada unetbootin yang hanya berfungsi satu.
Pada masa ini saya mempunyai ISO ubuntu dari dalamnya yang membolehkan saya menambah gambar jika saya mahu boot dari USB itu sendiri
tetapi jika tidak ada yang berani menyimpan tiket
Maaf, sudah ada pelbagai sistem, dan saya rasa tidak
Dalam pelbagai sistem ...
tetapi bertambah kerana yaourt memberikan masalah, dan mereka meletakkannya sebagai pilihan
Hebat 😀 untuk meluluskan dengan "Purrr" program untuk menamakan semula fail secara pukal.
Regards,
Pada masa ini dalam AUR mereka menghapuskan pakej yang tidak mempunyai fungsi paket (), bagaimana saya dapat mengetahui garis apa yang harus diletakkan di sana? Maksudnya, saya mempunyai beberapa bungkusan dan saya melakukannya dengan cara ini tetapi saya tidak tahu apakah itu baik-baik saja https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD yang benar-benar saya lakukan adalah meneruskan apa yang ada di dalam binaan () untuk mengemas () tetapi seperti yang saya katakan, saya tidak tahu jika tidak apa-apa ... Bolehkah anda memberi saya komen dan cadangan anda?
Terima kasih 😀
Inside build () akan pergi ke bahagian kompilasi program dan dalam paket () bahagian yang menghasilkan paket.
Untuk meletakkan contoh pendek dalam build () akan pergi ./configure, ./autogen.sh, cmake, make and in package () buat install, dll.
Hei, terima kasih banyak ... Saya akan mengedit pakej saya 😀
Terima kasih atas maklumat yang akan saya tandakan untuk rujukan di masa hadapan.
Bolehkah seseorang menjelaskan apa itu kepada saya, saya masih baru, dan saya tidak tahu apakah ini membantu saya memasang pakej .deb tetapi secara tempatan di manjaro, permainan yang tepat. Ya, ia berfungsi?
Saya mencari dan mereka menyuruh saya memasang pakej deb2targz tetapi saya mendapat ralat ketika memasangnya dari terminal, dan kemudian saya tidak tahu apakah ia boleh
Perkara yang sama berlaku kepada saya; Saya perlu memasang di Kademar yang berdasarkan Arch; beberapa pakej yang saya hanya dapat masuk .deb
Bolehkah seseorang menolong saya?
Sekiranya maksud anda adalah kegagalan dalam pemasangan deb2targz, saya baru selesai memasangnya dengan arahan yaourt -S deb2targz. Sudah tentu, di ArchLinux.
Catatan yang sangat bermaklumat. Terima kasih kerana berkongsi.
Pos yang baik. Terima kasih kerana berkongsi maklumat berguna ini.
Terima kasih atas catatan yang bermanfaat ini. Ini akan banyak membantu.
hai, bolehkah anda meninggalkan skrip untuk penukaran dan bagaimana menggunakannya? Ia sebahagiannya membingungkan, saya sudah mempunyai deb yang ingin saya tukar dan saya tahu bahawa ia mungkin berlaku kerana krom google AUR adalah deb tetapi saya tidak tahu bagaimana membuat "MAKEPKG SI" dengan deb lain 🙁