Linux Kernel

Nama : Efraim William Solang
NIM : 1805551148
Prodi : Teknologi Informasi
Fakultas : Teknik
Universitas : Udayana
Mata Kuliah : Network Operating System

Memahami Linux Kernel

Kernel (operating system) - Wikipedia
https://en.wikipedia.org/wiki/Kernel_(operating_system)

Kernel adalah sebuah program yang merupakan inti pokok dari sebuah sistem operasi. Kernel memiliki kontrol yang komplit atas segala sesuatu yang berlangsung dalam sistem. Kernel berbeda dengan shell (seperti bash, csh atau ksh dalam sistem operasi unix-like), shell adalah sebuah program (umumnya CLI) yang berinteraksi langsung dengan pengguna dan merupakan bagian terluar dari sebuah sistem operasi (bukan inti), Sedangkan kernel sendiri tidak berinteraksi langsung dengan pengguna, tapi cenderung berinteraksi dengan shell dan program lain, juga perangkat keras pada sistem termasuk prosesor (CPU), memory dan disk drive.
Pada saat booting, kernel adalah bagian pertama dari sistem operasi yang dimuat kedalam memory, dan akan tetap berada dalam memory selama komputer digunakan. Dengan demikian, penting bagi kernel untuk tetap sekecil mungkin sambil tetap memberikan layanan yang dibutuhkan oleh bagian lain dari sistem operasi dan berbagai program aplikasi.

Praktik Memahami Linux Kernel 

Untuk memahami lebih jelas mengenai kernel linux, maka kita akan melakukan beberapa praktik. Pada praktik kali ini, di sini saya akan menggunakan OS Linux distro Ubuntu. Dalam praktik ini, pengguna dapat menggunakan Linux dengan distro manapun. 

Sebelum kita mulai, kita dapat merubah alamat repository lokal dengan tujuan agar pengguna dapat keringan/hemat kuota internet dalam mengunduh dari alamat repository luar (USA). Pengguna dapat menggunakan alamat repository buatan dalam negri seperti http://kambing.ui.ac.id/ubuntu/ Pengubahan alamat dapat menggunakan perintah "sudo nano /etc/apt/sources.list". Berikut merupakan kode perintahnya.



Setelah kita mengganti alamat repository, maka kita telah siap untuk melakukan praktik yang ada.

1. Mengetahui memory yang sisa dan digunakan

Untuk mengetahui memory sisa yang telah kita gunakan, maka kita dapat melakukan kode perintah "free" pada terminal kita. Berikut merupakan output yang dihasilkan dari kode perintah tersebut.

Gambar 1. Output kode perintah "free"

Pada output di atas terlihat penggunaan memory serta sisa memory yang dapat saya gunakan.

2. Mengetahui informasi CPU dan unit pemrosesannya

Untuk mengetahui informasi CPU dan unit pemrosesannya dapat dilakukan dengan kode perintah "lscpu" pada terminal kita. Berikut merupakan output dari kode perintah tersebut.

Gambar 2. Output kode perintah "lscpu"

 Terlihat pada kode perintah seperti gambar di atas, menunjukan sejumlah informasi yang terkait dengan perangkat yang kita gunakan.

3. Mengecek versi sistem operasi (Ubuntu)

Untuk mengecek versi dari sistem operasi (Ubuntu) yang kita gunakan, kita dapat menggunakan kode perintah "lsb_release -a" pada terminal kita. Berikut merupakan output dari kode perintah tersebut.

Gambar 3. Output kode perintah "lsb_release -a"

Pada gambar 3 menunjukan informasi mengenai versi OS yang kita gunakan, pada saat ini, saya menggunakan Ubuntu18.04.1 LTS.

4. Mengecek repository lokal

Seperti yang saya telah jelaskan di awal, kita dapat mengecek repository lokal yang ada, saat ini saya sedang menggunakan repository lokal bawaan. Untuk mengubah nya, dapat menggunakan kode perintah "sudo nano /etc/apt/sources.list" dan mengganti alamat url dengan "http://kambing.ui.ac.id/ubuntu/". 


