Satu instans OpenVPN muncul semasa boot di bawah nama yang anda tidak kenali, dan menghentikannya berfungsi sehingga but semula seterusnya. Corak itu bermakna anda telah membuang proses tetapi bukan pengaktifan. Kedua-duanya objek berbeza, dan hanya satu daripadanya kelihatan pada skrin status. Mencari pengaktifan memerlukan empat arahan baca sahaja dan satu keputusan.

Namakan unit yang tepat dahulu

Mulakan daripada nama unit dalam jurnal, bukan daripada nama fail profil. Instans mungkin dipanggil openvpn@, openvpn-client@, openvpn-server@ atau sesuatu yang khusus kepada edaran, dan meneka namanya membawa anda ke templat yang salah. Output status menamakan unit yang benar-benar berjalan, dan itulah satu-satunya nama yang penting di sini. Salin dengan tepat, termasuk sebarang akhiran.

Arahan berikut menerangkan unit itu tanpa mengubah apa-apa. systemctl show melaporkan laluan fragmen, laluan sumber, keadaan fail unit, sebarang drop-in dan apa yang mencetuskannya. list-dependencies --reverse menunjukkan unit yang dimuatkan mana yang menunjuk kepadanya. Kedua-duanya baca sahaja, jadi jalankannya sebelum membentuk teori.

Gantikan nama yang diperhatikan di merata tempat. Nama contoh yang disalin ialah cara paling biasa untuk menyiasat perkhidmatan yang salah, dan ia menghasilkan jawapan yakin tentang unit yang tidak pernah berjalan.

Baca templat untuk mengetahui nama fail

Unit instans ialah pengembangan templat, dan templat menentukan fail konfigurasi mana yang dibacanya. Baris arahan yang berakhir dengan pemegang tempat khusus instans diselesaikan kepada nama instans serta akhiran. Jika akhiran ialah .conf dan instans bernama old, failnya ialah old.conf. Jika anda menamakan instans old.conf, templat yang sama meminta old.conf.conf.

Butiran itu menerangkan satu kelas pendua. Seseorang menambah instans kedua di bawah nama yang salah, yang pertama terus berjalan, dan hos berakhir dengan dua terowong dan satu log yang mengelirukan.

Baca templat berkesan dan bukan fail yang anda ingat telah disunting. Drop-in boleh menggantikan baris arahan, dan pengganti itulah yang berjalan semasa boot.

Jejaki bagaimana ia masuk ke dalam transaksi boot

Tiga laluan biasa: pautan wants daripada sasaran, keperluan daripada unit lain, atau unit yang dijana oleh penjana pakej. Senarai kebergantungan songsang merangkumi dua yang pertama sebagai entri graf yang dimuatkan. Ia tidak merangkumi pemasa, cangkuk atau permintaan luaran, sebab itu senarai itu bukti dan bukan audit lengkap.

Output yang dijana di bawah /run/systemd/generator ialah produk, bukan sumber. Menyuntingnya hanya bertahan sehingga penjanaan seterusnya, sebab itu pembetulan yang digunakan di situ kelihatan berjaya dan kemudian berpatah balik.

Semak input terdokumen pakej sebelum menganggap dari mana penjana membaca. Imbasan direktori yang tidak terdokumen ialah sebab biasa sesuatu unit muncul tanpa pautan pengaktifan.

Buang pengaktifan, bukan hanya proses

Jika instans diaktifkan secara langsung dan benar-benar lapuk, systemctl disable --now menghentikannya dan membuang pautan boot dalam satu langkah. Semak dahulu bahawa terowong ini bukan satu-satunya laluan pentadbiran anda ke hos. Arahan itu ialah contoh kitaran hayat, bukan cadangan untuk menghentikan setiap VPN pada mesin. Jalankan semakan sebelum arahan, bukan selepasnya.

Dua bahagian itu boleh dipisahkan dan sering dikelirukan. Menyahdayakan tidak menghentikan perkhidmatan yang berjalan, dan menghentikan tidak membuang pengaktifan, jadi arahan separa menerangkan masalah yang kembali semasa boot.

Unit yang dinyahdayakan masih boleh dimulakan oleh unit lain atau oleh permintaan eksplisit. Apabila penjana memiliki pengaktifan, betulkan input penjana dan bukan menyahdayakan outputnya. Penyamaran menyekat lebih banyak laluan tetapi boleh memecahkan kebergantungan, jadi ia bukan pengganti kefahaman.

Sahkan dengan but semula, bukan dengan skrin status

Muat semula systemd jika definisi unit atau input penjana berubah, kemudian periksa keadaan yang terhasil. Muat semula daemon tidak menolak profil baharu ke dalam terowong yang berjalan, jadi kedua-dua semakan itu berasingan. Jadualkan but semula dan sahkan instans kekal tiada sementara terowong yang dimaksudkan masih berfungsi.

Kekalkan profil lama sehingga pemilikannya difahami, kemudian bersarakannya melalui proses yang dimaksudkan. Kejayaan ialah unit yang tiada dan laluan akses yang berfungsi, bukan unit yang gagal yang tiada pada satu skrin.

Artikel berkaitan