Sviluppato da |
Lennart Poettering Freedesktop.org |
---|---|
Prima versione | 30 marzo 2010 |
Ultima versione | 248 (30 marzo 2021) |
Depositare | github.com/systemd/systemd |
Stato del progetto | In sviluppo |
Scritto in | C , Python |
Sistema operativo | Linux |
Ambiente | GNU / Linux |
genere | Sistema di avvio , demone |
Politica di distribuzione | Gratuito |
Licenza | GNU LGPL |
Sito web | systemd.io |
Cronologia delle versioni
systemd è una suite software che fornisce una gamma di componenti di sistema per i sistemi operativi Linux.
Il primo componente di systemd è il sistema di inizializzazione , il suo scopo è fornire una migliore struttura per la gestione delle dipendenze tra i servizi, consentire il caricamento parallelo dei servizi all'avvio e ridurre le chiamate agli script della shell . È un'alternativa a SysV init . Fornisce inoltre sostituzioni per vari daemon e utilità, tra cui la gestione dei dispositivi, la gestione della connessione utente, la gestione della connessione di rete e la registrazione degli eventi.
Il progetto è stato lanciato da Lennart Poettering nel 2010 e rilasciato con la licenza GNU LGPL versione 2.1. Il nome di questo programma deriva da " system daemon ": il daemon di sistema.
Questo progetto ha suscitato grandi polemiche tra gli sviluppatori di GNU / Linux .
Nel 2015, la maggior parte delle distribuzioni GNU / Linux ha adottato questo sistema di avvio .
Systemd si basa su poche dozzine di binari che gestiscono l'intero sistema di avvio , lasciando così la filosofia UNIX dei KISS .
Systemd adotta un nuovo sistema di registrazione chiamato " The Journal ", che consente una registrazione più rapida ed efficiente delle varie fasi di avvio. I log sono autenticati per ridurre le possibilità di corruzione durante un hack, sono portabili e lo strumento include la gestione della saturazione dello spazio su disco per gestire meglio le tracce. Qualsiasi servizio gestito da systemd viene automaticamente loggato, a meno che non chieda di non essere loggato. È compatibile per impostazione predefinita con un ambiente di rete e può passare attraverso protocolli standard come syslog .
Systemd include uno strumento chiamato " systemd-analyse ", che consente di analizzare il tempo di avvio, di tracciare le diverse fasi e di produrre le analisi sotto forma di semplici grafici (formato SVG ), consentendo di comprendere facilmente i colli di bottiglia della sequenza di avvio.
Systemd differisce da System V init in:
Nel aprile 2012, il codice sorgente udev è stato integrato in systemd. systemd quindi sostituisce System V e udev nelle rispettive funzioni.
C'è un fork di Debian, chiamato Devuan , che evita di usare systemd.
Gentoo sviluppa eudev dal 2013. Questo è un fork di udev il cui obiettivo è ottenere un supporto migliore per i sistemi che non usano systemd. Per le distribuzioni binarie, la loro scelta, ingennaio 2014, si riduce a se vogliono supportare GNOME e in questo caso se preferiscono usare systemd o se, nell'altro caso, preferiscono gestire la complessità aggiunta di un'installazione GNOME senza systemd.
Il progetto è stato oggetto di molte critiche e ha acceso un acceso dibattito.
Per alcuni sviluppatori, systemd è diventato un problema più grande di quanto dovrebbe risolvere perché invece di fornire all'amministratore i mezzi per creare criteri di gestione del sistema, fornisce direttamente i suoi criteri, al punto che a volte paragoniamo systemd a Windows Service Host . Alcuni di questi detrattori, gli utenti Debian, minacciano persino di fare un fork della loro distribuzione se impone effettivamente l'uso di systemd invece di sysvinit. Un fork chiamato Devuan è stato creato da avversari che non stavano ottenendo soddisfazione e la prima versione di Devuan è uscita tardi.Maggio 2017.
Ecco alcune recensioni:
$ cat / etc / mtab
sysfs / sys sysfs rw, nosuid, nodev, noexec, relatime 0 0
proc / proc proc rw, nosuid, nodev, noexec, relatime 0 0
udev / dev devtmpfs rw, nosuid, relatime, size = 1963456k, nr_inodes = 490864, mode = 755 0 0
devpts / dev / pts devpts rw, nosuid, noexec, relatime, gid = 5, mode = 620, ptmxmode = 000 0 0
tmpfs / run tmpfs rw, nosuid, noexec, relatime, size = 396480k, mode = 755 0 0
/ dev / sdb3 / ext4 rw, relatime, errors = remount-ro, data = ordinato 0 0
securityfs / sys / kernel / security securityfs rw, nosuid, nodev, noexec, relatime 0 0
tmpfs / dev / shm tmpfs rw, nosuid, nodev 0 0
tmpfs / run / lock tmpfs rw, nosuid, nodev, noexec, relatime, size = 5120k 0 0
tmpfs / sys / fs / cgroup tmpfs ro, nosuid, nodev, noexec, mode = 755 0 0
cgroup / sys / fs / cgroup / systemd cgroup rw, nosuid, nodev, noexec, relatime, xattr, release_agent = / lib / systemd / systemd-cgroups-agent, nome = systemd 0 0
pstore / sys / fs / pstore pstore rw, nosuid, nodev, noexec, relatime 0 0
efivarfs / sys / firmware / efi / efivars efivarfs rw, nosuid, nodev, noexec, relatime 0 0
cgroup / sys / fs / cgroup / pids cgroup rw, nosuid, n odev, noexec, relatime, pids 0 0
cgroup / sys / fs / cgroup / memory cgroup rw, nosuid, nodev, noexec, relatime, memoria 0 0
cgroup / sys / fs / cgroup / cpu, cpuacct cgroup rw, nosuid, nodev, noexec, relatime, cpu, cpuacct 0 0
cgroup / sys / fs / cgroup / freezer cgroup rw, nosuid, nodev, noexec, relatime, freezer 0 0
cgroup / sys / fs / cgroup / perf_event cgroup rw, nosuid, nodev, noexec, relatime, perf_event 0 0
cgroup / sys / fs / cgroup / cpuset cgroup rw, nosuid, nodev, noexec, relatime, cpuset 0 0
cgroup / sys / fs / cgroup / blkio cgroup rw, nosuid, nodev, noexec, relatime 0 0
cgroup / sys / fs / cgroup / devices cgroup rw, nosuid, nodev, noexec, relatime, dispositivi 0 0
cgroup / sys / fs / cgroup / net_cls, net_prio cgroup rw, nosuid, nodev, noexec, relatime, net_cls, net_prio 0 0
cgroup / sys / fs / cgroup / hugetlb cgroup rw, nosuid, nodev, noexec, relatime, hugetlb 0 0
systemd-1 / proc / sys / fs / binfmt_misc autofs rw, relatime, fd = 22, pgrp = 1, timeout = 0, minproto = 5, maxproto = 5, diretto 0 0
mqueue / dev / mqueue mqueue rw, relatime 0 0
debugfs / sys / kernel / debug debugfs rw, relatime 0 0
hugetlbfs / dev / hugepages hugetlbfs rw, relatime 0 0
fusectl / sys / fs / fuse / connessioni fusectl rw, relatime 0 0
/ dev / sda2 / boot / efi vfat rw, relatime, fmask = 0077, dmask = 0077, codepage = 437, iocharset = iso8859 -1, shortname = mixed, errors = remount-ro 0 0
binfmt_misc / proc / sys / fs / binfmt_misc binfmt_misc rw, relatime 0 0
tmpfs / run / user / 1000 tmpfs rw, nosuid, nodev, relatime, size = 396480k, mode = 700, uid = 1000, gid = 1000 0 0
gvfsd-fuse / run / user / 1000 / gvfs fuse.gvfsd-fuse rw, nosuid, nodev, relatime, user_id = 1000, group_id = 1000 0 0
/ dev / sdb2 / media / fda / Sandisk480-UltraII fuseblk rw, nosuid, nodev, relatime, user_id = 0, group_id = 0, default_permissions, allow_other, blksize = 4096 0 0