​systemd 227 發布,Linux 的 init 程序

2020-12-13 開源中國

systemd是一個init程序。根據之前 Upstart的一些介紹大家應該簡要了解了傳統Sysvinit系統的不足之處。不過,這次的systemd的設計思想更為超前,也可以說是借鑑了OSX上launchd的思路。

systemd 227 發布,此版本更新內容如下:

        * systemd now depends on util-linux v2.27

        * libmount mandates /etc/mtab not to be regular file, and
          systemd now enforces this condition at early boot.

        * Support for the "pids" cgroup controller has been added.

        * Support for the "net_cls" cgroup controller has been added.

          This adds a new config directive called NetClass= to CGroup
          enabled units.

        * 'systemctl is-system-running' now returns 'offline' if the
          system is not booted with systemd. 

       * Watchdog timeouts have been increased to 3 minutes for all
          in-tree service files.

        * 'machine-id-commit' functionality has been merged into
          'machine-id-setup --commit'.

        * The WorkingDirectory= directive in unit files may now be set
          to the special value '~'.

        * "machinectl shell" will now open the shell in the home
          directory of the selected user by default.

        * The CrashChVT= configuration file setting is renamed to
          CrashChangeVT=, following our usual logic of not
          abbreviating unnecessarily.

        * The PrivateTmp=, PrivateDevices=, PrivateNetwork=,
          NoNewPrivileges=, TTYPath=, WorkingDirectory= and
          RootDirectory= properties can now be set for transient
          units.

        * The systemd-analyze tool gained a new "set-log-target" verb
          to change the logging target the system manager logs to
          dynamically during runtime.

        * In nspawn /sys is now mounted as tmpfs, with only a selected
          set of subdirectories mounted in from the real sysfs.

        * Support for USB FunctionFS activation has been added.

        * The "systemctl exit" command now optionally takes an
          additional parameter that sets the exit code to return from
          the systemd manager when exiting.

        * sd-bus gained the new API calls sd_bus_path_encode_many()
          and sd_bus_path_decode_many() that allow easy encoding and
          decoding of multiple identifier strings inside a D-Bus
          object path.

        * systemd-cgtop gained support for a -M/--machine= switch to
          show the control groups within a certain container only.

        * "systemctl kill" gained support for an optional --fail
          switch.

        * A new systemd.crash_reboot=1 kernel command line option has
          been added that triggers a reboot after crashing.

        * The RuntimeDirectory= setting now understands unit
          specifiers like %i or %f.

        * A new (still internal) libary API sd-ipv4acd has been added,
          that implements address conflict detection for IPv4.

        * File descriptors passed during socket activation may now be
          named. A new API sd_listen_fds_with_names() is added to
          access the names. 

        * systemd-networkd gained support for:

            - Setting the IPv6 Router Advertisment settings via
              IPv6AcceptRouterAdvertisements= in .network files.

            - Configuring the HelloTimeSec=, MaxAgeSec= and
              ForwardDelaySec= bridge parameters in .netdev files.

            - Configuring PreferredSource= for static routes in
              .network files.

        * The "ask-password" framework used to query for LUKS harddisk
          passwords or SSL passwords during boot gained support for
          caching passwords in the kernel keyring, if it is
          available.

        * When downloading tar or raw images using "machinectl
          pull-tar" or "machinectl pull-raw", a matching ".nspawn"
          file is now also downloaded, if it is available and stored
          next to the image file.

        * Units of type ".socket" gained a new boolean setting
          Writable= which is only useful in conjunction with
          ListenSpecial=. If true, enables opening the specified
          special file in O_RDWR mode rather than O_RDONLY mode.

        * systemd-rfkill has been reworked to become a singleton
          service that is activated through /dev/rfkill on each rfkill
          state change and saves the settings to disk.

        * The journal daemon gained support for vacuuming old journal
          files controlled by the number of files that shall remain,
          in addition to the already existing control by size and by
          date.

        * udev will now create /dev/disk/by-path links for ATA devices
          on kernels where that is supported.

        * Galician, Serbian, Turkish and Korean translations were added.

更多詳細改進內容請看發行說明。

