Sumber terbuka

Panduan Penyelesaian Masalah Umum GNU / Linux untuk Pemula

Panduan Penyelesaian Masalah Umum GNU / Linux untuk Pemula

Selesaikan Masalah Perkakasan

Apabila kernel dimulakan, ia memuat pemacu dan modul perkakasan yang diperlukan dengan semua mesej yang merangkumi perincian kegagalan perkakasan. Tetapi mesejnya naik terlalu cepat, dan mustahil untuk melihat kemungkinan masalah perkakasan. Namun, pesan yang ditampilkan semasa proses boot kernel disimpan ke dalam buffer ring kernel.

Semasa sistem dihidupkan, gunakan dmesg arahan untuk menulis mesej ini ke dalam msg.txt fail.

[dilindungi e-mel]: ~ $ dmesg> / tmp / msg.txt
[dilindungi e-mel]: ~ $ kurang / tmp / kernel_msg.txt

Mesej yang disimpan dapat disemak kemudian atau dihantar kepada seseorang untuk menyelesaikan masalah.

Cara lain untuk membaca mesej ini adalah dengan memeriksa fail / var / log / dmesg atau / var / log / message jika ada.

Beberapa sistem Linux yang menyokong systemd menyimpan mesej ini dalam jurnal systemd. Menggunakan jurnal arahan untuk memeriksa mesej kernel:

[dilindungi e-mel]: ~ $ journalctl -k | kurang

Periksa mesej yang menyatakan kegagalan ciri perkakasan atau gagal memuatkan pemacu.

GRUB Penyelamat

GRUB adalah program perisian yang dipasang oleh pengedaran yang mem-boot OS berasaskan kernel. Pada masa ini, semua pengedaran Linux menggunakan versi GRUB2. Kadang-kadang mungkin apabila BIOS memulakan GRUB2, ia menjadi masalah tidak ada 'sistem fail operasi' atau "sistem fail tidak diketahui".

Kesalahan menunjukkan bahawa GRUB tidak dapat mencari sistem operasi yang tepat untuk memuat dan mencari grub.fail cfg dalam partition yang salah. Ini berlaku apabila pengguna memasang Windows setelah Linux OS dan BIOS mengenal pasti cakera dalam urutan yang salah, kerana windows memulakan bootloader pada Master Boot Record (MBR).

Kesalahan muncul seperti ini:

ralat: sistem fail tidak diketahui.
penyelamat grub> _

Di bahagian ini, kita akan membincangkan dua cara untuk memulihkan pengedaran dari Grub Rescue:

KAEDAH I

Masuk ke ls perintah di terminal penyelamat grub untuk menyenaraikan semua pemacu dan partisi yang tersedia.

grub> ls
(hd0), (hd0, msdos1) (hd0, msdos2)

Pilih partisi yang mengandungi pengedaran yang dipasang. Secara amnya, ia boot dari partition pertama; jika tidak, ia mengeluarkan mesej ralat. Jalankan arahan berikut untuk mencari fail konfigurasi grub di direktori grub2:

grub> ls (hd0, msdos1) /
grub> ls (hd0, msdos1) / grub2
peranti.grub fon peta.cfg grub.cfg.1590068449.rpmsave grubenv i386-pc tempat

Jenis tetapkan root = (hd0, msdos1) untuk boot sistem. Sekarang gunakan tetapkan awalan arahan untuk menentukan jalan ke direktori grub2. Jenis insmod normal arahan untuk menghidupkan semula sistem. Selepas reboot, buka terminal untuk mengemas kini GRUB.

[dilindungi e-mel]: ~ $ sudo update-grub

Langkah terakhir adalah memasang GRUB pada MBR (Master Boot Record) ketika windows memulakan bootloader di atasnya. Langkah ini memerlukan pemasangan partition root / dev / sda1 pada direktori / mnt.

[dilindungi e-mel]: ~ $ sudo mount / dev / sda1 / mnt
[dilindungi e-mel]: ~ $ sudo grub-install --root-directory = / mnt / / dev / sda

Sistem mungkin gagal boot melalui insmod normal arahan, yang boleh berlaku kerana sistem fail yang buruk kerana grub hilang.fail conf. Masalahnya menghendaki pengguna masuk ke dalam sistem melalui USB / CD siaran langsung. Mari kita bincangkan teknik lain yang sesuai untuk menyelamatkan GRUB2.

KAEDAH II