Gambar 4. Output kode perintah "sudo nano /etc/apt/sources.list"

Terlihat pada gambar di atas, bahwa kita dapat mengubah alamat repository lokal guna menghemat kuota. Gambar di atas merupakan sources.list saya di Linux yang lain, namun memeliki konsep yang sama. Namun kali ini, saya tidak menggunakannya dikarenakan kuota saya masih banyak :v

5. Mengingkatkan versi disto (Ubuntu)

Untuk meningkatkan versi distro yang kita miliki (Ubuntu), kita dapat melakukan beberapa tahap, yaitu adalah sebagai berikut :

a. sudo apt update
b. sudo apt upgrade
c. sudo apt dist-upgrade
d. sudo apt autoremove
e. sudo apt install update-manager-core
f. sudo do-release-upgrade -d

Berikut ini merupakan output dari kode perintah yang dihasilkan.

  Gambar 5. Output kode perintah "sudo apt update"

Kode perintah pada gambar di atas berfungsi untuk memperbaharui dengan cara mengunduh informasi package dari semua konfigurasi file.

Gambar 6. Output kode perintah "sudo apt upgrade"

Perintah pada gambar di atas berfungsi untuk menginstall package yang dapat di naikan/upgrade pada sistem dari konfigurasi sources via soucres.list.

Gambar 7. Output kode perintah "sudo apt dist-upgrade"

Pada gambar di atas terlihat bahwa kode perintah tersebut tidak memberikan efek apapun terhadap distro. Hal tersebut terjadi dikarenakan kdode perintah "sudo apt dist-upgrade" memiliki kemiripan dengan "sudo apt upgrade". Namun kode perintah tersebut tetap harus dijalankan untuk berjaga-jaga.

Yang membedakan kedua hal tersebut adalah, kode perintah "dist-upgrade" akan melakukan perintah penginstallan dan penghapusan package demi menyelesaikan upgrade, berbeda dengan "upgrade" yang tidak akan merubah apa yang sudah di install dan hanya menaikan (upgrade).

Gambar 8. Output dari kode perintah "sudo apt autoremove"

Perintah pada gambar di atas berfungsi untuk menghapus package yang secara otomatis terinstall untuk memenuhi kepuasan sistem untuk beberapa package dan tidak dibutuhkan lagi. 

Gambar 9. Output kode perintah "sudo apt install update-manager-core"

Perintah di atas berfungsi untuk menginstall update manager yang mungkin tidak terinstall pada distro kita, namun "update-manager-core" telah terinstall di distro (Ubuntu) dan menghasilkan output seperti gambar di atas.

 Gambar 10. Output kode perintah "sudo do-release-upgrade -d"

Kode peritah tersebut befungsi untuk meng-upgrade distro. Penggunaan "-d" berfungsi untuk memaksa sistem untuk meng-upgrade distro sesuai dengan hal keluaran terbaru dari distro tersebut.

Jika kode perintah tersebut telah selesai, kita dapat melihat versi distro(Ubuntu) terbaru kita dengan kode "lsb_release -a"

 Gambar 11. Output kode perintah "lsb_release -a"

Terlihat bahwa distro Ubuntu kita telah ter-upgrade dari Ubuntu18.04.1 LTS menjadi Ubuntu 20.04 LTS. Kita juga dapat melihat perubahan yang ada pada source.list.

Gambar 12. Output kode perintah "sudo nano /etc/apt/sources.list"

6. Menampilkan partisi harddisk

Untuk menampilkan partisi harddisk beserta mount point, filesystem, dan ketersediaan ruang yang kita miliki, kita dapat melakukannya dengan menggunakan kode perintah "df-h". Berikut merupakan output dari kode perintah tersebut.

Gambar 13. Output kode perintah "df -h"

7. Melihat partisi hardisk sekaligus device yang terpasang di dalamnya (mount)

