Manajer Paket & Ketergantungan
Sebagian besar distribusi Linux menggunakan manajer paket untuk instalasi dan penghapusan perangkat lunak. Manajer paket memberikan beberapa manfaat seperti kemungkinan menggunakan repositori pusat dari mana (hampir) perangkat lunak apa pun dapat diunduh, pengaturan potongan perangkat lunak ke dalam bundel yang dapat diinstal sebagai satu kelompok yang kohesif, dan manfaat utama: otomatis penanganan ketergantungan dan pelacakan perubahan apa yang dilakukan paket sehingga mereka dapat dihapus instalasinya.
Perangkat lunak tertentu mungkin memerlukan pustaka atau program lain untuk melakukan tugas yang akan berlebihan jika diterapkan kembali di bagian perangkat lunak itu. Paket memungkinkan untuk ekspresi dependensi ini.
Perbedaan: format dan strategi paket
Ada beberapa manajer paket yang berbeda. Masing-masing diciptakan karena yang sudah ada tidak memenuhi kebutuhan sebagian orang. Setiap manajer paket membutuhkan paket dalam formatnya sendiri.
Selain itu, distribusi yang berbeda memiliki persyaratan perangkat lunak yang berbeda pula. Ada sejumlah perangkat lunak yang dapat memiliki kemampuan berbeda tergantung pada opsi yang diberikan ketika dikompilasi dari kode sumber ke dalam mesin yang dapat dieksekusi. Beberapa distribusi ingin menyediakan set fitur lengkap dan pengalaman yang kaya sementara yang lain ingin memberikan pengalaman sesederhana dan sesederhana mungkin, dan ada segalanya di antaranya. Juga, distribusi dapat memutuskan untuk memformat struktur direktori secara berbeda atau menggunakan sistem init yang berbeda. Mereka mungkin memutuskan untuk menggabungkan perangkat lunak secara berbeda: mungkin ada paket yang disebut "dev-utils" dalam dua distribusi yang berbeda, tetapi satu versi yang mencakupyacc
sementara yang lain tidak. Karena kebutuhan yang berbeda ini, distribusi memilih untuk mengkompilasi perangkat lunak dengan cara yang berbeda.
Inilah sebabnya mengapa bahkan jika Anda memiliki paket dalam format yang benar untuk manajer paket Anda, itu mungkin tidak berfungsi jika paket itu ditujukan untuk distribusi yang berbeda. Sebagai contoh, paket itu mungkin bergantung pada yacc
yang diinstal, dan itu menyatakan ketergantungan itu melalui memerlukan paket "dev-utils", tetapi "dev-utils" Anda tidak termasuk yacc
. Sekarang ada paket yang diinstal dengan ketergantungan yang tidak terpenuhi.
Itu tidak benar-benar masalah.
Bagian besar dari menjadi distribusi Linux adalah mempertahankan repositori perangkat lunak pusat. Distribusi mengurus menjaga semua ini untuk Anda. Ini sebenarnya membuatnya sangat mudah untuk menginstal perangkat lunak. Anda biasanya menggunakan manajer paket untuk mencari dan memilih beberapa paket, kemudian memintanya untuk menginstalnya; itu mengurus sisanya untukmu. Proses instalasi perangkat lunak Windows mencakup pencarian perangkat lunak di situs web pihak ketiga, mencoba menemukan tautan unduhan yang sesuai, mengunduh, memeriksa virus, dan menjalankan program pemasangan yang kemudian menanyakan banyak pertanyaan yang tidak relevan. Seluruh kekacauan itu bukan standar di Linux.
Repositori tidak dapat menyertakan semuanya
Sekarang, mungkin ada kasus di mana sepotong perangkat lunak yang Anda butuhkan tidak ada dalam repositori distribusi Anda. Paket-paket yang disediakan oleh repositori perangkat lunak adalah salah satu fitur yang membedakan distribusi. Ketika Anda tidak dapat menemukan perangkat lunak yang Anda butuhkan di repositori distribusi Anda, ada tiga jalan yang mungkin (sungguh, dua ditambah cara untuk benar-benar mengacaukan segalanya).
Repositori Komunitas
Banyak distribusi memiliki repositori tidak resmi yang dikelola oleh orang-orang yang tidak terkait dengan distribusi. Ubuntu menyebutnya PPA, Fedora menyebutnya Repositori Orang Fedora. Arch Linux tidak memiliki nama spesifik untuk repositori pihak ketiga , tetapi memang memiliki AUR, yang merupakan kumpulan "resep" untuk paket (catatan: hanya ada satu AUR). Anda mungkin pertama kali mencoba menginstal paket dari salah satu sumber ini karena mudah untuk tidak menginstalnya jika tidak berfungsi.
Kompilasi dari Sumber
Jika Anda tidak dapat menemukan repositori tidak resmi dengan yang Anda butuhkan, kompilasi dari sumber tidaklah sulit. Anda perlu menginstal paket pengembangan distribusi Anda; ini termasuk hal-hal dasar seperti kompiler, tautan, pengurai, dan alat-alat lain yang biasanya diperlukan untuk menyusun perangkat lunak. Kemudian Anda menemukan kode sumber proyek (yang hampir selalu dikemas dalam .tgz
atau .tbz
(disebut "tarball"). Unduh ke direktori sendiri di suatu tempat, ekstrak (gunakan tar -xf filename.tgz
, dan biasanya masuk ke satu direktori yang dibuat. Dalam direktori itu mungkin sebuah file bernama README
atau INSTALL
. Jika ada, silakan dan membacanya; kebanyakan dari mereka memberitahu Anda untuk melakukan hal yang sama. Beberapa langkah selanjutnya dilakukan pada baris perintah. Jalankan ls
, dan cari file yang dapat dieksekusi yang disebutconfigure
. Jika ada, jalankan dengan melakukan ./configure
; terkadang butuh beberapa menit. Itu biasanya menjalankan beberapa tes untuk mengetahui bagaimana distribusi Anda memiliki pengaturan hal-hal, dan itu memastikan Anda memiliki alat yang diperlukan untuk mengkompilasi perangkat lunak ini. Langkah selanjutnya adalah menjalankan make
. Ini sebenarnya mengkompilasi perangkat lunak, dan mungkin akan memakan waktu - di mana saja dari beberapa menit hingga berjam-jam tergantung pada ukuran perangkat lunak yang Anda kompilasi. Setelah selesai, Anda lari make install
. Ini menginstal perangkat lunak, yang melibatkan menyalin produk dari kompilasi ke tempat-tempat yang sesuai di sistem file Anda. Setelah itu, perangkat lunak tersedia untuk digunakan.
Ini adalah bagian yang panjang, tetapi diringkas sebagai "README, ./configure, make, make install" . Itulah rutinitas yang harus diingat.
Instal paket dari distribusi lain (jangan lakukan ini)
Saya daftar ini hanya karena itu adalah dan alternatif, tetapi akan hampir pasti tidak berakhir dengan baik. Dimungkinkan untuk menginstal paket untuk distribusi lain, dan Anda mungkin mendapati diri Anda ingin melakukannya. Yah, jangan. Jangan lakukan itu sampai Anda memahami sistem Anda dengan sangat baik. Bahkan, saya tidak akan menempatkan perintah apa pun di sini yang menunjukkan bagaimana melakukannya meskipun itu mungkin. Jika Anda sampai pada titik di mana sepertinya ini adalah satu-satunya pilihan, jangan instal paket menggunakan manajer paket; alih-alih, tarik keluar dari paket dan letakkan di sistem Anda secara manual, bersama dengan catatan tentang apa yang telah Anda lakukan sehingga Anda dapat membatalkannya jika perlu.
Baris perintah sedikit
Beberapa orang lebih suka baris perintah untuk keuntungan yang diberikannya kepada mereka. Ini dapat diringkas menjadi tiga hal:
- Kemudahan otomatisasi
- Kecepatan (dibandingkan dengan mengklik di semua tempat dalam gui)
- Ekspresi
Yang terbesar adalah ekspresif; ada hal-hal yang dapat dilakukan pada baris perintah yang tidak mungkin dalam antarmuka grafis.
Akhirnya, instruksi baris perintah sering diberikan di forum yang bermanfaat seperti ini karena lebih mudah untuk menyampaikan informasi yang benar daripada memberikan instruksi tipe "klik di sini-kemudian-kemudian-kemudian-di sana".
Distro yang berbeda memiliki prasyarat instalasi yang berbeda. Namun, ada RPM atau DEB (atau paket lain untuk sistem manajemen paket lain), yang berfungsi untuk lebih dari satu distro. Filosofi Linux membuat kode sumber tersedia. Saat mengkompilasi perangkat lunak Anda sendiri, rutinitasnya hampir sama pada semua distro, dan selalu sama dengan
.tar.gz
arsip yang Anda gunakan.RPM yang dikompilasi lebih seperti bagian dari sistem; aplikasi itu sendiri, sebagai entitas yang berdiri sendiri, dimaksudkan untuk didistribusikan dan dikompilasi pada setiap target.
Pertanyaan kedua Anda adalah sesuatu yang sangat berbeda ... Ya, "banyak pengguna Linux" lebih suka aplikasi CLI karena berbagai alasan, jejak memori kecil hanya satu alasan. Saat menggunakan SSH, aplikasi CLI lebih masuk akal, terutama saat bekerja di luar server. Lebih sering daripada tidak, server-server itu tidak memiliki lingkungan grafis yang diinstal. Saat menjalankan program yang tidak di-daemonisasi, mereka sangat mudah dibatalkan. Ctrl- c, dan programnya hilang. Juga, banyak program masuk ke konsol, jadi lebih mudah untuk debug. Saat pemrograman, Anda melakukan sebagian besar kompilasi di konsol. Itu lebih masuk akal untuk kompilasi debugging cepat. Entah itu, atau membaca file log, kadang-kadang, membaca konsol lebih cepat.
sumber
Lengkungan. Atau FreeBSD, yang dikembangkan secara keseluruhan. (RHEL, SLES dan sejenisnya adalah $ didukung secara keseluruhan.)
Penggunaan laptop: Mint
Retas yang dapat digunakan: Lengkungan.
Hackability sadis: Genoo.
Hackability yang menyenangkan: LFS.
Dukungan (server): RHEL, Ubuntu LTS, FreeBSD (berbeda dari Linux).
sumber