Boot-Repair adalah alat grafik yang menawarkan penyelesaian yang ideal untuk masalah GRUB. Boot ke desktop melalui USB / CD langsung yang boleh ditanggalkan. Pastikan peranti disambungkan ke internet dan tekan Ctrl + Alt + T untuk membuka terminal. Sekarang pasang alat pembaikan but:

[dilindungi e-mel]: ~ $ sudo add-apt-repository -y ppa: yannubuntu / boot-repair
[dilindungi e-mel]: ~ $ sudo apt-get kemas kini
[dilindungi e-mel]: ~ $ sudo apt-get install -y boot-repair && boot-repair

Ikuti pilihan yang disyorkan untuk memperbaiki sistem. Mulakan semula sistem anda setelah Boot Repair menerapkan semua perubahan. OS akan boot seperti biasa.

Penyelesaian Masalah Rangkaian

Untuk pengguna biasa, penyambungan rangkaian berlaku secara automatik sebaik sahaja pengguna memasang kabel Ethernet atau memberikan kelayakan masuk untuk rangkaian Wi-Fi. Walau bagaimanapun, pengurusan rangkaian dan penyelesaian masalah adalah sekumpulan tugas penting bagi mana-mana pentadbir sistem. Oleh itu, Linux menawarkan alat baris perintah untuk menangani masalah pengurusan dan hubungan.

Di bahagian ini, kami membincangkan masalah sambungan rangkaian keluar dan masuk dan merangkumi alat Linux untuk memberikan penyelesaian kepada mereka dengan cara yang mudah.

Sambungan Keluar

Linux menawarkan IP perintah sebagai utiliti rangkaian serba boleh untuk mengkonfigurasi rangkaian dan menyelesaikan masalah sambungan. Ia memanipulasi semua objek rangkaian seperti alamat IP, laluan, dan pautan, dll.

Sebelum memulakan, gunakan IP arahan untuk melihat antara muka rangkaian yang berfungsi.

[dilindungi e-mel]: ~ $ ip addr show

Sekiranya tiada antara muka yang tersedia, periksa sama ada perkakasannya dilumpuhkan. Namun, jika tersambung dan masih tersambung ke hos, gunakan laluan arahan untuk memeriksa hos.

[dilindungi e-mel]: ~ $ laluan

Garis lalai mewakili gateway lalai (penghala) yang diakses oleh mesin melalui kad antara muka yang berfungsi. Linux menawarkan ping utiliti untuk menguji kesambungan antara peranti dan penghala anda.

[dilindungi e-mel]: ~ $ ping -c 5

Kesalahan menunjukkan bahawa penghala secara fizikal tidak disambungkan atau dimatikan. Namun, jika ping berjaya, cobalah untuk mencapai alamat di luar penghala, misalnya, pelayan DNS Google global 8.8.8.8.

[dilindungi e-mel]: ~ $ ping -c 5 8.8.8.8

Ping yang berjaya menunjukkan bahawa masalahnya adalah dengan penyelesaian nama-ke-alamat host. Pelayan DNS yang digunakan oleh sistem ditambahkan sama ada secara manual atau automatik dari pelayan DHCP ketika antara muka rangkaian dimulakan. Periksa butiran (nama dan alamat IP) pelayan DNS dari / etc / resolus.fail conf.

pelayan nama 192.168.11.12
pelayan nama 192.168.11.253

Kami dapat menyelesaikan masalah nama host seperti berikut:

Ada kemungkinan pelayan mati atau pengguna diberi alamat pelayan DNS yang salah. Perhatikan pelayan nama alamat dari tekad.pengesahan fail dan periksa sama ada ia boleh diakses melalui arahan ping.

[dilindungi e-mel]: ~ $ ping -c 3 192.168.11.253

Gunakan utiliti Domain Information groper (DIG) untuk memeriksa sama ada DNS berfungsi. Maksudnya, periksa sama ada alamat pelayan DNS 192.168.11.253 menyelesaikan nama host ke alamat IP.

[dilindungi e-mel]: ~ $ dig @ 115.186.188.3 www.google.com

Membetulkan pelayan DNS agak sukar. Sekiranya Pengurus Rangkaian bertanggungjawab untuk menguruskan tugas penyambungan, ia akan mengatasi entri pelayan nama di / etc / menyelesaikan.fail conf. Cd ke dalam direktori / etc / sysconfig / network-scripts untuk menambahkan baris berikut dalam fail ifcfg untuk menyelesaikan masalah.

