Tips dan trik Contoh Baris Penggunaan BASH yang Berguna - Bagian 6

Tips dan trik Contoh Baris Penggunaan BASH yang Berguna - Bagian 6

Pada artikel ini kita harus melihat beberapa perangkat keras, sistem, dan informasi konfigurasi sistem operasi langsung dari prompt perintah di terminal Anda. Memiliki informasi ini, dan mengetahui di mana menemukannya, seringkali membantu ketika mengkonfigurasi sistem, meneliti solusi perangkat keras dan perangkat lunak yang optimal, dan umumnya mengendalikan sistem Linux yang Anda miliki atau kelola.

Kami sebagian besar akan fokus pada informasi setiap hari, jenis yang diperlukan secara teratur. Menjadi lebih mendalam seringkali membutuhkan beberapa pencarian online untuk terlebih dahulu mendefinisikan penyelarasan lebih baik, dan kemudian sering membutuhkan keterampilan tambahan untuk menafsirkan hasil atau output yang ditunjukkan.

Misalnya, kami tidak akan melihat output dari vmstat, Padahal kami akan menemukan cara mencari tahu apa yang ada di CPU di sistem Anda tanpa membuka kap mesin. Kami juga akan melihat beberapa variabel batas sumber daya dasar dan kekhawatiran sekitarnya. Target audiens untuk artikel ini adalah pemula untuk menengah.

Artikel ini adalah bagian dari seri Tip dan Trik Baris Perintah Bash yang bermanfaat.

Dalam tutorial ini Anda akan belajar:

  • Tips, trik, dan metode baris perintah bash yang bermanfaat
  • Cara berinteraksi dengan baris perintah bash secara canggih
  • Cara mempertajam keterampilan bash Anda secara keseluruhan dan menjadi pengguna bash yang lebih mahir
Tips dan trik Contoh Baris Penggunaan BASH yang Berguna - Bagian 6

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Linux-independen
Perangkat lunak Baris perintah bash, sistem berbasis Linux
Lainnya Utilitas apa pun yang tidak termasuk dalam shell bash secara default dapat diinstal menggunakan sudo apt-get install-name utilitas (atau instalasi yum untuk sistem berbasis redhat)
Konvensi # - mengharuskan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mengharuskan Linux-Commands untuk dieksekusi sebagai pengguna biasa

Contoh 1: Apa CPU di sistem Anda?

Seringkali, kami ingin dengan cepat mencari tahu apa yang ada di dalam sistem, tanpa membuka kotak. Membuka komputer fisik juga agak sulit jika Anda mengelola server di sisi lain planet ini. Mencari tahu detail CPU mudah dan langsung:

$ CAT /PROC /CPUINFO | Grep 'Model Name' | Kepala -N1 Nama Model: Intel (R) Core (TM) I9-9900K CPU @ 3.60GHz $ CAT /PROC /CPUINFO | Grep 'Model Name' | WC -L 16 

Dalam perintah pertama, kami menanyakan dinamika /proc/cpuinfo file yang mencantumkan CPU saat ini yang terdeteksi oleh sistem operasi. Ada 16 baris (seperti yang terlihat pada perintah kedua) dari output yang persis sama, jadi kami hanya mencantumkan baris pertama menggunakan head -n1 memerintah. Perhatikan bahwa kami juga dapat menulis perintah ini sebagai berikut:

$ grep 'nama model' /proc /cpuinfo | Kepala -N1 Nama Model: Intel (R) Core (TM) I9-9900K CPU @ 3.60GHz $ grep 'nama model' /proc /cpuinfo | WC -L 16 


Namun Anda mungkin ingin menggunakan kucing metode untuk mengeksplorasi output lengkap (kucing /proc /cpuinfo) Karena ada banyak informasi menarik yang ditampilkan tentang prosesor Anda. 16 hitungan disebabkan oleh ada 16 utas dalam CPU khusus ini, sehingga sistem operasi melihatnya sebagai 16 prosesor individu, atau utas, untuk digunakan.