相關焦點

  • Linux系統Systemd實戰篇
    CentOS7.3學習筆記總結(六十九)- Systemd實戰篇Systemd是linux系統工具,是用來守護進程的,是大多數發行版的標準配置。對於支持Systemd的軟體,在最初安裝的時候,程序就會自動在/usr/lib/systemd/system目錄中添加一個配置文件,啟動、停止、重啟等程序,以及設置開機自啟動,都可以直接運行systemctl命令來執行相關的操作,我們以apache的httpd軟體為例進行說明。
  • Linux From Scratch (LFS) 10.0 穩定版發布
    Linux From Scratch (LFS) 10.0 和 Beyond Linux From Scratch (BLFS) 10.0 已發布
  • Linux基礎命令介紹十三:啟動流程
    在linux作業系統的世界中,同樣在經歷著變革,系統初始化軟體sysvinit正逐漸被systemd取代。 本文將主要講述傳統的BIOS/MBR-->sysvinit啟動方式,同時,作為補充,也將簡述UEFI/GTP-->systemd的啟動方式。
  • 開源項目 Qomo Linux3.0版本正式發布
    在2011年「自由軟體日」的慶祝活動之際,Qomo 3.0版本正式發布了。  新的主要特徵包括:  1.啟用新型的初始化系統——systemd,代替upstart。systemd負責內核啟動後的所有系統啟動工作、特別是守護進程的啟動和監管。  從設計的角度systemd可以提高啟動速度。不過3.0僅僅是引入了systemd,還有很多工作還需要做。  2.引入社區項目,漢化了部分package summary(https://www.transifex.net/projects/p/qomo-linux-packages/)。
  • 怎樣設置嵌入式Linux開機自動運行用戶程序?
    根據構建系統的不同,嵌入式Linux有三種初始化程序:BusyBox init;System V init;systemd;本文介紹的方法是基於Biuldroot構建的、使用BusyBox init作為初始化進程的系統。
  • Systemd 曝 3 漏洞,絕大部分 Linux 易受攻擊
    安全公司 Qualys 近日發布報告稱其發現 Systemd 中存在 3 個安全漏洞,並且這些漏洞已經存在 3 到 5 年時間。3 個漏洞已經收錄到 CVE,分別是內存損壞漏洞 CVE-2018-16864 與 CVE-2018-16865、信息洩露漏洞 CVE-2018-16866。
  • Linux系統如何查看服務的運行狀態
    Linux支持不同的方式來管理服務,比如啟動、停止、重啟、開機自啟動等,大多數最新的Linux發行版在使用相同的進程管理器-systemd。systemd是Linux系統和服務管理器init進程的一個替代品,它與SysV和LSB init腳本兼容,systemctl命令是管理systemd的主要工具。systemd的組件:
  • TurnKey Linux 14.1 發布
    TurnKey Linux 14.1 發布了,14.1 基於 Debian 8.4 ,其中包括Debian最新的版本安全修復和補丁更新
  • 最小的Linux系統製作過程詳解
    Linux系統內核被引導程序裝入內核並運行後,linux內核會檢測系統中的各種硬體.並做好各種硬體的初始化工作,使他們在系統正式運行後能正常工作.之後內核做的最後一個工作是運行/sbin 下的init程序,init是英文單詞initialization(初始化)的簡稱,init程序的工作是讀取/etc/inittab文件中描述的指令,對系統的各種軟硬體環境做最初化設定.
  • CentOS Linux作業系統各種啟動和服務管理
    CentOS Linux作業系統各種啟動和服務管理linux啟動流程:CentOS5、6:開機主板自檢-MBR引導-裝在GRUB-加載內核-Init進程初始化CentOS7、8:開機主板自檢-MBR引導-裝在GRUB-加載內核-Systemd進程初始化從流程行看,CentOS5、6和CentOS7
  • systemd 247 穩定版發布 - OSCHINA - 中文開源技術交流社區
    systemd 247 已正式發布。systemd 是 Linux 系統的一組基本構件。
  • 國人Linux發行版Qomo3.0首測
    Qomo各個正式版本發布時間    這裡,編者今天介紹的主角是Qomo Linux 3.0(以下簡稱Qomo 3.0),不僅能夠較為充分地做到中文界面,而且能夠從中國用戶的使用習慣考慮,進行較為深入地開拓和創新
  • 嵌入式Linux開發必懂:基於ARM64的init用戶進程究竟如何啟動?
    [導讀] 前面的文章有提到linux啟動的第一個進程為init,那麼該進程究竟是如何從內核啟動入口一步一步運行起來的,而該進程又有些什麼作用呢?做嵌入式Linux開發,有必要對這些概念了解清楚。本文基於ARM體系的內核啟動做出解析。
  • linux關機命令是什麼-太平洋IT百科手機版
    linux關機命令是什麼  Liux是一套免費使用和自由傳播的類Uix作業系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的作業系統。那麼linux關機命令是什麼?下面為大家介紹下linux關機命令,趕緊看看吧。
  • 淺談分析Arm linux 內核移植及系統初始化的過程二
    Start_kernel() 函數負責初始化內核各子系統,最後調用reset_init(),啟動一個叫做init的內核線程,繼續初始化。在init內核線程中,將執行下列 init()函數的程序。Init()函數負責完成根文件系統的掛接、初始化設備驅動程序和啟動用戶空間的init進程等重要工作。
  • Linux 系統內核的調試
    另外一種調試模塊初始化函數的方法是:當插入內核模塊時,內核模塊機制將調用函數sys_init_module(kernel/modle.c)執行對內核模塊的初始化,該函數將調用所插入模塊的初始化函數。程序代碼片斷如下:…… …… if (mod->init !
  • linux字符設備驅動基本框架
    對於Linux的驅動程序,需要遵循一定的框架結構。嵌入式Linux的學習其實並不難,只要深入理解Linux的框架,寫起來也可以得心應手。1.linux函數調用過程1.1 系統函數調用的意義在Linux的中,有一個思想比較重要:一切皆文件。也就是說,在應用程式中,可以通過open,write,read等函數來操作底層的驅動。
  • 嵌入式Linux內核啟動主要分為這三個階段
    Linux內核會依照下列的順序尋找init服務:  1)/sbin/是否有init服務  2)/etc/是否有init服務  3)/bin/是否有init服務  4)如果都找不到最後執行/bin/sh  找到init服務後,Linux會讓init服務負責後續初始化系統使用環境的工作,init啟動後,就代表系統已經順利地啟動了linux
  • KaOS 2020.05 發布,桌面 Linux 發行版
    KaOS 2020.05 現已發布。KaOS 是一個桌面 Linux 發行版,其特色在於使用最新版本的 KDE 桌面環境及其他流行的使用 Qt 工具包的應用程式。
  • Linux嵌入式驅動開發——ioctl接口
    第三個分區 16-29 表示傳遞的數據大小第四個分區 30-31 代表讀寫的方向00:表示用戶程序和驅動數據沒有數據傳遞10:表示用戶程序從驅動裡面讀取數據01:表示用戶程序向驅動裡面寫入數據11:先寫數據到驅動,然後再從驅動把數據讀出來(不常用)命令的合成宏與分解宏合成宏