[dilindungi e-mel]: ~ $ sudo vim / etc / sysconfig / network-scripts / ifcfg
PEERDNS = tidak
DNS1 =

Sekiranya terdapat perkhidmatan rangkaian yang berasingan, tambahkan PEERDNS = tiada garis untuk diselesaikan.fail conf.

Sambungan Masuk

Untuk sistem Linux yang dikonfigurasi sebagai pelayan Apache, pelayan web perlu diakses oleh klien. Sekiranya pelanggan tidak dapat menjangkau pelayan melalui penyemak imbas web, anda boleh menggunakan perintah ping, digali, atau melacak yang dibincangkan di atas dari luar pelayan untuk mengesan masalah. Beberapa cara lain untuk menyelesaikan masalah sambungan masuk adalah:

Gunakan nmap untuk memeriksa ketersediaan perkhidmatan melalui port terbuka di pelayan. Gunakan perintah nmap dengan nama host / alamat IP untuk memeriksa port terbuka.

[dilindungi e-mel]: ~ $ nmap

Port terbuka 80/443 NEGERI menunjukkan bahawa penyambungan rangkaian baik-baik saja. Sekiranya tidak, firewall tidak menerima paket dari port tersebut. Lebih-lebih lagi, ia tidak disaring, dan keadaan ditutup, yang bermaksud perkhidmatan tidak dikonfigurasi dengan betul, atau tidak mendengar pada port 80/443.

Sekiranya sistem menggunakan ufw dan ditetapkan ke dasar firewall lalai, ia akan menyekat setiap sambungan masuk. Tetapkan firewall untuk membolehkan klien mengakses port tcp 80/443:

[dilindungi e-mel]: ~ $ sudo ufw membenarkan 80
[dilindungi e-mel]: ~ $ sudo ufw membenarkan 443

Sekiranya masih menyekat sambungan masuk, gunakan status sudo ufw arahan untuk mencari hos yang ditolak dan mengaksesnya melalui arahan berikut.

[dilindungi e-mel]: ~ $ sudo ufw membenarkan dari

Sekiranya akses ke port 80/443 diaktifkan dan semua rangkaian masuk dapat mengakses pelayan. Sudah tiba masanya untuk memeriksa status pelayan:

[dilindungi e-mel]: ~ $ sudo systemctl status httpd

Terakhir, periksa sama ada pelayan sedang mendengar antara muka dan port yang sesuai. Oleh itu, untuk perkhidmatan seperti httpd yang mendengar permintaan pada antara muka. Edit fail konfigurasi utama untuk membolehkan perkhidmatan mendengar di port 80 untuk alamat tertentu atau semua alamat.

[dilindungi e-mel]: ~ $ sudo cd / etc / httpd / conf / httpd.pengesahan
Dengar 80
Dengar 192.168.11.10:80

Selesaikan Masalah Beban Sistem

Linux dilengkapi dengan banyak utiliti yang menonton aktiviti sistem dan mengetahui masalah yang tidak mempunyai alasan yang jelas. Maksudnya, sistem ini berfungsi dengan baik tetapi mula melambatkan dan memulakan aplikasi crash. Pelbagai utiliti Linux ini membantu mengetahui proses yang memakan sumber memori dan menguras mesin ruang cakera, pemproses, dan lebar jalur rangkaian.

Beberapa sebab di sebalik ketidakstabilan sistem termasuk kapasiti terhad, i.e., memori rendah, ruang cakera, kapasiti rangkaian, dan daya pemprosesan, dengan aplikasi yang salah dikonfigurasi. Walau bagaimanapun, utiliti tersebut menawarkan cara untuk mengurus, memanipulasi, dan memperbaiki masalah tersebut. Mari selesaikan masalah memori terhad dan penggunaan CPU yang berlebihan.

Penggunaan memori

Jalankan bahagian atas perintah dengan modal M untuk mengklasifikasikan perincian proses dengan penggunaan memori. Output arahan menghasilkan maklumat umum diikuti oleh RAM, ruang pertukaran, dan penggunaan CPU. Sekiranya sistem ini tidak mempunyai ruang memori (OOM), cari perkara berikut:

  • Perhatikan ruang kosong di garis Mem: ia mesti sifar atau hampir dengannya.
  • Periksa ruang pertukaran yang digunakan: ia mestilah tidak sifar atau bertambah.
  • Sejak bahagian atas perintah memaparkan semula maklumat setiap 5 saat, mencari proses dengan kebocoran memori, iaitu, periksa apakah memori RES terus bertambah.
  • Kernel mula mematikan proses ketika ruang pertukaran habis.

