久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Debian系統(tǒng)初始化

2024-01-12 323

Debian系統(tǒng)初始化是指在安裝Debian操作系統(tǒng)后,進(jìn)行一系列的配置和設(shè)置,以確保系統(tǒng)能夠正常運(yùn)行并滿足用戶的需求。這些操作可以幫助用戶更好地理解和掌握Debian系統(tǒng),提高系統(tǒng)的可用性和安全性。本教程將詳細(xì)介紹Debian系統(tǒng)初始化的過程。

一、啟動(dòng)過程概述

參考《Debian系統(tǒng)啟動(dòng)過程》。

二、Systemd

參考《Debian Systemd初始化》。

三、內(nèi)核消息

在控制臺(tái)上顯示的內(nèi)核錯(cuò)誤信息,能夠通過設(shè)置他們的閾值水平來配置。

# dmesg -n3

內(nèi)核錯(cuò)誤級別表:

錯(cuò)誤級別值 錯(cuò)誤級別名稱 說明
0 KERN_EMERG 系統(tǒng)不可用
1 KERN_ALERT 行為必須被立即采取
2 KERN_CRIT 危險(xiǎn)條件
3 KERN_ERR 錯(cuò)誤條件
4 KERN_WARNING 警告條件
5 KERN_NOTICE 普通但重要的條件
6 KERN_INFO 信息提示
7 KERN_DEBUG debug 級別的信息

四、系統(tǒng)消息

在 systemd 下, 內(nèi)核和系統(tǒng)的信息都通過日志服務(wù) systemd-journald.service (又名 journald)來記錄,放在”/var/log/journal”下的不變的二進(jìn)制數(shù)據(jù),或放在”/run/log/journal/”下的變化的二進(jìn)制數(shù)據(jù).這些二進(jìn)制日志數(shù)據(jù),可以通過 journalctl(1) 命令來訪問。例如,可以顯示從最后一次啟動(dòng)以來的日志,按如下所示:

$ journalctl -b

典型的 journalctl 命令片段列表:

操作 命令片段
查看從最后一次啟動(dòng)開始的系統(tǒng)服務(wù)和內(nèi)核日志 journalctl -b --system
查看從最后一次啟動(dòng)開始的當(dāng)前用戶的服務(wù)日志 journalctl -b --user
查看從最后一次啟動(dòng)開始的 “$unit” 工作日志 journalctl -b -u $unit
查看從最后一次啟動(dòng)開始的 “$unit“的工作日志 (“tail -f” 式樣) journalctl -b -u $unit -f

在 systemd 下,系統(tǒng)日志工具 rsyslogd(8) 可以被卸載。如果安裝了它,它會(huì)改變它的行為來讀取易失性二進(jìn)制日志數(shù)據(jù)(代替在 systemd 之前默認(rèn)的 “/dev/log”)并創(chuàng)建傳統(tǒng)的永久性 ASCII 系統(tǒng)日志數(shù)據(jù)。”/etc/default/rsyslog” 和 “/etc/rsyslog.conf” 能夠自定義日志文件和屏幕顯示。

五、系統(tǒng)管理

systemd 不僅僅提供系統(tǒng)初始化,還用 systemctl(1) 命令提供通用的系統(tǒng)管理操作。

典型的 systemctl 命令片段列表:

操作 命令片段
列出所有 target 單元配置 systemctl list-units --type=target
列出所有 service 單元配置 systemctl list-units --type=service
列出所有單元配置類型 systemctl list-units --type=help
列出內(nèi)存中所有 socket 單元 systemctl list-sockets
列出內(nèi)存中所有 timer 單元 systemctl list-timers
啟動(dòng) “$unit systemctl start $unit
停止 “$unit systemctl stop $unit
重新加載服務(wù)相關(guān)的配置 systemctl reload $unit
停止和啟動(dòng)所有 “$unit systemctl restart $unit
啟動(dòng) “$unit” 并停止所有其它的 systemctl isolate $unit
轉(zhuǎn)換到 “圖形” (圖形界面系統(tǒng)) systemctl isolate graphical
轉(zhuǎn)換到 “多用戶” (命令行系統(tǒng)) systemctl isolate multi-user
轉(zhuǎn)換到 “應(yīng)急模式” (單用戶命令行系統(tǒng)) systemctl isolate rescue
向”$unit“發(fā)送殺死信號 systemctl kill $unit
檢查”$unit“服務(wù)是否是活動(dòng)的 systemctl is-active $unit
檢查”$unit“服務(wù)是否是失敗的 systemctl is-failed $unit
檢查”$unit|$PID|device“的狀態(tài) systemctl status $unit|$PID|$device
顯示”$unit|$job“的屬性 systemctl show $unit|$job
重設(shè)失敗的”$unit systemctl reset-failed $unit"
列出所有單元服務(wù)的依賴性 systemctl list-dependencies --all
列出安裝在系統(tǒng)上的單元文件 systemctl list-unit-files
啟用 “$unit” (增加符號鏈接) systemctl enable $unit
禁用 “$unit” (刪除符號鏈接) systemctl disable $unit
取消遮掩 “$unit” (刪除到 “/dev/null” 的符號鏈接) systemctl unmask $unit
遮掩 “$unit” (增加到 “/dev/null” 的符號鏈接) systemctl mask $unit
獲取默認(rèn)的 target 設(shè)置 systemctl get-default
設(shè)置默認(rèn) target 為”graphical” (圖形系統(tǒng)) systemctl set-default graphical
設(shè)置默認(rèn)的 target 為”multi-user” (命令行系統(tǒng)) systemctl set-default multi-user
顯示工作環(huán)境變量 systemctl show-environment
設(shè)置環(huán)境變量 “variable” 的值為 “value systemctl set-environment variable=value
取消環(huán)境變量 “variable” 的設(shè)置 systemctl unset-environment variable
重新加載所有單元文件和后臺(tái)守護(hù)進(jìn)程(daemon) systemctl daemon-reload
關(guān)閉系統(tǒng) systemctl poweroff
關(guān)閉和重啟系統(tǒng) systemctl reboot
掛起系統(tǒng) systemctl suspend
休眠系統(tǒng) systemctl hibernate

上面例子中的”$unit”,可以是一個(gè)單元名(后綴.service 和 .target 是可選的),或者,在很多情況下,也可以是匹配的多個(gè)單元 (shell 式樣的全局通配符”*”, “?”, “[]”,通過使用 fnmatch(3) ,來匹配目前在內(nèi)存中的所有單元的基本名稱).

上面列子的系統(tǒng)狀態(tài)改變命令,通常是通過”sudo”來處理,用以獲得需要的系統(tǒng)管理權(quán)限。

“systemctl status $unit|$PID|$device” 的輸出使用有顏色的點(diǎn)(“●”)來概述單元狀態(tài),讓人看一眼就知道。

  • 白色的 “●” 表示一個(gè) “不活動(dòng)”或”變?yōu)椴换顒?dòng)中”的狀態(tài)。
  • 紅色的 “●”表示“失敗”或者“錯(cuò)誤”狀態(tài)。
  • 綠色”●”表示“活動(dòng)”、“重新加載中”或“激活中”狀態(tài)。

六、其它系統(tǒng)監(jiān)控

這里是 systemd 下其它零星的監(jiān)控命令列表。

systemd 下其它零星監(jiān)控命令列表:

操作 命令片段
顯示每一個(gè)初始化步驟所消耗的時(shí)間 systemd-analyze time
列出所有單元的初始化時(shí)間 systemd-analyze blame
加載”$unit“文件并檢測錯(cuò)誤 systemd-analyze verify $unit
簡潔的顯示用戶調(diào)用會(huì)話的運(yùn)行時(shí)狀態(tài)信息 loginctl user-status
簡潔的顯示調(diào)用會(huì)話的運(yùn)行時(shí)狀態(tài)信息 loginctl session-status
跟蹤?cgroups?的啟動(dòng)過程 systemd-cgls
跟蹤?cgroups?的啟動(dòng)過程 ps xawf -eo pid,user,cgroup,args
跟蹤?cgroups?的啟動(dòng)過程 讀取 “/sys/fs/cgroup/” 下的?sysfs

七、系統(tǒng)配置

1、主機(jī)名

內(nèi)核維護(hù)系統(tǒng)主機(jī)名。在啟動(dòng)的時(shí)候,通過 systemd-hostnamed.service 啟動(dòng)的系統(tǒng)單位設(shè)置系統(tǒng)的主機(jī)名,此主機(jī)名保存在 “/etc/hostname”。這個(gè)文件應(yīng)該只包含系統(tǒng)主機(jī)名,而不是全稱域名。不帶參數(shù)運(yùn)行 hostname(1) 命令可以打印出當(dāng)前的主機(jī)名。

2、文件系統(tǒng)

  • 硬盤和網(wǎng)絡(luò)文件系統(tǒng)的掛載選項(xiàng)可以在 “/etc/fstab” 中設(shè)置,;
  • 加密文件系統(tǒng)的配置設(shè)置在“/etc/crypttab”中;
  • 軟 RAID 的配置 mdadm(8) 設(shè)置在 “/etc/mdadm/mdadm.conf”。

每次啟動(dòng)的時(shí)候,在掛載了所有文件系統(tǒng)以后,”/tmp”, “/var/lock”, 和 “/var/run” 中的臨時(shí)文件會(huì)被清空。

3、網(wǎng)絡(luò)接口初始化

對于使用 systemd 的現(xiàn)代 Debian 桌面系統(tǒng),網(wǎng)絡(luò)接口通常由兩個(gè)服務(wù)進(jìn)行初始化:lo 接口通常在“networking.service”處理,而其它接口則由“NetworkManager.service”處理。

4、云系統(tǒng)初始化

云系統(tǒng)實(shí)例可作為 “Debian 官方云鏡像 “或類似鏡像的克隆啟動(dòng)。對于此類系統(tǒng)實(shí)例,可使用 cloud-init 和 netplan.io 軟件包提供的功能配置主機(jī)名、文件系統(tǒng)、網(wǎng)絡(luò)、本地語言、SSH 密鑰、用戶和組等個(gè)性信息,并使用多種數(shù)據(jù)源(如原始系統(tǒng)鏡像中的文件和啟動(dòng)時(shí)提供的外部數(shù)據(jù))。這些軟件包使用 YAML 數(shù)據(jù)實(shí)現(xiàn)了聲明式系統(tǒng)配置。

5、調(diào)整 sshd 服務(wù)的自定義示例

使用默認(rèn)安裝,通過 systemd 啟動(dòng)的過程中,在 network.target 啟動(dòng)后,很多網(wǎng)絡(luò)服務(wù) (參見 第 6 章 網(wǎng)絡(luò)應(yīng)用)作為后臺(tái)守護(hù)進(jìn)程(daemon)啟動(dòng)。 “sshd” 也不列外。讓我們修改為按需啟動(dòng)”sshd” 作為一個(gè)定制化的例子。

首先,禁用系統(tǒng)安裝的服務(wù)單元。

$ sudo systemctl stop sshd.service
$ sudo systemctl mask sshd.service

傳統(tǒng) Unix 服務(wù)的按需套接字激活(on-demand socket activation)系統(tǒng)由 inetd (或 xinetd)超級服務(wù)來提供。在 systemd 下, 相同功能能夠通過增加*.socket 和 *.service 單元配置文件來啟用。

sshd.socket 用來定義一個(gè)監(jiān)聽的套接字

[Unit]
Description=SSH Socket for Per-Connection Servers
[Socket]
ListenStream=22
Accept=yes
[Install]
WantedBy=sockets.target

sshd@.service 作為 sshd.socket 匹配的服務(wù)文件

[Unit]
Description=SSH Per-Connection Server
[Service]
ExecStart=-/usr/sbin/sshd -i
StandardInput=socket

然后重新加載。

$ sudo systemctl daemon-reload

八、udev系統(tǒng)

從 Linux 內(nèi)核 2.6 版開始,udev系統(tǒng) 提供了自動(dòng)硬件發(fā)現(xiàn)和初始化機(jī)制。在內(nèi)核發(fā)現(xiàn)每個(gè)設(shè)備的基礎(chǔ)上,udev 系統(tǒng)使用從 sysfs 文件系統(tǒng)的信息啟動(dòng)一個(gè)用戶進(jìn)程,使用 modprobe(8) 程序加載支持它所要求的內(nèi)核模塊, 創(chuàng)建相應(yīng)的設(shè)備節(jié)點(diǎn)。

如果由于某些理由,”/lib/modules/kernel-version/modules.dep”沒有被 depmod(8) 正常生成,模塊可能不會(huì)被 udev 系統(tǒng)按期望的方式加載。執(zhí)行”depmod -a” 來修復(fù)它。

“/etc/fstab”里面的掛載規(guī)則,設(shè)備節(jié)點(diǎn)不必需是靜態(tài)的。能夠使用 UUID 來掛載設(shè)備,來代替”/dev/sda”之類的設(shè)備名. 參見 第 9.6.3 節(jié) “使用 UUID 訪問分區(qū)”.

1、內(nèi)核模塊初始化

通過 modprobe(8) 程序添加和刪除內(nèi)核模塊,使我們能夠從用戶進(jìn)程來配置正在運(yùn)行的 Linux 內(nèi)核。udev 系統(tǒng)自動(dòng)化它的調(diào)用來幫助內(nèi)核模塊初始化。

下面的非硬件模塊和特殊的硬件驅(qū)動(dòng)模塊,需要被預(yù)先加載,把它們在”/etc/modules”文件里列出 :

  • TUN/TAP 模塊提供虛擬的 Point-to-Point 網(wǎng)絡(luò)設(shè)備 (TUN) 和虛擬的 Ethernet 以太網(wǎng)網(wǎng)絡(luò)設(shè)備 (TAP);
  • netfilter 模塊提供 netfilter 防火墻能力;
  • watchdog timer 驅(qū)動(dòng)模塊;
  • modprobe(8) 程序的配置文件是按 modprobe.conf(5)的說明放在”/etc/modprobes.d/” 目錄下,(如果想避免自動(dòng)加載某些內(nèi)核模塊,考慮把它們作為黑名單放在”/etc/modprobes.d/blacklist” 文件里.);
  • “/lib/modules/version/modules.dep” 文件由 depmod(8) 程序生成,它描述了 modprobe(8) 程序使用的模塊依賴性;
  • 如果在啟動(dòng)時(shí)出現(xiàn)模塊加載問題,或者 modprobe(8)時(shí)出現(xiàn)模塊加載問題, “depmod -a” 可以通過重構(gòu)”modules.dep”來解決這些問題;
  • modinfo(8) 程序顯示 Linux 內(nèi)核模塊信息;
  • lsmod(8) 程序以好看的格式展示”/proc/modules”的內(nèi)容,顯示當(dāng)前內(nèi)核加載了哪些模塊。
  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。