Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
server_und_serverdienste:systemd [2021/01/19 11:45] – [Systemd] lomaserver_und_serverdienste:systemd [2023/08/17 22:07] (aktuell) – [Systemd Mount mit Samba] loma
Zeile 1: Zeile 1:
 ====== Systemd ====== ====== Systemd ======
 +
 +Hauseigenes Apt-Repo: [[https://apt.iteas.at]]    [[https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KE592Y5993ZKW|{{:wiki:btn_donatecc_lg.gif|}}]]
 +\\
 +\\
 Ein Service bearbeiten und personalisieren.  Ein Service bearbeiten und personalisieren. 
  
  systemctl edit --full rc-local  systemctl edit --full rc-local
 +
 +Um den Defaulteditor VI von SystemD zu überschreiben bedient man sich diesem Befehl:
 + EDITOR=nano systemctl edit --full rc-local
 +
 +Hier wird das komplette Service kopiert und wird von Updates des Systems nicht weiterhin berührt. Dies kann je nachdem zu irgendwann auch zu Problemen führen. Deshalb gibt es auch eine andere Variante wo die Files virtuell verschmolzen werden:
 + EDITOR=nano systemctl edit apache2
  
 Oder wenn es ein komplett neues Unitfile ist: Oder wenn es ein komplett neues Unitfile ist:
Zeile 69: Zeile 79:
  
 ===== Mounten mit Systemd - FSTAB ruhe in Frieden ===== ===== Mounten mit Systemd - FSTAB ruhe in Frieden =====
 +
 +==== Systemd Mount mit NFS ====
  
 __Testsystem: Debian 10/Proxmox 6.3__ __Testsystem: Debian 10/Proxmox 6.3__
Zeile 76: Zeile 88:
 Hier als Beispiel ein einfacher Mount einer lokalen HDD. Als erstes legst du ein sogenanntes Unit-File an. Der Mountpoint wird dabei automatisch erstellt. Hier als Beispiel ein einfacher Mount einer lokalen HDD. Als erstes legst du ein sogenanntes Unit-File an. Der Mountpoint wird dabei automatisch erstellt.
  systemctl edit -f -l "/mnt/datastore/HDD-extern-OSIT"  systemctl edit -f -l "/mnt/datastore/HDD-extern-OSIT"
 +
 +Um den Defaulteditor VI von SystemD zu überschreiben bedient man sich diesem Befehl:
 + EDITOR=nano systemctl edit -f -l "/mnt/datastore/HDD-extern-OSIT"
 +
 Wie du siehst muss der Name der exakte Mountpoint sein. Nun befüllst du das File mit diesem Inhalt: Wie du siehst muss der Name der exakte Mountpoint sein. Nun befüllst du das File mit diesem Inhalt:
 <code> <code>
Zeile 90: Zeile 106:
 Where=/mnt/datastore/HDD-extern-OSIT Where=/mnt/datastore/HDD-extern-OSIT
 </code> </code>
 +Und NFS4:
 +<code>
 +[Install]
 +WantedBy=multi-user.target
 +
 +[Unit]
 +Description=Mount datatstore under /home/mydata
 +Requires=network.target
 +Requires=NetworkManager.service
 +Requires=network-online.target
 +
 +[Mount]
 +Options=rw,_netdev,auto,acl,exec,intr,bg,nfsvers=4,minorversion=2,x-systemd.device-timeout=60,x-systemd.mount-timeout=60
 +Type=nfs4
 +What=myhostserver.lan:/ssd-pool/mydatastore
 +Where=/home/mydata
 +</code>
 +
 +
 Mit dem nächsten Befehl hast eine tolle Übersicht für alle Mountpoints die es gibt, und ob diese im Autostart sind oder nicht. Mit dem nächsten Befehl hast eine tolle Übersicht für alle Mountpoints die es gibt, und ob diese im Autostart sind oder nicht.
  systemctl list-unit-files -t mount  systemctl list-unit-files -t mount
Zeile 129: Zeile 164:
 oder auch: oder auch:
  systemctl edit -l "/mnt/datastore/HDD-extern-OSIT"  systemctl edit -l "/mnt/datastore/HDD-extern-OSIT"
 +
 +==== Systemd Mount mit Samba ====
 +
 +__Testsystem: Ubuntu 20.04, 22.03LTS auf Proxmox LXC__
 +
 +Dies gestaltet sich sehr ähnlich wie NFS. Lediglich ein Paket und die Authentifizierung kommt dazu.
 + apt install cifs-utils -dy
 +Danach erstellen wir unser Unitfile, und aktivieren es:
 + EDITOR=nano systemctl edit -f -l "/data-docs"
 +
 +<code>
 +[Unit]
 +Description=samba mount for sambafiles
 +Requires=systemd-networkd.service
 +After=network-online.target
 +Wants=network-online.target
 +
 +[Mount]
 +What=//yourserver.lan/data-docs
 +Where=/media-kodi
 +Options=credentials=/root/.smbcredentials,auto,vers=3.0,uid=2344,gid=2344,file_mode=0777,dir_mode=0777
 +Type=cifs
 +TimeoutSec=30
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +Nun noch SystemD reloaden und den Mount aktivieren:
 +<code>
 +systemctl daemon-reload
 +systemctl enable "data\x2ddocs.mount"
 +</code>
 +Nun kann das Systemd-Service getartet werden, und somit wird auch das Laufwerk eingehängt.
 + systemctl start "data\x2ddocs.mount"
  
 Für die Erweiterung deines Unitfiles empfehle ich [[https://wiki.ubuntuusers.de/systemd/Units/|diesen Artikel]] und auch [[https://wiki.ubuntuusers.de/systemd/Mount_Units/|diesen]] auf Ubuntuusers.  Für die Erweiterung deines Unitfiles empfehle ich [[https://wiki.ubuntuusers.de/systemd/Units/|diesen Artikel]] und auch [[https://wiki.ubuntuusers.de/systemd/Mount_Units/|diesen]] auf Ubuntuusers. 
 +
 +===== Systemd Autostart =====
 +Hier ein Beispiel für ein WOL Script das beim Boot ausgeführt wird, aber erst wenn der Server online ist.
 + systemctl edit -f -l wol-at-boot.service
 +Inhalt:
 +<code>
 +[Unit]
 +Description=execute Wake-up on LAN
 +
 +Wants=network.target
 +After=syslog.target network-online.target
 +
 +[Service]
 +Type=oneshot
 +ExecStart=/etc/cron.hourly/wol.sh
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 + systemctl enable wol-at-boot.service
 + systemctl daemon-reload 
 +
 ===== Debuging ===== ===== Debuging =====
 Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle: Um z.B. Zeiten beim Systemstart ansehen zu können gibt es zwei nette Befehle:
Zeile 147: Zeile 238:
  
   *  [[https://www.freedesktop.org/software/systemd/man/systemd.service.html|Hersteller|Dokumentation Systemd]]   *  [[https://www.freedesktop.org/software/systemd/man/systemd.service.html|Hersteller|Dokumentation Systemd]]
 +  * [[https://www.freedesktop.org/software/systemd/man/systemd.mount.html|Hersteller|Dokumentation Systemd Mount Unit]]
   * https://wiki.ubuntuusers.de/systemd/systemctl/   * https://wiki.ubuntuusers.de/systemd/systemctl/
 +  * https://wiki.ubuntuusers.de/systemd/Mount_Units/