Hizmet dosyalarını silmek için hizmet dosyalarını içeren dizin kümesini anlamak çok önemlidir.
Hizmet dosyaları genellikle amaçlarına ve bunları kimin yüklediğine bağlı olarak birkaç belirli dizinde depolanır. Aşağıda dizinlerin bir listesi verilmiştir.
/lib/systemd/system | İndirilen paketlerdeki hizmet dosyaları |
/etc/systemd/system | Sistem yöneticisi tarafından servis dosyaları |
~/.config/systemd/users | Normal kullanıcılar tarafından sunulan hizmet dosyaları |
Dolayısıyla, eğer bir paket indirilirse ve arka plan programı ve hizmetler sağlıyorsa, bu dosyalar /lib/systemd/system dizin. /etc/systemd/system dizin, sistem yöneticileri tarafından oluşturulan hizmet dosyalarını içerir ve bunları yalnızca Sudo kullanıcıları değiştirebilir. Sırasında ~/.config/systemd/users dizin normal kullanıcılar tarafından oluşturulan hizmet dosyalarını içerir.
Hizmet Dosyasına Nasıl Erişilir
Bir hizmet dosyasını silmenin ilk adımı, dosyanın tam yolunu bulmaktır. Yolu bulmak için şunu kullanın: sistemctl durumu hizmet adı ile komut.
sistemctl durumu [ HİZMET ADI ]Hizmet adını bulmak için çalışan tüm hizmetleri listeleyebilirsiniz.
systemctl liste-birim-dosyaları --tip =hizmet --durum =koşuyorTüm hizmetleri listelemek istiyorsanız systemctl komutunu kullanın. -tip Ve -durum seçenekler.
systemctl liste-birim-dosyalarıÖrneğin birim yolunu bulmak için hizmetim.hizmeti , durum komutunu çalıştıracağım.
systemctl durumu myservice.serviceÇıktı, birim dosyasının yolunu gösterir. Yüklendi bölüm.
Artık hizmetin yolunu elde ettiğimize göre, bir sonraki adımda onu silmeye devam edeceğiz.
Uyarı: Servis dosyalarını sistemden silmeden önce, sistem servis dosyalarının ve bunların sistem için öneminin tam olarak anlaşılması çok önemlidir. Önemli bir servis dosyasının sistemden silinmesi geri dönüşü olmayan hasarlara neden olabilir.
Hizmet Dosyası Nasıl Silinir?
Linux'ta hizmeti silmek için, sistemctl Ve rm komut satırı yardımcı programları kullanılacaktır. Hizmeti durdurmak ve devre dışı bırakmak için systemctl'yi kullanın ve ardından şunu kullanın: rm Servis dosyalarını ilgili dizinden kaldırmak için.
Servis dosyasını silmek için aşağıda verilen komut sırasını takip edin.
sudo systemctl stop SERVICE-NAMEsudo systemctl HİZMET-ADI'nı devre dışı bırak
sudo rm / kitap / sistemd / sistem / HİZMET ADI #İndirilen paketten hizmet
sudo rm / vesaire / sistemd / sistem / HİZMET ADI #Yönetici tarafından sunulan hizmet
sudo rm ~ / .config / sistemd / kullanıcılar / HİZMET ADI #Normal kullanıcı tarafından sunulan hizmet
sudo systemctl arka plan programı-yeniden yükleme
sudo systemctl sıfırlama başarısız oldu
Öncelikle, kaldırma sırasında çalışmadığından emin olmak için hizmetin durdurulması önerilir; ancak devre dışı bırakılması, yeniden başlatılmasını da engelleyecektir. Daha sonra devre dışı bırakılması gerekir, bu da hizmetin otomatik olarak başlatılmasını engeller; hizmeti devre dışı bırakmak aynı zamanda oluşturulan sembolik bağlantıları da kaldırır. .istiyor/ veya . gereklilikler/ dizinler. Bundan sonra, hizmet dosyalarını kullanarak kaldırın. rm İlgili dizinden komut.
Sistemd yapılandırmalarını kullanarak yeniden yükleyin daemon-yeniden yükleme ve yürütme sıfırlama başarısız oldu emretmek. Reset-failed komutu, tüm hizmetleri başarısız bir durumla sıfırlar.
Örnek
Bu örnekte sistem yöneticisi tarafından oluşturulan bir hizmeti silelim. Hizmetin adı hizmetim.hizmeti ve içine yerleştirilir /etc/systemd/system dizin.
Hizmetin durumunu kontrol edin.
systemctl durumu myservice.service
Hizmet çalışıyor; karşı yola dikkat edin Yüklendi bölüm ve devre dışı bırakmak hizmet.
sudo systemctl myservice.service'i devre dışı bırak
Ayrıca sembolik bağlantıyı da kaldıracaktır. /etc/systemd/system dizin.
Daha sonra servis dosyasını kullanarak kaldırın. rm komut ve hizmet dosyası yolu.
sudo rm / vesaire / sistemd / sistem / hizmetim.hizmetiŞimdi değişiklikleri uygulamak için sistem yapılandırmasını yeniden yükleyin.
systemctl arka plan programı-yeniden yüklemeİşte bu! Hizmet kaldırıldı ve artık sisteminizde değil. Hizmet durumunu kontrol ederek doğrulayın.
Çözüm
Bir hizmetin silinmesi, artık ihtiyaç duyulmasa bile çalışıyorsa zorunlu hale gelir. Gözetimsiz bırakılırsa sistem kaynaklarını tüketebilir. Bu kılavuzda, bir hizmeti Linux'tan silmek için eksiksiz bir yöntem ele aldım. Öncelikle hizmet adını ve yolunu tanımlayın ve ardından devre dışı bırakın. Bundan sonra servis dosyasını ilgili dizinden kaldırın ve prosedürü tamamlamak için sistemd yapılandırmalarını yeniden yükleyin.