Mencari tahu OS Anda dan rilis

Seringkali saat mengelola server jarak jauh, kami ingin memastikan itu ditambal ke revisi yang tepat dari sistem operasi. Untuk mengetahui lebih lanjut apa sistem operasi yang digunakan mesin Anda, dan revisi apa itu, cukup jalankan Cat /etc /*Release*:

$ cat /etc /* rilis* distrib_id = ubuntu distrib_release = 20.04 Distrib_codename = focal distrib_description = "ubuntu 20.04.1 lts "name =" ubuntu "version =" 20.04.1 lts (fossa fokal) "id = ubuntu id_ like = debian pretty_name =" ubuntu 20.04.1 lts "version_id =" 20.04 "home_url =" https: // www.Ubuntu.com/"support_url =" https: // help.Ubuntu.com/"bug_report_url =" https: // bugs.landasan peluncuran.net/ubuntu/"privacy_policy_url =" https: // www.Ubuntu.com/legal/istilah-dan-polis/privasi-kebijakan "version_codename = focal ubuntu_codename = focal 

Untuk membandingkan, berikut adalah output dari perintah yang sama pada raspberry pi 4 berbasis raspbian:

$ cat/etc/* rilis* pretty_name = "raspbian gnu/linux 10 (buster)" name = "raspbian gnu/linux" version_id = "10" Version = "10 (Buster)" Version_codename = Buster ID = Raspbian ID_ Like = Debian = Debian = Debian = Home_url = "http: // www.Raspbian.org/"support_url =" http: // www.Raspbian.org/raspbianforums "bug_report_url =" http: // www.Raspbian.org/raspbianbugs " 


Setelah Anda mengingat steno ini, Anda akan segera menemukan diri Anda menggunakannya banyak situasi. File aktual yang ditampilkan di sini, setidaknya pada Ubuntu, adalah: /etc/lsb-rilis Dan /etc/os-rilis. Di raspbian hanya ada /etc/os-rilis.

Batas Operasi VS Sistem

Banyak batas sistem operasi diimplementasikan secara default di Linux. Mereka diatur dengan licik, karena Anda sering tidak akan bertemu sampai Anda seorang DevOps atau insinyur serupa yang memaksimalkan throughput dari satu set server jarak jauh.

Mengubah variabel sistem operasi ini memerlukan beberapa pengetahuan tentang masing -masing, dan mengaturnya kadang -kadang memerlukan beberapa pengujian untuk menetapkan batasan yang masuk akal.

Pertimbangan lain di sini adalah bahwa batas sistem dapat dipukul jauh sebelum batas yang dikonfigurasi sistem operasi terkena, dan ini terutama benar jika Anda menetapkan batas sistem operasi tersebut ke angka yang sangat tinggi. Ini juga mengapa batas sistem operasi seperti itu ada di tempat pertama: untuk membatasi sistem operasi dari kehilangan kontrol atas sumber daya sistem fisik (disk, RAM, memori, CPU) karena tutup / batas yang dikelola dengan buruk.

Dengan demikian, mengubah batas berbasis sistem operasi hadir dengan berbagai risiko. Tidak hanya agak mudah untuk mengaturnya terlalu besar sehingga sistem operasi sering kehilangan kendali sumber daya tertentu, tetapi mengubah beberapa variabel juga membawa beberapa risiko keamanan.

Misalnya, katakanlah seorang peretas akan melempar bom garpu ke sistem. Bom garpu bukanlah bom sungguhan, melainkan eksploitasi berbasis perangkat lunak yang menghasilkan sistem yang berulang kali membayar cangkang dan benang baru ke arah satu proses pengorganisasian 'bom garpu'. Jika jumlah garpu yang diizinkan entah bagaimana telah dimodifikasi dengan mengubah satu atau lebih variabel sistem, sistem tersebut dapat segera kehabisan sumber daya CPU yang mencoba melakukan fork-till-infinity.

Aspek lain yang perlu dipertimbangkan di sini adalah seberapa aman server atau workstation yang Anda kelola adalah untuk memulai. Jika berada di zona DMZ di pusat data, jika tidak terisolasi dari server lain, dan digunakan untuk tugas -tugas hak istimewa yang rendah (hanya seperti pengujian), mungkin cukup dapat diterima untuk menetapkan batas yang agak tinggi. Jika server yang sama mendorong kode produksi dan menandatangani paket rilis, lebih banyak manajemen sumber daya sistem yang lebih hati -hati akan disarankan.

Anda dapat melihat bagaimana mengubah variabel -variabel ini membutuhkan beberapa keahlian dan pengalaman. Namun, kebanyakan dari mereka mudah dimengerti, dan memiliki nama bahasa Inggris yang umum.

Yang paling umum diatur /etc/keamanan/batasan.conf. Misalnya, untuk meningkatkan jumlah maksimum file terbuka ke 300000, Anda dapat menambahkan baris berikut /etc/keamanan/batasan.conf:

* Soft nofile 300000 * hard nofile 300000 


Ini akan 300k file untuk dibuka sekaligus. Maksimum yang dapat diatur untuk variabel ini adalah 1048576.

Perhatikan bahwa ada perbedaan antara batas 'lunak' dan 'keras': batas keras hanya dapat diangkat lebih lanjut akar akses level, sedangkan proses apa pun dapat menurunkan batas. Ini bagus untuk tujuan keamanan karena proses non-root tidak akan dapat melampaui batas. Batas lunak dapat diubah dengan proses yang diberikan kapan saja.

Ada banyak pengaturan serupa lainnya yang dapat diubah dari dalam file ini. Untuk mendapatkan ide yang luas, Anda bisa menggunakan ULIMIT -A Untuk melihat batas yang berlaku untuk sistem Anda pada saat ini.

File paling menonjol berikutnya ketika datang ke sumber daya sistem tuning adalah /etc/sysctl.conf. Dalam file ini, dimungkinkan untuk finetune banyak parameter kernel. Misalnya, untuk mengatur jumlah maksimum PID (pengidentifikasi proses) ke 500k dan kelemahan sistem Anda (seberapa mudah sistem operasi akan bertukar informasi berbasis memori dengan informasi berbasis disk - juga bernama 'swapping') hingga 5 (pengaturan yang mana membatasi bertukar secara signifikan), Anda dapat menambahkan yang berikut ini /etc/sysctl.conf:

inti.pid_max = 500000 vm.Swappiness = 5 

Kami tidak merekomendasikan mengimplementasikan salah satu pengaturan yang ditunjukkan di atas tanpa penelitian lebih lanjut, dan tuning maka khususnya ke sistem Anda. Seringkali meningkatkan variabel ke pengaturan yang lebih tinggi tidak akan menghasilkan masalah apa pun, kecuali jika peristiwa yang tidak terduga terjadi, seperti contoh peretas yang dibahas sebelumnya.

Kesimpulan

Dalam artikel ini, kami melihat bagaimana sistem operasi kami menjaga sumber daya tetap terkendali, dan apa file konfigurasi utama sehubungan dengan ini. Kami juga menemukan cara mengetahui apa yang ada dalam sistem CPU, dan sistem operasi apa dan versi yang kami gunakan. Mengetahui hal -hal dasar ini, seseorang dapat mengeksplorasi lebih jauh ke dalam pengaturan spesifik yang dibuat di /etc/keamanan/batasan.conf Dan /etc/sysctl.conf dan mengelola sistem berbasis Linux dengan lebih percaya diri. Menikmati!

Tutorial Linux Terkait:

  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 3
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 2
  • Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
  • Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
  • Contoh dan trik Contoh Tip Baris Bash Berguna - Bagian 5
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Ubuntu 20.04 Panduan
  • Menguasai loop skrip bash