Diskusi dari pos ini membuat saya ingin tahu perbedaan antara manajemen paket Debian dan Arch. Juga, orang-orang cenderung mengatakan bahwa Arch sangat ringan, jadi saya ingin tahu apa hubungannya dengan manajemen paket. Apakah mungkin karena Debian memperlakukan Rekomendasi sebagai dependensi keras secara default?
Bisakah Anda juga menyebutkan fleksibilitas / kekuatan antara dua manajer paket: mana dari keduanya yang memungkinkan Anda melakukan lebih banyak.
Saya menyadari bahwa beberapa fitur yang tersedia pada sistem manajemen paket Debian tidak akan relevan pada sistem Arch, karena Arch memiliki satu Suite dan Debian memiliki banyak (misalnya, penyematan APT dan penanganan ketergantungan tingkat lanjut muncul dalam pikiran), jadi silakan bandingkan fitur yang berlaku untuk kedua sistem (yaitu menganggap bahwa untuk Debian, saya hanya menggunakan tidak stabil ).
Jawaban:
Saya hanya menggunakan lengkungan secara teratur sejak beberapa minggu dan saya bukan ahli dalam hal ini sehingga jawaban ini sama sekali tidak lengkap, hanya beberapa poin yang saya perhatikan tentang "fleksibilitas / kekuatan":
Ini hanya kesan tetapi pacman tampaknya lebih modern dan sederhana dalam desain / arsitekturnya. Setidaknya ada jauh lebih sedikit alat untuk menangani. Walaupun saya tidak tahu kode sumber yang tepat, saya kebetulan melihat kode libalpm (pustaka yang mendasari pacman) untuk membuat tambalan yang sangat sederhana, dan tampaknya bersih dan mudah dimengerti.
Ini juga sangat cepat (karena optimasi dan juga mungkin dengan memperhatikan beberapa hal (lihat di bawah)). Rilis terakhir (pacman 3.5, berusia beberapa hari) mencoba meningkatkan kinerja dengan mengurangi jumlah file database yang terlibat.
Sementara arch berorientasi pada penggunaan paket biner, ia juga memiliki keuntungan ketika membangun paket dari sumber, dengan sistem build yang mirip dengan port BSD (ABS).
Sangat mudah dan cepat untuk membuat paket, hanya beberapa baris dalam file PKGBUILD dan selesai, tidak perlu berurusan dengan kontrol / aturan / hak cipta / changelog / apa pun seperti dengan paket Debian. Dan dalam beberapa klik di web ui paket Anda dibagikan kepada semua orang di AUR (Arch User Repository).
Hal-hal yang saya dapatkan di Debian dan bukan di lengkungan:
Pemicu / pengait (yang membuat apt memperbarui cache ikon, mandb atau apa pun hanya dengan melihat di mana paket menginstal file, tanpa perlu paket untuk melakukan apa pun) (sepertinya ada rencana untuk mengimplementasikan ini).
debconf (bukan masalah besar dan omong-omong dengan memaksa saya untuk melakukan hal-hal secara manual itu memaksa saya untuk mengetahui apa yang sebenarnya dilakukan) dan penanganan yang tepat dari file konfigurasi baru (saya setidaknya ingin pacman mengetahui kapan file konfigurasi dalam paket baru versi berbeda dari yang diinstal karena diubah dalam versi baru atau karena saya memodifikasinya secara lokal).
penandatanganan paket (sepertinya sedang dikerjakan ).
Untuk lengkungan yang ringan, satu-satunya alasan sebenarnya adalah bahwa ia datang dengan beberapa paket diinstal secara default dan Anda didorong untuk menambahkan apa yang Anda butuhkan, jadi mungkin tidak menginstal dependensi opsional secara default adalah menghasut pengguna untuk menginstal menghindari bloat.
sumber
Saya memulai perjalanan Linux saya dengan Ubuntu jernih, dan saat ini menggunakan Arch. Saya telah menulis beberapa paket Arch, dan saya akan mengatakan ini jauh lebih mudah daripada menulis paket Debian. Tapi, saya ingin menunjukkan ke @gentledevil bahwa Arch memang memiliki sistem kait untuk paket, yang dikenal sebagai
install file
.Pada dasarnya, namanya
${pkgname}.install
, dan berisi beberapa fungsi untuk pra / pasca pemasangan / penghapusan / peningkatan; cukup tempatkan pembaruan font-cache Anda di situ dan seterusnya dan berfungsi hampir sama dengan kait Debian.Juga, saya perhatikan Anda menyebutkan 'menyematkan' aplikasi menggunakan alat manajemen paket debian; Pacman Arch memiliki built-in itu juga,
/etc/pacman.conf
menerima sejumlah pengaturan, termasukIgnorePkg =
, yang akan mencegah pemutakhiran ke paket apa pun yang terdaftar setelah yang sama (dibatasi ruang)sumber
powerpill
pembungkus untuk pacman untuk memiliki unduhan paralel dari beberapa paket, jadi alih-alihpacman -S libfoo libbar libbaz
mengunduh setiap paket satu demi satu, ia malah mengunduh ketiganya secara bersamaan, sangat meningkatkan kecepatan pemutakhiran untuk koneksi yang lebih baik.Sebelum saya melangkah terlalu jauh, pelajari Timeline Pictorial Linux
Untuk memahami perbedaan dalam Pengelola Paket, Anda harus memahami filosofi OS yang digambarkan di atas
Tiga Orang Tua Utama
rpm
Aptitude or Apt
Orang tua ini adalah ibu dan ayah bagi sebagian besar distribusi yang kita kenal sekarang. Gagasan / konsep Sistem Manajemen Paket diturunkan atau dibagikan dalam beberapa bentuk atau cara. Apapun, semua orang tua ini adalah distributor biner, yang berarti bahwa suatu program dikemas dan diputuskan oleh pihak ke-3, kemudian disimpan dalam repositori, dan dikonsumsi atau diinstal oleh basis pengguna.
3 Orangtua Kecil
Orang tua ini kecil karena basis perdagangan mereka kecepatan dan kemudahan instalasi dengan kekuatan dan kemudahan konfigurasi. Setiap paket diunduh dan dikompilasi dari awal, menggunakan variabel dan file konfigurasi.
Jembatan
Arch dibuat sebagai jembatan antara distribusi biner, seperti salah satu dari 3 Orang Tua Utama, dan distribusi berbasis sumber seperti salah satu dari 3 Orang Tua Kecil. Dengan demikian, ia menerima status sebagai orang tua di timeline, karena tidak ada orang tua lain yang menyediakan fungsi ini. Pacman memiliki fleksibilitas untuk memungkinkan pengguna menginstal paket biner dari repositori resmi, atau paket yang dibuat khusus menggunakan Arch Build System. Konsep ini memberikan keseimbangan antara kekuatan yang diberikan orang tua minor dengan kemudahan pemasangan yang diberikan orang tua utama.
Menurut pendapat saya, bukan manajer paket yang menunjukkan kekuatan suatu sistem, karena semua manajer paket melakukan tugas yang sama, yaitu mengelola dan memelihara sistem yang sehat. Dengan demikian, sistem yang Anda gunakan harus ditentukan oleh faktor-faktor seperti:
sumber
emerge packagename
sama dengansudo apt-get install packagename
.Ini sama sekali bukan jawaban yang lengkap atau lengkap - poster sebelum saya sudah memberikan beberapa poin yang sangat bagus, saya hanya ingin menambahkan 2 sen saya. Hal lain - saya tidak pernah terbiasa dengan apt / dpkg. Itu selalu tampak terlalu rumit bagi saya, saya benar-benar paling nyaman dengan yum / rpm.
pacman sangat mudah digunakan, yang pro dan kontra - Anda bisa belajar menggunakannya (mengesampingkan paket) dalam satu sore - sebagian besar menggunakan fitur manajemen paket yang intuitif dan lengkap, tapi - dan ini besar tapi - itu sangat tidak fleksibel.
Jika para desainer tidak memikirkan fitur sebelumnya, Anda kacau.
Beberapa contoh: tidak ada versi asli dalam pacman. Jika Anda ingin menurunkan versi versi paket - Anda harus mengunduh versi paket tertentu, dan menggunakan opsi -U (upgrade) untuk menginstal dari file. Ini sangat diarahkan untuk selalu menggunakan paket-paket canggih pada sistem Anda.
Tidak ada pembersihan cache internal nyata / pembangunan kembali lengkap. Jika (karena masalah jaringan) unduhan paket rusak, misalnya selama -Syu, pesan kesalahan, meskipun akurat, tidak akan banyak berguna - itu tidak akan menunjukkan paket yang rusak bahkan dengan verbositas "penuh" dan debug diaktifkan. , dan jumlah -Syyc tidak akan benar-benar membersihkan cache dan mengunduh ulang paket. Berita baiknya adalah -Sc akan memberi tahu Anda di mana paket yang diunduh jadi Anda bisa menghapus yang menyinggung (jika Anda bisa mencari tahu yang mana) atau semuanya dan restart -Syu.
integrasi pacman dengan dkms juga agak bermasalah - saat memasang kernel baru saya terus mengalami kesalahan dari dkms. Menggunakan dkms build && dkms instal terhadap kernel baru bekerja tanpa hambatan, namun pacman tidak akan menawarkan informasi apa pun mengapa dkms gagal selama peningkatan kernel (saya menduga itu tidak pernah melewati jalur yang benar dari kernel baru, dan biarkan saja dkms menggunakan default kernel (berjalan saat ini) tetapi dengan versi yang salah).
Anekdot lain tentang ketidakfleksibelannya - seperti dinyatakan, saya terbiasa dengan rpm / yum. Jika saya memiliki file di sistem saya dan saya ingin tahu paket mana yang memilikinya, saya dapat menjalankan yum menyediakan / path / ke / file dan mendapatkan SEMUA paket yang dapat meletakkannya di sana - bahkan jika tidak ada satupun yang diinstal. Jika file itu ditempatkan secara manual, dan sekarang saya ingin menginstal paket - itu akan renamethe yang baru (tambahkan ekstensi .rpmnew), dan biarkan saya memilih apa yang akan digunakan.
pacman hanya kesalahan bahwa file sudah ada, tetapi dengan pesan kesalahan yang sama sekali tidak relevan - itu mengeluh konflik antara pemilik file "benar" dan paket "filesystems" yang saat ini diinstal, seolah-olah itu juga merupakan pemilik dari file yang sama. Juga sebagian besar diarahkan ke informasi yang dipasang lokal - mencoba untuk mendapatkan informasi (seperti daftar file dan kepemilikan) paket yang belum diinstal kurang intuitif.
Sederhananya - itu tidak setua yum, dan mungkin dpkg, yang cocok untuk kemudahan penggunaan juga tidak fleksibel.
sumber
pacman -Qo $file
akan memberi tahu Anda paket apa yang memiliki $ file. Juga, seluruh jawaban Anda adalah stroberi karena OP secara eksplisit meminta perbedaan antara Arch dan Debian -yum
tidak ada hubungannya dengan itu ...