Cara Mengelola Driver dan Aplikasi Pada Linux
Dimana aplikasi dan driver diinstall pada linux? – Aplikasi pada linux dikenal dengan istilah Package sedangkan driver pada linux disebut dengan kernel modules ,lalu dinamakah file aplikasi dan driver diletakan?untuk memahami hal ini baiknya kamu memahami struktur dan hierarki filesystem pada linux.
Windows memerklukan driver yang dibuat oleh pabrikan/manufacturer sebuah hardware agar bisa bekerja.Linux dan sistem operasi lain juga memerlukan driver agar perangkat dapat bekerja,hanya saja driver pada linux dihandle dengan cara yang berbeda.
Kabar baik pengguna linux adalah, jika hardware dipasang pada linux dan bekerja begitu saja maka kita tidak perlu melakukan apapun ,tapi jika yang terjadi sebaliknya maka kadang kita perlu menginstal driver secara manual ,tetapi ada beberapa hardware yang tidak bisa berjalan sama sekali di linux (hardware terlalu tua atau terlalu baru sehingga driver untuk linux belum dibuat)
Windows Driver vs Linux Driver
Pada Windows -Saat menginstall windows, kamu perlu menginstall driver hardware yang telah disediakan oleh pabrikan/manufacturer hardware tersebut agar hardware dapat bekerja – Seperti chipset,VGA,LanCard,SoundCard,storage controller dan lain sebagainya.
Windows sebenarnya telah mengikutsertakan driver (bundle) kedalam sistem operasi itu sendiri,namun tidak semua driver disertakan dalam paket OS dan hanya membundle driver yang masuk dalam kategori generik dan mayoritas digunakan seperti driver mouse,keyboard,chipset,vga standar,storage device dan lain sebagainya.
Driver juga disertakan dalam server windows update,ketika kamu memasang sebuah hardware pada windows,maka windows akan menscann dan mencari kan driver yang cocok melalui windows update dan jika driver yang sesuai tidak ditemukan maka kamu harus menginstall nya manual dengan mendownload driver di website pembuat hardware tersebut.
Pada Linux -Beberapa hal berbeda pada linux,sebagian besar driver untuk hardware bersifat opensource dan telah disertakan (include) pada linux itu sendiri.Pada dasarnya driver yang telah disertakan kedalam linux menjadi bagian dari kernel itu sendiri namun ada sebagian perangkat yang menggunakan service tertentu untuk menginstall dan mengkonfigurasi driver seperti Graphic Card yang menjadi bagian dari Xorg (Graphic system) serta printer dan scanner yang dikonfigurasi oleh CUPS service (printer and scanner system).
Dengan kata lain,sebagian besar driver yang kita perlukan telah terintegrasi dengan kernel,graphic server dan printer server.Driver ini biasanya dibuat oleh perseorangan,group bahkan oleh pembuat hardware tersebut yang ikut tergabung dalam linux kernel projek atau projek lain.
Yang berarti kamu tidak usah repot-repot mencari/menginstall driver secara manual saat menggunakan linux agar hardware bisa bekerja,karena sebagian driver telah terintegrasi pada paket kernel dan hardware akan dikenali oleh system dan bekerja dengan sendirinya tanpa kamu harus melakukan apa-apa.Kernel ini akan sangat sering diupdate agar bisa mensupport hardware tipe baru dan meningkatkan kualitas kinerja kernel itu sendiri.
Driver pada linux disebut “kernel modules” dan menggunakan extensi *.ko untuk nama file fisik nya.
Linux Kernel dan Kernel Modules
Linux Kernel – adalah aplikasi yang dibuat untuk berjalan pada level terendah disebuah sistem yang berhadapan langsung dengan hardware komputer.Kernel diLoad pertama kali pada saat sistem operasi booting dan akan tetap ada di dalam memory samapi sistem dimatikan, oleh karena itu kernel ditempatkan di area terlindung di memory(RAM) untuk menghindari tertimpa oleh memory aplikasi lain .kernel dirancang sekecil mungkin agar menghemat resource (karena kernel diload di memory secara permanent begitu komputer dihidupkan).
Kernel bertanggung jawab dalam management resource yang dipakai oleh aplikasi seperti memory management,process dan task management serta disk management, kernel juga sebagai penghubung komunikasi antara hardware dengan aplikasi yang ada di dalam sistem.
Kernel Modules – Linux menyertakan hampir semua hardware driver dalam paket distribusi linux jika suatu saat driver diperlukan oleh hardware tertentu maka tinggal driver diload kedalam kernel dan jika tidak diperlukan tinggal diUnload dari kernel,karena sifat flexible inilah kernel modules dikenal juga dengan sebutan Loadable Kernel Module (LKM).kernel modules didesain dengan ukuran sekecil mungkin dan hanya diload ke dalam kernel jika dibutuhkan saja.
Untuk pabrikan hardware dengan closed source driver (propriertary) kernel modules nya tidak terinstall secara default namun telah disediakan oleh pabrikan hardware tersebut.Seperti pada graphic card yang hardware nya tidak terinstall otomatis,maka kamu harus mendownload nya secara manual baik melalui official repository atau dari official website pabrikan hardware tersebut.
Proprietary Driver
Beberapa pabrikan hardware tidak mendistribusikan source code drivernya secara bebas,yang berarti driver dari perangkat tersebut hanya dikembangkan dan didevelop oleh perusahaan tersebut.Ada beberapa perangkat yang tidak menyediakan driver secara opensource (proprietary) seperti Graphic card (termasuk NVIDIA dan AMD) dan beberapa pabrikan perangkat WiFi,yang artinya driver perangkat ini tidak diintegrasikan dengan kernel /belum bisa bekerja sebelum kamu menginstall drivernya secara manual.
Komunitas Linux memang telah membuat versi driver versi opensource untuk perangkat tersebut agar hardware dapat bekerja,namun performanya tidak akan sama dengan performa ketika menggunakan driver yang disediakan oleh perangkat pabrikan tersebut.
JIka kamu ingin mendapatkan performa yang maximal dari hardware dengan proprietary driver maka kamu harus menginstall nya secara manual (karena proprietary driver tidak diintegrasikan dalam linux kernel)cek bagaimana cara menginstal proprietary driver untuk GraphicCard pada linux.Propietary driver biasnaya tersedia official repository dengan sedikit penyesuaian agar kompatible dan mudah untuk diinstall oleh user dari distro masing-masing.
Mengelola Driver Pada Linux
Karena tidak semua driver hardware bersifat opensource dari pabrikan nya maka terkadang kita perlu untuk menginstall driver secara manual pada linux,manual disini bukan 100% manual ,hanya saja kita bisa memilih dan mengkonfigurasi driver yang tidak terintegrasi dengan kernel linux.
Cara Menginstall Driver/Module Pada Linux
Install– Untuk menginstall driver sama seperti menginstall aplikasi,bisa dengan cara manual atau download dan install dari official repository distro linux masing-masing ,sedangkan untuk mengkonfigurasi jenis driver tertentu seperti VGA,printer dan scanner kita menggunakan service khusus yang telah disediakan oleh linux,seperti contoh : Untuk mengkonfigurasi printer dan scanner kita menggunakan CUPS service sedangkan untuk mengkonfigurasi Graphic card kita gunakan Xorg Service.
Penginstallan driver menggunakan package manager tidak memerlukan konfigurasi secara manual, tinggal klik beres. untuk pembahasan kernel dan driver/kernel module module pada linux akan dibuat di artikel yang lain.
Cara Melihat Driver yang terinstall di Linux
seperti penjelasan sebelum nya, semua driver hardware yang opensource telah diintegrasikan dalam paket distribusi linux dan file fisik untuk driver berada di
/lib/modules
.File driver ini akan diaktifkan dengan cara diload ke kernel ketika dibutuhkan oleh perangkat yang sesuai. untuk melihat driver apa saja yang tersedia /terinstall pada linux kita bisa menggunakan perintah ls -R /lib/modules/`uname -r`/kernel/drivers
untuk melihat informasi tentang driver /kernel module bisa menggunakan perintah modinfo namaDriver
Cara Melihat Driver yang aktiv (loaded kernel modules)
Driver pada linux diload ke kernel dan dikenal dengan sebutan kernel modules ,untuk melihat kernel modules yang digunakan oleh hardware dan diload kedalam kernel kita bisa menggunakan perintah
lsmod
Kolom pertama adalah nama module/driver ,kolom kedua menunjukan jumlah memory yang dipakai oleh driver/module dan kolom terakhir menunjukan jumlah aplikasi yang sedang menggunakan driver tersebut dan mana aplikasinya. Angka nol berarti driver sedang tidak digunakan oleh aplikasi apapun.
Kmu juga bisa menggunakan perintah
lspci -k
untuk melihat informasi hardware dan driver yang digunakan pada linuxMenghapus driver pada linux
Jika driver yang dimaksud adalah driver yang disertakan dalam paket distribusi linux ,maka kita tidak perlu menghapusnya dan cukup memberi tahu linux untuk tidak meload driver tersebut jika kita mempunyai driver yang lebih baik,kecuali jika driver yang kamu install merupakan proprietary driver kamu bisa menghapusnya melalui package manager seperti menghapus aplikasi pada umum nya.
Mengelola Aplikasi Pada Linux
Secara umum kita menggunakan Package manager yang telah disediakan oleh masing-masing distro untuk mengelola aplikasi (install,update,upgrade,remove) pada linux.Package manager untuk setiap distro biasanya berbeda sehingga kita harus tau dulu distro apa yang sedang kita gunakan dengan mengetikan perintah
uname -a
atau cat /proc/version
atau lsb_release -a
Setelah kita tau distro dari linux yang kita gunakan (Ubuntu – debian pada contoh diatas ) maka kita bisa tau package manager apa yang tersedia untuk mengelola aplikasi pada linux.Berikut beberapa package manager yang digunakan oleh mayoritas distro linux:
1. YUM (Yellowdog UpdaterModified) – Red Hat Enterprise Linux(RHEL)
yum merupakan tool utama yang digunakan untuk install,update,upgrade,delete dan mengatur paket aplikasi dalam bentuk RPM dari official Red Hat Software Repository pada Red Hat Enterprise Linux (RHEL).Yum digunakan pada RHEL (Misal RHEL,FEDORA,CentOS)dari versi 5 sedangkan versi sebelum nya menggunakan up2date.
yum merupakan tool utama yang digunakan untuk install,update,upgrade,delete dan mengatur paket aplikasi dalam bentuk RPM dari official Red Hat Software Repository pada Red Hat Enterprise Linux (RHEL).Yum digunakan pada RHEL (Misal RHEL,FEDORA,CentOS)dari versi 5 sedangkan versi sebelum nya menggunakan up2date.
Search ,Install ,Update dan Upgrade Command
yum search keyword
Mencari paket dengan keyword tertentu yang tersedia di repositoryyum minstall namaPaket
Untuk menginstall paketyum update namaPaket
Untuk mengupdate paket secara spesifik ,yum update
digunakan untuk mengupdate semua paketyum check-update
Untuk melakukan pengecekan versi pembaruan paket yang terinstall dan memberitahumu paket manasaja yang tersedia update dari repositoryyum localinstall /path/to/package.rpm
Menginstall package dalam bentuk RPM package dari local folder
Management Command
yum list installed
Menampilkan paket yang terinstallyum list installed | grep
“namaPaket” Mengecek apakah namaPaket terlah terinstall atau belumyum info namaPaket
Menampilkan informsi detail akan paket
Removal Command
yum remove namaPaket
Menghapus paket tertentuyum groupremove group
Menghapus semua paket yang berada pada grup tertentu
2. PACMAN (package manager) – Arch Linux
pacman digunakan oleh distro Arch Linux, versi GUI dari pacman adalah pamac
Install dan Update Command
pacman -Syu
,Sync dan update semua package yang terinstall di komputer gunakanpacman -Syudd
,Sync dan update semua package yang terinstall di komputer , dan skip package dependency. opsi ini digunakan ketika kita mengalami error “pacman could not satisfy dependencies” ketika mengupdate dengan opsi -Syupacman -S nama_package
,Mencari dan menginstall package tertentu
Removal Command
pacman -Rs nama_Package
,Menghapus package dan dependency yang sudah tidak terpakaipacman -Rsc nama_package
,Menghapus package,dependency dan package lain yang bergantung kepadanyapacman -Rdd nama_package
,Menghapus package tanpa menghapus dependencies yang digunakan nya.pacman -Sc
,menghapus cache package yang sudah tidak terinstall
3. DPKG – Debian (versi lama)
Merupakan package manager yang digunakan oleh linux Debian family versi terdahulu, dan hanya bisa digunakan untuk menginstall package secara local.Versi baru dari dpkg dengan dukungan install secara online dari repository adalah APT
Install Command
dpkg -i /path/to/packageName.deb
Menginstall aplikasi dengan format debian package *.debdpkg -R --install /path/to/folder/fillWithPackage/
menginstall semua paket dalam format *.deb yang berapa di suatu folder
Management Command
dpkg -l
Meilihat semua aplikasi yang terinstalldpkg -l namaPaket
Untuk mengecek apakah paket/aplikasi terinstall dan menampilkan nya dalam bentuk list sederhanadpkg -c /path/to/namaPaket.deb
Melihat isi dari paket yang akan diinstalldpkg -s namaPaket
Mengecek apakah paket terlah terinstall dan menampilkan informasi detail tentang paket tersebut
Removal Command
dpkg -r namaPaket
Menghapus namaPaket dan mempertahankan konfigurasi yang dibuat oleh namaPaketdpkg -p namaPaket
Menghapus namaPaket dan semua konfigurasi yang dibuatnya
4. APT (Advanced Package Tool) – Debian
APT merupakan seperangkat tool yang digunakan untuk mengelola debian package , APT biasanya digunakan oleh linux berbasis debian seperti ubuntu. Versi GUI dari APT adalah Synaptic package manager, kita bisa menginstall aplikasi langsung dari repository secara online menggunakan APT sedangkan dpkg digunakan hanya untuk menginstall aplikasi secara local.
APT merupakan seperangkat tool yang digunakan untuk mengelola debian package , APT biasanya digunakan oleh linux berbasis debian seperti ubuntu. Versi GUI dari APT adalah Synaptic package manager, kita bisa menginstall aplikasi langsung dari repository secara online menggunakan APT sedangkan dpkg digunakan hanya untuk menginstall aplikasi secara local.
Install Command
apt-get install nama_package
Untuk menginstall packageapt-get build-dep nama_package
Untuk menginstall dependencies yang diperlukan oleh nama_package,jika nama_package tidak ditemukan di repository maka akan error.apt-get install nama_package1 nama_package2 nama_packageN
untuk menginstall package lebih dari satu sekaligus.
Maintenance Command
apt-get update
,Untuk mengupdate informasi package ,informasi inilah yang digunakan untuk pembanding dengan versi package yang terinstall di komputer kita dengan versi yang ada di repository.apt-get upgrade
,Untuk mengupgrade semua package di komputer kita yang versinya lebih rendah dari versi repository,biasanya kita menjalankan apt-get update terlebih dahulu untuk fetch versi package dari repository ke komputer kitaapt-get dist-upgrade
,Alih-alih mengupgrade semua package yang terinstall,command ini hanya mengupgrade packge penting saja.apt-get check
,Untuk melakukan diagnostik terhadap package yang mengalami broken dependenciesapt-get -f install
,Untuk fix broken package dependenciesapt-get autoclean
,Untuk menghapus .deb file untuk package yang sudah tidak terinstall di system,biasanya ketika kita menginstall package,linux akan menyimpan deb file di cache directory.apt-get clean
,Menghapus semua package yang berada di directory cache tanpa pandang bulu.cache berada di /var/cache/apt/archives untuk melihat total ruang yang terpakai oleh cache bisa menggunakan perintah du -sh /var/cache/apt/archives
Search Command
apt-cache search deskripsi
,Digunakan untuk mencari package yang mengandung deskripsi yang telah kita tentukan,misalnya kita ingin mencari game balap tetapi tidak tau nama package game nya kita bisa menggunakan perintah apt-cache search racing gameapt-cache show nama_package
,digunakan untuk melihat informasi detail tentang packageapt-cache policy nama_package
, Digunakan untuk mengecek apakah package telah terinstall di komputer kita.
Removal Command
apt-get remove nama_package
, Untuk menghapus package tetapi tidak menghapus file setting dari aplikasi tersebutapt-get purge nama_package
,Untuk menghapus package berikut file konfigurasi yang dibuatnya.apt-get autoremove nama_package
,Untuk menghapus package dan dependencies dari package tersebut.Mengelola Aplikasi dengan GUI Package Manager
Cara paling mudah untuk memanage aplikasi pada linux adalah dengan menggunakan package manager versi GUI , karena kita tidak perlu menghafal dan mengetikan command. GUI Package manager pada linux sama persis fungsinnya seperti google play store, yang digunakan untuk mencari,install,update,upgrade dan hapus aplikasi. Package manager mendownload aplikasi,driver dan kernel dari official repository server pada masing-masing distro untuk menjaga integritas package/aplikasi yang diinstall agar terhindar dari infeksi malware pada package.
Malware– Menginstall aplikasi secara manual yang didownload dari website yang tidak jelas sangat tidak direkomendasikan karena berpotensi membahayakan sistem yang kita kelola, bisa saja package sudah dirubah dan ditanam backdoor malware yang secara tidak langsung kita menyerahkan akses komputer kita ketangan hacker.
GUI package manager– semua linux dengan Xwindows telah dilengkapi dengan GUI package manager, nama untuksetiap distro linux adalah berbeda, berikut nama package manager dan GUI package manager untuk distro linux yang populer:
Debian versi console dpkg , apt dan untuk versi GUI nya disebut Synaptic package manager
Arch versi console pacman dan untuk versi GUI diberinama pamac-manager
RHEL versi console yum dan versi GUI nya diberinama pirut (package management tool)
Arch versi console pacman dan untuk versi GUI diberinama pamac-manager
RHEL versi console yum dan versi GUI nya diberinama pirut (package management tool)
Mengelola aplikasi dengan Console Package Manager /Manual
Untuk melakukan install update dan remove menggunakan console package manager bisa dilakukan melalui terminal emulator pada desktop dan menggunakan perintah yang sudah tertera diatas,sesuai dengan jenis distro linux dan package manager yang digunakan.
Terkadang ada package special yang tidak masuk dalam repository dan kita mau tidak mau harus menginstall nya dengan cara manual tanpa menggunakan GUI package manager, yap kita menggunakan console saat menginstall 🙂
Proses update dan upgrade sama dengan proses install,jadi caranya sama dengan yang akan dijelaskan dibawah ini :
Binnary file
Merupakan format dengan suffix
*.bin
yang merupakan master installer dari sebuah aplikasi, untuk menginstall cukup mudah caranya :
1. Berikan atrtibut executable (+x) kepada file dengan format *.bin tersebut menggunakan perintah
2. eksekusi menggunakan perintah
3. ikuti prosedur penginstallan nya.
chmod a+x namaMasterApp.bin
2. eksekusi menggunakan perintah
./namaMasterApp.bin
3. ikuti prosedur penginstallan nya.
Source Package
Master aplikasi ini masih berbentuk source code dan belum dicompile,biasanya dalam format compressed tarbal file bisa dengan format tar atau bz . Karena masih dalam bentuk source code dan perlu dicompile maka sebelum bisa menginstall nya kita harus mengompile nya terlebih dahuluy, dan untuk bisa mengkompile suatu source code kita memerlukan dependencies yang diperlukan oleh source package tersebut.
Proses compile bisanya memerlukan waktu yang lebih lama dari pada menginstall aplikasi yang telah dicompile (binnary),oleh karena itu jika kamu ingin menginstall aplikasi yang masih berbentuk source code kamu harus benar-benar membaca petunjuk penginstallan dari developer software tersebut, installah semua dependencies package yang diperlukan sebelum melakukan compile.
jika terjadi error saat compile maka bacalah dengan seksama,biasanya pesan error menunjukan dependencies yang diperlukan,maka install llah dependencies yang diperlukan dan jalankan lagi proses compile.
->Source code dalam format gzipped tarbal atau bzipped tarball
1. Extract menggunakan perintah
2.
3. jalankan
4.jalankan
5. jalankan perintah sudo make install untuk memulai proses install
tar -zxvf aplikaasiku.tar.gz
jika berformat gzipped tarbal dan tar -jxvf aolikasiku.tar.bz2
jika berformat bzipped tarball2.
cd aplikasiku
untuk masuk ke directory source code yang telah diextract tadi.3. jalankan
./configure
4.jalankan
make
untuk memulai mengkompile5. jalankan perintah sudo make install untuk memulai proses install
->Atau jika source code didownload menggunakan git clone atau svn maka caranya sebagai berikut:
1. download sourcecode menggunakan svn atau git
2. cd kedalam directory sourcecode dengan perintah
3.jalankan perintah
2. cd kedalam directory sourcecode dengan perintah
cd namaFolderAPP
3.jalankan perintah
./autogen.sh
lalu make
lalu sudo make install
secara berurutan
Jika dalam proses compile terjadi error,maka baca pesan errornya dan install dependencies yang diperlukan dan jalankan proses compile kembali
Untuk menghapus aplikasi baik diinstall menggunakan package manger secara otomatis ataupun yang diinstall dengan cara manual kita bisa menghapusnya menggunakan package manager (GUI atau console version)
Kesimpulan:
Sebagian besar driver telah disediakan dalam package distribusi linux,dan hanya beberapa perangkat khusus yang perlu diinstall sebelum digunakan seperti Graphic card,printer dan scanner.kita tidak perlu untuk menghapus driver yang tidak diperlukan,karena driver tidak akan diload ke kernel jika tidak diperlukan.Driver/kernel module dapat didownload dan diinstall dari official repository menggunakan package manager.Official Repository dapat diakses dengan mudah menggunakan package manager,baik versi console atau GUI.
Official repository merupakan tempat untuk mendownload aplikasi,driver,kernel dengan aman. Official repository yang diakses menggunakan package manager funginya sama dengan google play store yang ada pada smart phone android,kita bisa mencari,install,update,upgrade aplikasi yang kita butuhkan dengan mudah.
0 komentar: