官术网_书友最值得收藏!

2.4.2 新時代的開機啟動:Systemd

Systemd的特點是會并發地啟動進程。在設定好一個啟動對象后,Systemd會嘗試解決這個啟動對象的依賴關系,而不會啟動無關的進程。Systemd的配置文件在/etc/systemd/system下。需要注意的是,Systemd使用的是systemctl命令,比如:

      $ sudo systemctl restart ssh

會重啟ssh服務。出于兼容性的考慮,Systemd沒有廢棄service命令,比如:

      $ sudo service apache2 reload

還是可以正常工作的。

在/etc/systemd/system/multi-user.target.wants文件夾下你會發現很多像cron.service這樣的文件。通過ls命令檢查,你會發現這些鏈接指向/lib/systemd/system文件夾下的同名文件,簡單來說,它們處理了文件之間的依賴關系。接下來我們會介紹crontab:

      $ sudo systemctl enable postgresql.service

這條指令創建了一個鏈接,然后postgreSQL會在系統啟動時運行。

      $ sudo systemctl daemon-reload

這條指令會使這些改變對systemd立即生效。

雖然運行等級在systemd模式下已經沒有什么作用了,但是你還可以通過who-r指令來查看運行等級。

出于兼容性考慮,Systemd系統保留了init.d等腳本文件。

Systemd是一個復雜的系統,包括systemd.unit到systemd.slice等組件,這些組件都有自己的幫助頁面,如圖2-13所示。

圖2-13

Systemd能夠自動處理文件之間的鏈接關系,但有時你可能需要手動管理鏈接關系,這時就需要ln命令了。

ln命令能夠創建一個文件的鏈接,然后就可以讓一個文件出現在系統的兩個不同位置了:

      $ sudo ln -s /usr/share/doc/python-numpy/THANKS.txt
      $ numpy-THANKS.txt

建立鏈接后,輸入“ls –l”,你會發現這是一種特別的文件(一個指向實際存儲的文件的鏈接)。編輯numpy-THANKS.txt文件,然后你會發現原本的THANKS.txt也被更改了。

另外,這里的-s代表軟鏈接。軟鏈接的特點是被鏈接的文件甚至可以不存在,特別適配可插拔的設備。

這種鏈接被稱為符號鏈接,這是因為它鏈接到的是文件的文件名,而不是文件實際的數據。

      $ sudo ln /etc/bluetooth/main.conf mybluetooth.conf

以上命令生成了一個硬鏈接,相當于一個文件現在在不同的兩個位置有了兩個不同的名字,但這并不意味著這兩個是同一個文件。創建一個硬鏈接會類似于復制生成了一個新的文件,對原文件的修改不會對硬鏈接文件產生影響。

主站蜘蛛池模板: 子洲县| 东宁县| 江源县| 洛宁县| 高密市| 林口县| 西充县| 九江县| 中卫市| 彝良县| 顺平县| 莆田市| 张掖市| 明光市| 海宁市| 颍上县| 屯留县| 类乌齐县| 乐至县| 东源县| 昌都县| 晋州市| 天全县| 宣恩县| 安福县| 榆树市| 鲁山县| 祁阳县| 宁晋县| 德保县| 鄂托克前旗| 屯门区| 太仓市| 青浦区| 商河县| 万盛区| 夹江县| 屏东市| 土默特左旗| 长春市| 舒城县|