0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何禁止Linux某些自動(dòng)啟動(dòng)的無用進(jìn)程

馬哥Linux運(yùn)維 ? 2017-12-07 10:17 ? 次閱讀

?查看開機(jī)啟動(dòng)項(xiàng)09%?哪些服務(wù)能夠禁止?37%?系統(tǒng)啟動(dòng)時(shí)發(fā)生了什么?62%

大部分 Linux 發(fā)行版都會(huì)在開機(jī)的時(shí)候啟動(dòng)各種相關(guān)的服務(wù)進(jìn)程,其中有很多你根本都用不上的:藍(lán)牙、 Avahi 、調(diào)制解調(diào)管理器甚至 pppd-dns 等等,你甚至根本不知道這些都是什么東西。

好在我們有Systemd ,它給我們帶來了許多工具幫我們查看系統(tǒng)啟動(dòng)是的狀況,當(dāng)然也可以讓我們控制系統(tǒng)啟動(dòng)時(shí)候的運(yùn)行選項(xiàng)。我將會(huì)為你詳細(xì)解讀關(guān)閉某些無用進(jìn)程的方法,前提是在 Systemd 類發(fā)行版。

查看開機(jī)啟動(dòng)項(xiàng)

通常情況下,你能用/etc/init.d查看系統(tǒng)引導(dǎo)時(shí)啟動(dòng)的服務(wù)項(xiàng)。但是 systemd 會(huì)用不一樣的展現(xiàn)方式,下面是一些命令,用于展示開機(jī)啟動(dòng)時(shí)的進(jìn)程項(xiàng)。

你可以看到,這里頭有一項(xiàng)是藍(lán)牙,我不需要使用它,那么我應(yīng)該怎樣關(guān)閉并阻止它在開機(jī)時(shí)后啟動(dòng)?

完成上面的操作之后,用下面的命令來確定自己是否成功。

這里的停用并不徹底,因?yàn)槠渌姆?wù)進(jìn)程仍舊可以將它喚起。如果要完全阻止開機(jī)啟動(dòng)的話,卸載不是個(gè)好方法,像下面這樣把它掩蓋起來就可以了:

我建議在持續(xù)使用一段時(shí)間并沒有造成任何負(fù)面影響之后再選擇卸載。

通過執(zhí)行命令可以獲得如下服務(wù)列表:

有一點(diǎn)需要注意:靜態(tài)服務(wù)的啟動(dòng)和禁用狀態(tài)無法改變,因?yàn)殪o態(tài)服務(wù)被其他的進(jìn)程所依賴,而這個(gè)狀況下并不是它們自己運(yùn)行。

哪些服務(wù)能夠禁止?

如何知道你需要哪些服務(wù),而哪些又是可以安全地禁用的呢?它總是依賴于你的個(gè)性化需求。

這里舉例了幾個(gè)服務(wù)進(jìn)程的作用。許多服務(wù)進(jìn)程都是發(fā)行版特定的,所以你應(yīng)該看看你的發(fā)行版文檔(比如通過 google 或 StackOverflow)。

?accounts-daemon.service是一個(gè)潛在的安全風(fēng)險(xiǎn)。它是 AccountsService 的一部分,AccountsService 允許程序獲得或操作用戶賬戶信息。我不認(rèn)為有好的理由能使我允許這樣的后臺(tái)操作,所以我選擇掩蓋mask該服務(wù)進(jìn)程。?avahi-daemon.service用于零配置網(wǎng)絡(luò)發(fā)現(xiàn),使電腦超容易發(fā)現(xiàn)網(wǎng)絡(luò)中打印機(jī)或其他的主機(jī),我總是禁用它,別漏掉它。?brltty.service提供布萊葉盲文設(shè)備支持,例如布萊葉盲文顯示器。?debug-shell.service開放了一個(gè)巨大的安全漏洞(該服務(wù)提供了一個(gè)無密碼的 root shell ,用于幫助 調(diào)試 systemd 問題),除非你正在使用該服務(wù),否則永遠(yuǎn)不要啟動(dòng)服務(wù)。?ModemManager.service該服務(wù)是一個(gè)被 dbus 激活的守護(hù)進(jìn)程,用于提供移動(dòng)寬頻broadband(2G/3G/4G接口,如果你沒有該接口,無論是內(nèi)置接口,還是通過如藍(lán)牙配對(duì)的電話,以及 USB 適配器,那么你也無需該服務(wù)。?pppd-dns.service是一個(gè)計(jì)算機(jī)發(fā)展的遺物,如果你使用撥號(hào)接入互聯(lián)網(wǎng)的話,保留它,否則你不需要它。?rtkit-daemon.service聽起來很可怕,聽起來像是 rootkit。 但是你需要該服務(wù),因?yàn)樗且粋€(gè)實(shí)時(shí)內(nèi)核調(diào)度器real-time kernel scheduler。?whoopsie.service是 Ubuntu 錯(cuò)誤報(bào)告服務(wù)。它用于收集 Ubuntu 系統(tǒng)崩潰報(bào)告,并發(fā)送報(bào)告到https://daisy.ubuntu.com。 你可以放心地禁止其啟動(dòng),或者永久的卸載它。?wpa_supplicant.service僅在你使用 Wi-Fi 連接時(shí)需要。

