Struktur yang ditetapkan dari .deb
nama file adalah package_version_architecture.deb
.
Menurut paragraf ini :
Beberapa paket tidak mengikuti struktur nama
package_version_architecture.deb
. Paket yang diganti nama dengan dpkg-name akan mengikuti struktur ini. Secara umum ini tidak akan berdampak pada bagaimana paket diinstal oleh dselect / dpkg, tetapi alat instalasi lain mungkin tergantung pada struktur penamaan ini.
Pertanyaan:
Namun, apakah ada situasi nyata ketika mengganti nama .deb
file paket sangat tidak disarankan? Apakah praktik biasa memberikan .deb
nama file khusus untuk perangkat lunak saya?
Contoh:
My Program for Linux v1.0.0 (Pro).deb
- penamaan kustommy-program_1.0.0-1_amd64.deb
- penamaan resmi yang tepat
catatan:
Saya tidak berencana membuat repo, saya hanya hosting .deb
paket perangkat lunak saya di situs web saya untuk unduhan langsung.
Jawaban:
Selama bertahun-tahun, saya telah mengakumulasikan sejumlah besar
.deb
paket dengan nama yang tidak standar, dan saya tidak ingat mengalami masalah. Paket "terkenal" dengan nama-nama tidak standar yang mungkin ditemui orang saat ini termasukgoogle-chrome-stable_current_amd64.deb
dansteam.deb
. (Dalam kedua kasus tersebut, nama yang tetap dan tidak versi memastikan bahwa URL yang stabil dapat digunakan untuk unduhan, dan nama yang stabil untuk instruksi pemasangan.)Namun saya tidak ingat berlari melintasi spasi dengan nama mereka; yang seharusnya tidak menyebabkan masalah dengan alat, tetapi juga dapat menyebabkan kebingungan bagi pengguna Anda (karena mereka harus mengutip nama file atau keluar dari ruang jika mereka menggunakan alat berbasis shell).
Hal lain yang perlu diperhatikan adalah bahwa menggunakan nama non-standar yang tidak sama dengan nama paket Anda (seperti yang disimpan dalam
control
file) juga dapat menyebabkan kebingungan, misalnya ketika mencoba untuk menghapus paket (karena nama paket tidak akan sama dengan nama yang digunakan untuk menginstalnya).Sebagai hasil dari semua ini, jika Anda tidak ingin tetap menggunakan nama kanonik saya akan merekomendasikan sesuatu seperti
my-program.deb
ataumy-program_amd64.deb
(tergantung pada apakah Anda ingin mendukung banyak arsitektur). Anda dapat membuat symlink ke nama file berversi juga jika Anda ingin mengizinkan versi yang lebih lama untuk diunduh.sumber
Nama file distandarisasi terutama untuk kepentingan perangkat lunak pemeliharaan arsip dan cache lokal.
Di masa lalu, sebelum
m68k
arsitektur ditambahkan ke Debian, nama file menggunakan " package _ version .deb", tanpa masalah. Nama arsitektur ditambahkan ke nama file ketika perangkat lunak arsip diperlukan untuk menyimpani386
danm68k
paket dari paket dan versi yang sama di direktori yang sama. Karena daftar paket selalu berisi nama file yang panjang dan 8.3 , yang dapat diterapkan tanpa melanggar klien.Dpkg umumnya tidak peduli dengan nama file paket sama sekali. Selama berjalan instalasi, APT menghasilkan direktori dengan semua file paket untuk instalasi run ini, dan setiap file akan memiliki jumlah dalam jangka saat ini ditambahkan di nama file (yaitu jika Anda menginstal paket
foo
versi 1, dan paketbar
versi 2, yangfoo
tergantung pada , apt akan lulus0-bar_2_all.deb
dan1-foo_1_amd64.deb
ke dpkg).APT umumnya mengasumsikan bahwa nama itu unik untuk tujuan caching. Jika Anda menggunakan kembali nama, pengguna yang memiliki file ini dalam cache mereka sudah akan mencoba melanjutkan unduhan jika file baru lebih besar, yang akan meninggalkan mereka dengan file yang tidak valid yang kemudian dibuang karena gagal dalam tes checksum. Namun kesalahan ini ditunjukkan kepada pengguna, dan mereka harus memulai kembali proses instalasi.
sumber