GNU/Linux >> Belajar Linux >  >> Linux

9 hal yang harus dilakukan dalam 10 menit pertama Anda di server Linux

Ketika saya menguji perangkat lunak di Linux (bagian rutin dari pekerjaan saya), saya perlu menggunakan beberapa server dengan berbagai arsitektur yang menjalankan Linux. Saya menyediakan mesin, menginstal paket perangkat lunak yang diperlukan, menjalankan pengujian saya, mengumpulkan hasilnya, dan mengembalikan mesin ke kumpulan sehingga orang lain dapat menggunakannya untuk pengujian mereka.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Karena saya sering melakukan ini (bahkan beberapa kali sehari), 10 menit pertama saya di server Linux telah menjadi ritual harian. Ketika saya pertama kali masuk ke server Linux, saya mencari hal-hal tertentu menggunakan perintah untuk mengumpulkan informasi yang saya butuhkan. Saya akan membahas proses saya di artikel ini, tetapi harap perhatikan bahwa, dalam banyak kasus, saya hanya akan memberikan nama perintah, jadi Anda perlu mengidentifikasi flag khusus untuk perintah tersebut untuk mendapatkan informasi yang Anda butuhkan. Membaca halaman manual untuk perintah adalah titik awal yang baik.

1. Kontak pertama

Segera setelah saya masuk ke server, hal pertama yang saya lakukan adalah memeriksa apakah server tersebut memiliki arsitektur sistem operasi, kernel, dan perangkat keras yang diperlukan untuk pengujian yang akan saya jalankan. Saya sering memeriksa berapa lama server telah aktif dan berjalan. Meskipun ini tidak terlalu menjadi masalah untuk sistem pengujian karena akan di-boot ulang beberapa kali, saya tetap menemukan informasi ini berguna.

Gunakan perintah berikut untuk mendapatkan informasi ini. Saya kebanyakan menggunakan Red Hat Linux untuk pengujian, jadi jika Anda menggunakan distro Linux lain, gunakan *-release dalam nama file alih-alih redhat-release :

cat /etc/redhat-release
uname -a
hostnamectl
uptime

2. Apakah ada orang lain yang ikut?

Setelah saya tahu bahwa mesin memenuhi kebutuhan pengujian saya, saya perlu memastikan tidak ada orang lain yang masuk ke sistem pada saat yang sama menjalankan pengujian mereka sendiri. Meskipun sangat kecil kemungkinannya, mengingat sistem penyediaan menangani hal ini untuk saya, masih bagus untuk memeriksanya sesekali—terutama jika ini pertama kalinya saya masuk ke server. Saya juga memeriksa apakah ada pengguna lain (selain root) yang dapat mengakses sistem.

Gunakan perintah berikut untuk menemukan informasi ini. Perintah terakhir mencari pengguna di /etc/passwd file yang memiliki akses shell; itu melewatkan layanan lain dalam file yang tidak memiliki akses shell atau memiliki shell yang disetel ke nologin :

siapa
siapa -Hu
grep sh$ /etc/passwd

3. Mesin fisik atau virtual

Sekarang saya tahu saya memiliki mesin itu sendiri, saya perlu mengidentifikasi apakah itu mesin fisik atau mesin virtual (VM). Jika saya menyediakan mesin itu sendiri, saya dapat yakin bahwa saya memiliki apa yang saya minta. Namun, jika Anda menggunakan mesin yang tidak Anda sediakan, Anda harus memeriksa apakah mesin tersebut fisik atau virtual.

Gunakan perintah berikut untuk mengidentifikasi informasi ini. Jika ini adalah sistem fisik, Anda akan melihat nama vendor (mis., HP, IBM, dll.) dan merek serta model server; sedangkan, di mesin virtual, Anda akan melihat KVM, VirtualBox, dll., tergantung pada perangkat lunak virtualisasi apa yang digunakan untuk membuat VM:

dmidecode -s system-manufacturer
dmidecode -s system-product-name
lshw -c system | produk grep | head -1
cat /sys/class/dmi/id/product_name
cat /sys/class/dmi/id/sys_vendor

4. Perangkat Keras

Karena saya sering menguji perangkat keras yang terhubung ke mesin Linux, saya biasanya bekerja dengan server fisik, bukan VM. Pada mesin fisik, langkah saya selanjutnya adalah mengidentifikasi kemampuan perangkat keras server—misalnya, jenis CPU apa yang sedang berjalan, berapa banyak inti yang dimilikinya, flag mana yang diaktifkan, dan berapa banyak memori yang tersedia untuk menjalankan pengujian. Jika saya menjalankan pengujian jaringan, saya memeriksa jenis dan kapasitas Ethernet atau perangkat jaringan lain yang terhubung ke server.

Gunakan perintah berikut untuk menampilkan perangkat keras yang terhubung ke server Linux. Beberapa perintah mungkin tidak digunakan lagi di versi sistem operasi yang lebih baru, tetapi Anda masih dapat menginstalnya dari yum repo atau beralih ke perintah baru yang setara:

lscpu atau cat /proc/cpuinfo
lsmem atau cat /proc/meminfo
ifconfig -a
ethtool
lshw
lspci
dmidecode

5. Perangkat lunak yang diinstal

Pengujian perangkat lunak selalu memerlukan instalasi paket dependen tambahan, perpustakaan, dll. Namun, sebelum saya menginstal apa pun, saya memeriksa apa yang sudah diinstal (termasuk versi apa itu), serta repo mana yang dikonfigurasi, jadi saya tahu dari mana perangkat lunak itu berasal , dan saya dapat men-debug masalah penginstalan paket apa pun.

Gunakan perintah berikut untuk mengidentifikasi perangkat lunak apa yang diinstal:

rpm -qa 
rpm -qa | grep
rpm -qi
yum repolist
yum repoinfo
yum install
ls -l /etc/yum.repos.d /

6. Menjalankan proses dan layanan

Setelah saya memeriksa perangkat lunak yang diinstal, wajar untuk memeriksa proses apa yang berjalan pada sistem. Ini sangat penting saat menjalankan pengujian kinerja pada sistem—jika proses yang berjalan, daemon, perangkat lunak pengujian, dll. memakan sebagian besar CPU/RAM, masuk akal untuk menghentikan proses tersebut sebelum menjalankan pengujian. Ini juga memeriksa apakah proses atau daemon yang dibutuhkan pengujian sudah aktif dan berjalan. Misalnya, jika pengujian memerlukan httpd untuk dijalankan, layanan untuk memulai daemon mungkin tidak berjalan meskipun paket telah diinstal.

Gunakan perintah berikut untuk mengidentifikasi proses yang berjalan dan layanan yang diaktifkan di sistem Anda:

pstree -pa 1
ps -ef
ps auxf
systemctl

7. Koneksi jaringan

Mesin saat ini sangat terhubung dengan jaringan, dan mereka perlu berkomunikasi dengan mesin atau layanan lain di jaringan. Saya mengidentifikasi port mana yang terbuka di server, jika ada koneksi dari jaringan ke mesin uji, jika firewall diaktifkan, dan jika demikian, apakah firewall memblokir port apa pun, dan server DNS mana yang digunakan mesin untuk berbicara.

Gunakan perintah berikut untuk mengidentifikasi informasi terkait layanan jaringan. Jika perintah yang tidak digunakan lagi tidak tersedia, instal dari repo yum atau gunakan perintah baru yang setara:

netstat -tulpn
netstat -anp
lsof -i
ss
iptables -L -n
cat /etc/resolv.conf

8. Kernel

Saat melakukan pengujian sistem, saya merasa terbantu dengan mengetahui informasi terkait kernel, seperti versi kernel dan modul kernel mana yang dimuat. Saya juga mencantumkan parameter kernel yang dapat disetel dan apa yang disetel serta memeriksa opsi yang digunakan saat mem-boot kernel yang sedang berjalan.

Gunakan perintah berikut untuk mengidentifikasi informasi ini:

uname -r
cat /proc/cmdline
lsmod
modinfo
sysctl -a
cat /boot/grub2/grub.cfg

9. Log

Saat ini, saya memiliki ide bagus tentang server, termasuk perangkat lunak apa yang diinstal dan proses apa yang sedang berjalan. Satu hal lain yang tidak dapat saya hindari adalah file log—saya perlu tahu di mana harus memeriksa informasi yang terus diperbarui.

Gunakan perintah berikut untuk melihat log sistem Anda:

dmesg
tail -f /var/log/messages
journalctl

Langkah selanjutnya

Sementara perintah dan utilitas akan berubah, informasi mendasar yang mereka tampilkan tetap kurang lebih sama. Anda memerlukan tampilan tingkat tinggi dari informasi yang Anda cari dan termasuk dalam kategori apa informasi tersebut sebelum Anda dapat fokus pada perintah mana yang harus dikuasai.

Karena Linux menyimpan sebagian besar informasi dalam file, perintah ini pada dasarnya membaca informasi dari file dan menyajikannya dengan cara yang mudah dipahami. Langkah selanjutnya yang baik adalah mengidentifikasi file yang digunakan setiap perintah untuk menampilkan informasi. Petunjuk untuk menemukan informasi tersebut adalah strace perintah.


Linux
  1. Konfigurasikan server OpenVPN Anda di Linux

  2. Instal OpenVPN di PC Linux Anda

  3. Bagaimana cara memonitor server Linux Anda?

  1. Lihat koneksi jaringan server Linux Anda dengan netstat

  2. 7 langkah untuk mengamankan server Linux Anda

  3. Bagaimana cara mengetahui Server DNS apa yang dikonfigurasi pada mesin Anda? Linux/Windows/OSX

  1. Pantau server Linux Anda dengan Checkmk

  2. Siapkan server VPN di PC Linux Anda

  3. Cara Menggunakan OpenSSH untuk Menghubungkan ke Server Linux Anda