幾天前,我遇到了32位CentOS 8分佈,並決定在較舊的32位系統上進行測試。啟動後,我發現了一個網絡連接問題。連接將下降,每次重新啟動後都需要手動修復。這促使我探索自動解決方案。本文詳細介紹瞭如何使用SystemD服務單元實現此目的。
在研究細節之前,讓我們簡要檢查SystemD服務單元及其功能。我們將介紹SystemD服務單元的基礎知識,它們與“目標”的交互以及配置服務單元以在啟動時執行腳本的過程。重點將放在實際步驟上。
什麼是SystemD服務單元?
SystemD服務單元是定義服務系統行為的配置文件。這可能包含旨在在啟動期間或特定引導階段運行的網絡服務,應用程序或腳本。
這些單元被組織到目標中,代表了引導過程中的里程碑。例如,在達到多用戶目標( Runlevel 3 )時,請先使用特定服務。將目標視為服務“組”在各個引導階段進行合作。
要查看目標中活動的服務(例如, Graphical.target ),請使用systemctl
命令:
systemctl -type =服務
這將在當前目標中顯示所有活動服務。一些服務不斷運行;其他人執行一次並終止。
監視服務狀態
要檢查服務的狀態(活動或無效),請使用systemctl status
:
SystemCtl狀態FireWalld.Service
此命令檢查Firewalld的狀態。觀察其主動(運行)並啟用(重新啟動)狀態(自動啟動)狀態。
暫時停止服務(直到下一個引導):
SystemCtl停止FireWalld.Service SystemCtl狀態FireWalld.Service
這阻止了當前會議的防火牆,但並不能阻止將來重新啟動。
啟用和禁用服務
要確保啟動時的服務自動啟動,請啟用它(在目標的“想要”文件夾中創建符號鏈接):
SystemCtl啟用FireWalld.Service
通過:
SystemCtl禁用防火牆
創建自定義服務單元
要創建啟動時間腳本服務,請在/etc/systemd/system
中創建一個新的服務單元。該目錄包含現有服務單元文件和目標文件夾。
CD/ETC/SystemD/System LS -L
使用VIM或類似編輯器創建connection.service
:
vim連接。服務
添加以下內容:
[單元] 描述=提出網絡連接 after = network.target [服務] execstart =/root/腳本/conup.sh [安裝] wantby =多用戶.target
解釋:
-
[Unit]
:元數據;描述單元並指定network.target
後的執行(確保網絡初始化)。 -
[Service]
:定義命令(conup.sh
腳本執行)。 -
[Install]
:指定在multi-user.target
上的加載。
在重新啟動時啟用自動啟動的服務:
SystemCtl啟用連接。服務
通過檢查multi-user.target.wants
驗證啟用:
LS -L多用戶.target.wants/
connection.service
服務符號鏈接應存在。現在,創建腳本。
創建腳本
創建conup.sh
腳本以還原網絡連接:
CD /根 mkdir腳本 CD腳本 vi conup.sh
添加此行(假設接口為enp0s3
):
#! /bin/bash NMCLI連接UP ENP0S3
使腳本可執行:
chmod x conup.sh
現在已經準備好了。
SELINUX考慮(RHEL/CENTOS)
在基於RHEL的系統(CentOS,Rocky Linux)上,Selinux可能會阻止腳本執行,除非應用正確的安全性上下文。
暫時設置上下文:
CHCON -T bin_t/root/scripts/conup.sh
對於永久解決方案:
semanage fcontext -a -t bin_t“/root/scripts/conup.sh” Restorecon -v/root/scripts/conup.sh
這樣可以確保在重新啟動或SELINUX策略更新後繼續執行腳本。
測試服務
通過手動啟動服務而無需重新啟動的測試:
SystemCtl啟動連接。服務
如果成功,網絡連接應恢復。對於更簡單的腳本(例如, touch /tmp/testbootfile
),請檢查/tmp/testbootfile
創建以確認服務執行。
結論
本指南對SystemD服務單元,其創建,管理和應用在自動化任務(例如啟動上的網絡連接恢復)中提供了全面的了解。這增強了系統自動化和效率。
以上是如何在SystemD中創建和運行新服務單元的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux的開源本質使其在社區參與、性能、安全性等方面優於Windows,但Windows在用戶友好性和軟件生態上更勝一籌。 1)Linux鼓勵社區貢獻,開發速度快;2)在服務器和嵌入式系統中性能更好;3)開源本質使其更安全;4)Windows用戶界面友好,軟件生態廣泛。

本指南探討了用於監視和故障排除磁盤I/O性能的基本Linux工具,這是對服務器速度和應用程序響應的關鍵度量。 磁盤I/O性能直接影響從和書面讀取數據的速度

對於新的Linux用戶,識別連接的設備至關重要,尤其是USB驅動器。 本指南提供了幾種命令行方法來確定USB設備的名稱,這對於格式化等任務必不可少。 雖然USB驅動器經常自動安裝(例如, /

Linux系統,特別是磁盤空間有限的系統,最常見的問題之一就是根分區(/)空間耗盡。 出現此問題時,您可能會遇到以下錯誤: No space left on device 別慌!這只是表示您的根目錄(/ 分區)已滿,這是一個常見問題,尤其是在磁盤空間有限的系統或全天候運行的服務器上。 發生這種情況時,您可能會遇到以下問題: 無法安裝或升級軟件包。 系統啟動失敗。 服務無法啟動。 無法寫入日誌或臨時文件。 本文將引導您完成識別問題、安全清理空間以及防止再次發生此問題的實用步驟。這些說明適用於初

本文探討了Linux用戶的一流記事本替代方案。 記事本雖然在Windows上很棒,但缺少Linux版本。 本指南提供了適合各種需求和偏好的各種選擇。 最高記錄的替代方案

幾天前,我遇到了32位CentOS 8分佈,並決定在較舊的32位系統上進行測試。 啟動後,我發現了一個網絡連接問題。連接將下降,每次重新啟動後都需要手動修復。這個公關

讓我們澄清什麼構成不良扇區或不良區塊:這是硬盤驅動器或閃存的一部分,它變得不可讀取或無法寫入,這通常是由於對磁盤表面的物理損害或閃爍的閃存閃存晶體管。 累積

CP命令(“複製”)是Linux和其他類似Unix的系統的基本工具,用於復製文件和目錄。 雖然對本地文件傳輸有效,但對於基於網絡的副本,SCP(安全副本)是首選的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

禪工作室 13.0.1
強大的PHP整合開發環境