Untuk melihat sejumlah informasi dari partisi hardisk dan device yang terpasang di dalamnya, kita dapat melakukan kode perintah "sudo fdisk -l". Berikut merupakan output dari kode perintah tersebut.


Gambar 14. Output kode peritnah "sudo fdisk -l"

Pada kode perintah terebut terlihat sejumlah informasi mengenai partisi hardisk. Perangkat saya memiliki banyak partisi hardisk dikarenakan saya menggunakan pengaturan untuk mempartisi file distro saya menjadi beberapa bagian. 


Gambar diatas merupakan pengaturan awal saya saat saya menginstall Ubuntu pada VMware.

Gambar 15. Output kode perintah "sudo fdisk -l" setelah mount

Pada gambar di atas terlihat bahwa setelah mount dimasukan, maka mount tersebut dapat terbaca dengan kode perintah tersebut. Terlihat pada gambar di atas bahwa mount saya berupa "Cruzer Blade" dengan kapasitas 3.7G.

8. Melihat partisi hardisk sekaligus device yang terpasang di dalamnya (mount) dalam bentuk block

Perintah tersebut bisa dijalankan dengan kode perintah "lsblk". Berikut merupkan output dari kode perintah tersebut.

Gambar 16. Output kode perintah "lsblk"

Pada gambar di atas terlihat informasi penggunaan partisi harddisk beserta mount. Terlihat ada perbedaan antara pada saat mount masih dimasukan dan mount dilepas. 

9. Melihat informasi kernel yang terpasang

Mengetahui informasi kernel adalah sangat penting, dikarenakan ada beberapa kode perintah yang harus sesuai dengan kernel yang dibutuhkan seperti perintah package (airmon) dsb. Perintah tersebut dapat dilakukan dengan kode perintah "uname -a" pada terminal.

Gambar 17. Ouput kode perintah "uname -a"


10. Meliat list Peripheral Component Interconnect (PCI)

Untuk dapat meliah list PCI kita yang terdiri dari network adapter, graphic card, port USB, SATA Controller, dan sebagainya, kita dapat melakukannya dengan kode perintah "lscpi". Berikut merupakan output dari kode perintah tersebut.

Gambar 18. Output kode perintah "lscpi"

11. Mengetahui system dan file system yang terkait (mount) pada sistem operasi

Untuk mengetahui system dan file system yang terkait (mount) pada sistem dapat menggunakan kode perintah "mount | column -t". Berikut merupakan kode perintahnya.

Gambar 18. Output kode perintah "mount | column -t"

12. Mengetahui list Small Computer System Interface (SCSI)

Small Computer System Interface adalah seperangkat standar untuk secara fisik menghubungkan dan mentransfer data antar komputer dan perangkat periferal. Standar SCSI mendefinisikan antarmuka perintah, protokol, listrik, optik dan logsis. Untuk mengetahui list SCSI bisa menggunakan kode perintah "lsscsi". Berikut merupakan kode perintahnya.

Gambar 19. Output kode perintah "lsscsi"

13. Mengetahui detail dari USB BUS, Controller, dan perangkat lain

Untk mengetahui detail-detail nya pada perangkat anda, dapat menggunakan kode perintah "lsusb". Berikut merupakan output dari kode perintahnya.

Gambar 20. Output kode perintah "lsusb"

14. Menampilkan list hardware

Agar kita dapat melihat atau mendapatkan list hardware yang kita gunakan pada perangkat kita, dapat menggunakan kode perintah "sudo lshw" atau "sudo lshw-short" pada kernel. Berikut ini merupakan output dari kode perintahnya.

Gambar 21. Ouput kode perintah "sudo lshw"

Gambar 22. Output kode perintah "sudo lshw-short"

Hasil kode perintah pada gambar 21 dan gambar 22 menghasilkan informasi yang sangat detail, sehingga tidak memungkinkan jika saya mendokumentasikan semuanya. Namun penggunaan hardware tersebut bisa dilihat secara detail melalui terminal.

Comments

Popular posts from this blog

3-D Metal Printing

Artificial Intelligence (AI)