[gelöscht]
So, ein erster Boot mittels systemd verlief schonmal ziemlich zügig - bis dahin erstmal begeistert. Bis auf, dass weder KDM gestartet wurde (ich glaube, dass nichtmal X gestartet wurde - bin mir aber nicht sicher) und die Netzwerk-Verbindung wurde nicht gestartet. Ich nehme mal an, dass dies die Dienste sind, die ich mit systemctl enable aktivieren muss, wa? In meiner rc.conf habe ich stehen
DAEMONS=(syslog-ng cpufreq acpid iptables network dbus @sshd @crond @ntpd @cupsd @dictd @kdm)
wogegen in der neueren rc.conf.pacnew nur noch syslog-ng, network und crond stehen. Den Rest, den ich noch stehen habe, muss ich dann via systemd starten, korrekt?
Schlummi
Also ich habe ja keine rc.conf mit einem Daemon-Array mehr, daher starte ich alle Dienste via systemD.
So weit ich weiß, startet systemd eine Netzwerkverbindung auf eth0 mit DHCP automatisch. Alle anderen Verbindungsarten müssen dann mit einer Service-Unit realisiert werden.
Ich habe hier z.B. eine für eine statische IP im lokalen Netzwerk, die ich natürlich per systemctl aktivieren mußte.
Standarmäßig startet systemd die default.target, welche dann ein Link auf graphical.target für Runlevel 5 ist, oder multi-user.target für Runlevel 3
swordfish
stoerti schrieb[...] wogegen in der neueren rc.conf.pacnew nur noch syslog-ng, network und crond stehen. Den Rest, den ich noch stehen habe, muss ich dann via systemd starten, korrekt?
Die kurze Antwort lautet: Ja 😃
Die lange Antwort hängt davon ab, "wie" du systemd installiert hast - als standalone oder neben sysvinit. In letzterem Fall (und unter Hinzuziehung des Pakets 'initscripts-systemd' könntest Du auch noch die alte rc.conf benutzen.
Aktuell gibt es offenbar aufgrund der "Übergangsphase" hin zu systemd auch die Möglichkeit, ein Mischsystem zu fahren (was ich persönlich aber eher verwirrend finde - anyway).
[gelöscht]
Also, ich habe inzwischen mittels systemctl enable hinbekommen, dass beim Start syslog-ng, iptables, sshd, ntpd und kdm gestartet wird - ich kann also wieder ein GUI nutzen. Den Rest der Dienste, die ich noch in der DAEMON-Liste stehen habe, bekomme ich aber nicht zum Laufen. Allen voran network, cupsd und dictd. Ich habe also momentan kein Netzwerkzugriff. Interessanter Weise läuft, obwohl ich es nicht explizit geladen oder aktiviert habe, cpufreq und dbus einwandfrei.
[gelöscht]
@ swordfish
Im Moment habe ich sowohl systemd als auch SysVinit installiert, da ich erstmal alles zu Ende konfigurieren will. Letztlich habe ich aber vor SysVinit komplett zu deinstallieren, also kein Mischbetrieb. Will also von der bisherigen rc.conf komplett weg.
swordfish
Schlummi schriebAlso ich habe ja keine rc.conf mit einem Daemon-Array mehr, daher starte ich alle Dienste via systemD.
So weit ich weiß, startet systemd eine Netzwerkverbindung auf eth0 mit DHCP automatisch. Alle anderen Verbindungsarten müssen dann mit einer Service-Unit realisiert werden.
Ich habe hier z.B. eine für eine statische IP im lokalen Netzwerk, die ich natürlich per systemctl aktivieren mußte.
Standarmäßig startet systemd die default.target, welche dann ein Link auf graphical.target für Runlevel 5 ist, oder multi-user.target für Runlevel 3
Welche service-units laufen, zeigt Dir:
$ systemctl -t service
Und bei mir wurde
kein dhcp-service automatisch gestartet (lässt sich aber mit obigem Befehl leicht rausfinden)!
Da ich unter KDE den Networkmanager nutze, hab' ich den entsprechenden service händisch gestartet:
# systemctl start NetworkManager.service
und damit der service immer beim Systemstart mitgeladen wird:
# sytstemctl enable NetworkManager.service
Wenn man keinen Networkmanager benutzt, sollte das hier funktionieren:
# systemctl start dhcpcd@.service
Voraussetzung: Das Paket 'systemd-arch-units' ist installiert (wenn nicht, sollte eth0 mit angegeben werden - 'systemctl start
dhcpcd@eth0.service')
und
# systemctl enable dhcpcd@.service
swordfish
stoerti schriebAlso, ich habe inzwischen mittels systemctl enable hinbekommen, dass beim Start syslog-ng, iptables, sshd, ntpd und kdm gestartet wird - ich kann also wieder ein GUI nutzen.
syslog-ng ist überflüssig (s.:
https://wiki.archlinux.org/index.php/Systemd#Systemd_Journal)
stoerti schriebDen Rest der Dienste, die ich noch in der DAEMON-Liste stehen habe, bekomme ich aber nicht zum Laufen. Allen voran network, cupsd und dictd. Ich habe also momentan kein Netzwerkzugriff. Interessanter Weise läuft, obwohl ich es nicht explizit geladen oder aktiviert habe, cpufreq und dbus einwandfrei.
Schau bitte mal mit
$ systemctl -t service
welche services aktuell laufen. Außerdem kannste auch gleich nachsehen, ob irgendwas verreckt ist:
$ systemctl --failed
Falls ja, mal mit
$ systemctl status XXX.service
checken.
In Sachen Network könntest Du mal schauen, was:
$ systemctl -t target
Dir zeigt. Ich hab' da beispielsweise das hier stehen:
network.target loaded active active Network
Wenn das bei Dir auch steht, dann schau mal, was ich oben (22.11 Uhr als Antwort auf 'Schlummi') geschrieben habe.
cupsd wird über:
# systemctl enable cups.service
aktiviert.
$ systemctl status cups.service
cups.service - CUPS Printing Service
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled)
Active: active (running) since Wed, 01 Aug 2012 21:18:25 +0200; 1h 17min ago
Main PID: 741 (cupsd)
CGroup: name=systemd:/system/cups.service
└ 741 /usr/sbin/cupsd -f
Schlummi
@swordish:
Und bei mir wurde kein dhcp-service automatisch gestartet (lässt sich aber mit obigem Befehl leicht rausfinden)!
Da hast du recht. Ist mir nicht direkt aufgefallen, da ich zusätzlich mit initscripts, also rc.conf, gebootet hatte. Da wurde das Netzwerk ja noch automatisch gestartet. Danach hatte ich meinen eigenen network.service konfiguriert.
[gelöscht]
@ swordfish
Dann disable ich syslog-ng halt wieder. 🙂
systemctl -t service zeigt console-kit-daemon, cosole-kit-log-system-start, dbus, getty@tty1, kdm, ntpd, sshd, systemd-journald, systemd-logind, systemd-modules-load, systemd-remount-fs, systemd-sysctl, systemd-tmpfiles-setup, systemd-udev-trigger, systemd-udevd, systemd-user-sessions, systemd-vconsole-setup und upower an.
systemctl --failed zeigt keine units an.
systemctl -t target zeigt basic, cryptsetup, getty, graphical, local-fs-pre, local-fs, multi-user, printer, remote-fs, sockets, sound, swap und sysinit an.
Also leider nichts mit Network.
CUPS habe ich inzwischen auch enabled bekommen. 🙂
fs4000
Für CUPS kann man auch den cups.socket nehmen für Socket-Activation. Nur startet Gnome den momentan trotzdem dauerhaft.
[gelöscht]
So, habe DHCP zum laufen bekommen. Hatte vergessen das Paket systemd-arch-units zu installieren.
Bleibt nur noch die Frage wie ich dictd zum Laufen kriege.
Abgesehen davon denke ich, dass ich, rein theoretisch, wagen könnte, SysVinit runterzuschmeißen. Oder sieht noch jemand etwas, was ich übersehen habe?
[gelöscht]
Müsste ich evtl vor der endgültigen Entfernung von SysVinit das Paket netcfg installieren und einrichten? Oder startet systemd trotzdem den network-Daemon?
swordfish
stoerti schriebMüsste ich evtl vor der endgültigen Entfernung von SysVinit das Paket netcfg installieren und einrichten? Oder startet systemd trotzdem den network-Daemon?
'netcfg' brauchste wohl nur, wenn Du Dir 'ne statische Netzwerkverbindung einrichtest (also kein dhcp) oder wenn Du noch 'ne Wireless-Nic mitkonfigurieren möchtest. Alternativ kannste natürlich den Networkmanager nutzen. Kommt aber natürlich darauf an, welche Desktop-Umgebung Du nutzt bzw. welchen Windowmanager und was Dir lieber ist 🙂 .
Siehe auch:
https://wiki.archlinux.org/index.php/Systemd#Network (Abschnitt: "Other configurations")
[gelöscht]
@ swordfish
Ja, hab ich gestern auch noch rausgekriegt.
Ich hab jetzt nur noch zwei Sachen offen, bevor ich versuchen möchte, SysVinit zu entfernen: Einmal bekomme ich dictd noch nicht automatisch gestartet. Und die zweite Sache ist acpid: Im englischen Wiki steht, dass man dies durch systemd ersetzen kann. Ist dies für'n Desktop-PC überhaupt notwendig?
Anonsten läuft der Rest inzwischen über systemd:iptables, sshd, crond als cronie, ntpd, cupsd und kdm.
cpufreq und dbus brauchte ich nicht aktivieren, die liefen interessanter weise ohne Eingreifen.
Das hieße ja auch, dass ich die rc.conf letztlich auch komplett weglassen könnte, oder?
swordfish
stoerti schriebBleibt nur noch die Frage wie ich dictd zum Laufen kriege.
# sudo systemctl enable dictd.service
geht nicht?
Was sagt:
$ systemctl status dictd.service
Evtl. musst Du das service-unit selber anlegen - siehe:
http://www.mail-archive.com/arch-general@archlinux.org/msg28861.html
swordfish
stoerti schriebdie zweite Sache ist acpid: Im englischen Wiki steht, dass man dies durch systemd ersetzen kann. Ist dies für'n Desktop-PC überhaupt notwendig?
Wenn Du bisher schon keine acpid-events benutzt hast, kannste das ignorieren. Ich hab's selber noch nicht wirklich ausprobiert - und ich hab' hier ein Laptop stehen (das ich aber eher als Desktop-Ersatz benutze).
stoerti schriebAnonsten läuft der Rest inzwischen über systemd:iptables, sshd, crond als cronie, ntpd, cupsd und kdm.
cpufreq und dbus brauchte ich nicht aktivieren, die liefen interessanter weise ohne Eingreifen.
Ja, einige services startet systemd offenbar von sich aus 🙂 . Hab' ich aber auch erst gemerkt, als ich einige services starten wollte und dann gesehen habe, dass sie längst liefen. Meine, dazu auch was in der man-page zu systemd gelesen zu haben.
stoerti schriebDas hieße ja auch, dass ich die rc.conf letztlich auch komplett weglassen könnte, oder?
Die wird eh automatisch gelöscht, wenn Du neben systemd auch systemd-sysvcompat installierst (so war's wenigstens bei mir). Im Zweifelsfall checken und löschen (so wie auch die initscripts, die aber auch eigentlich automatisch gelöscht werden).
[gelöscht]
Wofür genau ist das Paket systemd-sysvcompat eigentlich wichtig/zuständig, außer für, wie Schlummi schrieb, die richtigen Spracheinstellungen?
zico
Hey,
Kurze Frage:
Da ichs mir im Moment noch nicht leisten kann, dass ich beim Umstieg tage lang mein System flach lege, konnte ich bisher nur lesen und lesen. Und wenn ich richtig lese, muss ich mir ja alle Service-Untis selbst anlegen.
Weiss denn Jemand, ob diese irgendwann mit den entsprechenden Paketen selbst mitgeliefert werden (Also samba bringt ja nen Startskropt mit - jedoch noch nichts für systemd), wenn der entgültige Umstieg auf systemd erfolgt?
Oder ist das nicht KISS genug?
fs4000
Ne, nix selber anlegen, das wird bald in jedem Paket enthalten sein und es sollte auch nur noch eine Frage der Zeit sein, bis die Upstream-Projekte selbst die Units liefern. Momentan hilft noch das Paket systemd-arch-units aus.
mannohneschuh
cat /etc/systemd/system/multi-user.target.wants/smbd.service
[Unit]
Description=Samba SMB/CIFS server
[Service]
ExecStart=/usr/sbin/smbd -D --configfile=/etc/samba/smb.conf
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target