Cara yang mungkin untuk menyelesaikan masalah tersebut adalah dengan:

Membunuh Proses

Perintah kill menghantar isyarat kill untuk menamatkan proses. Isyarat yang paling biasa digunakan untuk menyelesaikan masalah kehabisan memori adalah SIGKILL dan SIGTERM. Walau bagaimanapun, proses yang berbeza bertindak balas terhadap isyarat yang berbeza.

Contohnya, perhatikan PID dan gunakan bunuh arahan untuk menghantar isyarat SIGTERM.

[dilindungi e-mel]: ~ $ kill -15 PID

Isyarat SIGTERM / -15 bertujuan untuk menghentikan proses, tetapi kadang-kadang tidak mematikan proses tersebut. Oleh itu, ini mungkin memerlukan isyarat SIGKILL / -9 untuk mematikan proses tersebut dengan segera.

[dilindungi e-mel]: ~ $ kill -SIGKILL PID

Jatuhkan Cache Halaman

Untuk membersihkan memori buat masa ini, jatuhkan halaman cache yang tidak aktif. Menjatuhkan halaman cache, tulis beberapa halaman memori ke cakera kerana sistem mungkin ingin mengambilnya kemudian sementara membuang yang lain.

Biarkan arahan atas berjalan di terminal dan jalankan arahan yang diberikan di terminal lain untuk melihat garis MEM berubah:

[dilindungi e-mel]: ~ $ echo 3> / proc / sys / vm / drop_caches

Gunakan Kekunci Alt + SysRq

Kekurangan memori kadang-kadang boleh menjadikan GUI atau shell tidak responsif sepenuhnya. Senario ini memerlukan penggunaan kekunci Alt + SysRq pada sistem yang tidak responsif. Sehingga kernel memproses permintaannya sebelum proses lain.

Jalankan arahan berikut untuk memeriksa sama ada ia diaktifkan:

[dilindungi e-mel]: ~ $ cat / proc / sys / kernel / sysrq
076

Nilai '0' menunjukkan bahawa penekanan kekunci tidak diaktifkan. Untuk mengaktifkan ketukan kekunci ini, pergi ke / etc / sysctl.fail conf dan tetapkan kernel.sysrq = 1. Atau tetapkan kernel.sysrq = 1 dengan menggunakan arahan berikut.

[dilindungi e-mel]: ~ $ sudo gema "1"> / proc / sys / kernel / sysrq

Di kebanyakan papan kekunci, SysRq adalah kunci 'PrtSc'.

Tekan Alt + SysRq + f dari antara muka berasaskan teks untuk mematikan proses dengan skor OOM tertinggi. Terus tekan tombol ini sehingga sistem kembali ke keadaan biasa yang boleh digunakan.

Beban CPU

Teknik-teknik yang dibincangkan di atas juga dapat memeriksa dan memperbaiki proses yang memakan sumber CPU yang berlebihan dan melucutkan fungsi fungsinya. Walau bagaimanapun, Linux menawarkan kaedah lain yang membatasi proses sistem daripada memakan sumber CPU.

Perbaharui proses

Gunakan perintah teratas untuk menghasilkan semua butiran dan perhatikan ID proses (PID) yang meminta lebih banyak sumber CPU. Taipkan arahan berikut yang menetapkan nilai cemerlang antara -20 hingga 19, i.e., semakin tinggi nilainya, semakin rendah proses akses ke CPU.

[dilindungi e-mel]: ~ $ bagus +18 PID

Atau perhatikan nilai NI (bagus) PID. Untuk nilai NI yang rendah, turunkan hak akses CPU proses tertentu dengan mencabut nilai yang sangat baik menggunakan perintah renice:

[dilindungi e-mel]: ~ $ renice -n +18 PID

Kesimpulannya

Artikel ini merangkumi semua utiliti Linux yang diperlukan untuk membolehkan pemula menyelesaikan masalah Linux yang berkaitan dengan beban sistem, masalah perkakasan, GRUB, dan rangkaian.

Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...
10 Permainan Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform dominan untuk permainan kerana peratusan besar permainan yang sedang berkembang hari ini untuk meny...