系統(tǒng)啟動(dòng)時(shí)發(fā)生了什么?

Systemd 還有另外命令一些幫助我們調(diào)試開機(jī)啟動(dòng)時(shí)出現(xiàn)的問題。使用這一命令可以重現(xiàn)系統(tǒng)啟動(dòng)時(shí)候的所有消息。

輸入journalctl -b -1命令可以重現(xiàn)你上一次啟動(dòng)時(shí)候的信息,journalctl -b -2可以重現(xiàn)倒數(shù)第 2 次啟動(dòng),以此類推。

這個(gè)命令會(huì)把所有信息都給打印出來,這可能會(huì)造成一定干擾,因?yàn)橛袝r(shí)候完全無需關(guān)注所有信息,只需要查看重點(diǎn)部分就可以了。所以,我們可以使用過濾器功能來快速發(fā)現(xiàn)目標(biāo)。我們?cè)囍赃M(jìn)程 1 為例來演示一下。

從這些消息里我們判斷出正在或者即將啟動(dòng)的進(jìn)程。

一個(gè)最有用的命令工具之一systemd-analyze blame,這個(gè)命令可以顯示進(jìn)程耗時(shí),幫助我們發(fā)現(xiàn)耗時(shí)最長(zhǎng)的進(jìn)程。

這個(gè)特定的例子沒有出現(xiàn)任何異常,但是如果存在系統(tǒng)啟動(dòng)瓶頸,則該命令將能發(fā)現(xiàn)它。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11320

    瀏覽量

    209846

原文標(biāo)題:Linux 系統(tǒng)開機(jī)啟動(dòng)項(xiàng)清理

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux開發(fā)_Linux進(jìn)程編程

    介紹Linux進(jìn)程概念、進(jìn)程信號(hào)捕獲、進(jìn)程管理相關(guān)的命令的使用等知識(shí)點(diǎn)。
    的頭像 發(fā)表于 09-17 15:38 ?1375次閱讀
    <b class='flag-5'>Linux</b>開發(fā)_<b class='flag-5'>Linux</b>下<b class='flag-5'>進(jìn)程</b>編程

    Linux 查看進(jìn)程和刪除進(jìn)程

    1. 在 LINUX 命令平臺(tái)輸入 1-2 個(gè)字符后按 Tab 鍵會(huì)自動(dòng)補(bǔ)全后面的部分(前提是要有這個(gè)東西,例如在裝了 tomcat 的前提下, 輸入 tomcat 的 to 按 tab)。2.
    發(fā)表于 04-24 00:04

    Linux下的進(jìn)程結(jié)構(gòu)

    進(jìn)程不但包括程序的指令和數(shù)據(jù),而且包括程序計(jì)數(shù)器和處理器的所有寄存器及存儲(chǔ)臨時(shí)數(shù)據(jù)的進(jìn)程堆棧,因此正在執(zhí)行的進(jìn)程包括處理器當(dāng)前的一切活動(dòng)。 因?yàn)?b class='flag-5'>Linux是一個(gè)多
    發(fā)表于 05-27 09:24

    iny Linux有沒有辦法設(shè)置ssh或telnet守護(hù)進(jìn)程可以在啟動(dòng)自動(dòng)執(zhí)行?

    Linux 有沒有辦法設(shè)置ssh 或telnet 守護(hù)進(jìn)程可以在啟動(dòng)自動(dòng)執(zhí)行? 我們想在不通過控制臺(tái)的情況下使用 ssh 或 telnet 連接到微型
    發(fā)表于 04-23 06:16

    Linux進(jìn)程管理

    Linux進(jìn)程管理 本章主要介紹進(jìn)程的概念、狀態(tài)、構(gòu)成以及Linux進(jìn)程的相關(guān)知識(shí)。 掌握進(jìn)程
    發(fā)表于 04-28 14:57 ?0次下載

    LINUX 進(jìn)程源代碼分析

    LINUX 進(jìn)程源代碼分析 task_struct 數(shù)據(jù)結(jié)構(gòu)表示進(jìn)程的數(shù)據(jù)結(jié)構(gòu)是struct task_struct。task_struct 結(jié)構(gòu)是進(jìn)程實(shí)體的核心,
    發(fā)表于 02-09 15:13 ?16次下載

    如何禁止MSN Messenger開機(jī)自動(dòng)啟動(dòng)運(yùn)行

    如何禁止MSN Messenger開機(jī)自動(dòng)啟動(dòng)運(yùn)行   在Windows XP Professional中,有許多系統(tǒng)內(nèi)置的軟件都沒有卸載選項(xiàng),引起很多電腦用戶的不滿。若
    發(fā)表于 03-10 11:22 ?2254次閱讀

    Linux守護(hù)進(jìn)程詳解

    較長(zhǎng)的進(jìn)程,通常獨(dú)立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些發(fā)生的事件。守護(hù)進(jìn)程常常在系統(tǒng)引導(dǎo)載入時(shí)啟動(dòng),在系統(tǒng)關(guān)閉時(shí)終止。Linux
    發(fā)表于 10-18 14:24 ?0次下載
    <b class='flag-5'>Linux</b>守護(hù)<b class='flag-5'>進(jìn)程</b>詳解

    走進(jìn)Linux之systemd啟動(dòng)過程

    Linux系統(tǒng)的啟動(dòng)方式有點(diǎn)復(fù)雜,而且總是有需要優(yōu)化的地方。傳統(tǒng)的Linux系統(tǒng)啟動(dòng)過程主要由著名的init進(jìn)程(也被稱為SysV init
    發(fā)表于 04-27 19:14 ?3185次閱讀

    Linux登錄進(jìn)程的層次關(guān)系淺析

    inode和文件表。此進(jìn)程的PID為0。它啟動(dòng)初試進(jìn)程(init進(jìn)程,PID為1)完成引導(dǎo)過程的其余工作。init進(jìn)程
    發(fā)表于 04-22 14:53 ?928次閱讀

    linux進(jìn)程怎么查看

    Linux系統(tǒng)中,每個(gè)程序啟動(dòng)后可以創(chuàng)建一個(gè)或多個(gè)進(jìn)程。例如,提供Web服務(wù)的httpd程序,當(dāng)有大量用戶同時(shí)訪問Web頁(yè)面時(shí),httpd程序可能會(huì)創(chuàng)建多個(gè)進(jìn)程來提供服務(wù)。
    發(fā)表于 05-22 08:56 ?887次閱讀
    <b class='flag-5'>linux</b>的<b class='flag-5'>進(jìn)程</b>怎么查看

    Linux進(jìn)程的概念說明

    進(jìn)程Linux 操作系統(tǒng)中最重要的基本概念之一,這一節(jié)我們將了解學(xué)習(xí) Linux 進(jìn)程的一些基礎(chǔ)知識(shí)。
    發(fā)表于 07-14 14:27 ?775次閱讀

    解析基于ARM64的init用戶進(jìn)程究竟如何啟動(dòng)?

    [導(dǎo)讀] 前面的文章有提到linux啟動(dòng)的第一個(gè)進(jìn)程為init,那么該進(jìn)程究竟是如何從內(nèi)核啟動(dòng)入口一步一步運(yùn)行起來的,而該
    發(fā)表于 01-26 17:05 ?2次下載
    解析基于ARM64的init用戶<b class='flag-5'>進(jìn)程</b>究竟如何<b class='flag-5'>啟動(dòng)</b>?

    linux內(nèi)核啟動(dòng)過程會(huì)執(zhí)行用戶空間的init進(jìn)程

    linux內(nèi)核啟動(dòng)過程的后期,在kernel_init()函數(shù)代表的init線程中,會(huì)嘗試執(zhí)行用戶空間的init進(jìn)程
    的頭像 發(fā)表于 10-14 09:12 ?1180次閱讀

    linux查看weblogic進(jìn)程

    Linux操作系統(tǒng)中,WebLogic是一種常用的Java應(yīng)用服務(wù)器,用于部署和管理企業(yè)級(jí)Java應(yīng)用程序。為了確保WebLogic服務(wù)器正常運(yùn)行,有時(shí)我們需要查看WebLogic進(jìn)程以了解其狀態(tài)
    的頭像 發(fā)表于 12-05 16:07 ?1939次閱讀