Draal

LinuxTutorial

Jun 27th, 2024 (edited)
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. Mittlerweile sind fast 14 Jahre seit der Entstehung dieses Tutorials vergangen und einiges hat sich verändert.
  2. Paketmanager funktionieren mittlerweile von den grafischen Oberflächen aus, z.B Discover bei KDE, oder Synaptic.
  3. Diese funktionieren natürlich nicht, wenn man ein System Headless aufsetzt, also ohne grafische Oberfläche.
  4. Zumeist greift man auf so ein System per ssh Konsole zu.
  5.  
  6. apt wurde weiterentwickelt und so reicht es häufig nur noch:
  7. [code]apt update ----> Abfrage der Inhalte auf den Spiegelservern
  8. apt upgrade ----------> Herunterladen und installieren von zu aktualisierenden Paketen
  9. apt full-upgrade -----> Abhänngigkeiten der Pakete überprüfen und korrigieren
  10. apt install -------------> Installation eines gewünschten (Meta)Paketes
  11. apt remove -----------> Deinstallation eines Paketes, ohne die Konfigurationsdateien zu löschen
  12. apt purge -------------> Vollkommene Entfernung eines Paketes[/code]
  13. Viele 'Anregungen' findet man dann auch in den Ausgaben von apt.
  14. Selbstverständlich funktionieren auch noch die Befehle von apt-get.
  15.  
  16. Ob das cron System umgebaut wurde weiß ich nicht, aber bei mir sieht die crontab auf meinem NAS so aus:
  17. [code]# m h dom mon dow command
  18. 0 3 * * * systemctl restart systemd-timesyncd
  19. 5 3 * * * /sbin/hwclock -w
  20. 20 4 * * * systemctl stop mc19
  21. 25 4 * * * systemctl start mc19
  22. 0 5 * * * /usr/sbin/backup-manager -f
  23. 0 1 2 * * /usr/sbin/e4defrag /dev/sda2
  24. 0 1 6 */2 * /usr/sbin/e4defrag /dev/sdb2
  25. 0 1 10 */2 * /usr/sbin/e4defrag /dev/sdc1[/code]
  26. Das ist, zugegebenerweis, nur ein Auszug und teilweise mit Kanonen auf Spatzen geschossen.
  27. Der erste Eintrag findet jedesmal um 3 Uhr statt und synchronisiert die Systemzeit.
  28. Der zweite Eintrag stellt 5 Minuten später die Hardware Uhr nach.
  29. Die e4defrag Einträge defragmentieren die Festplatten. sda2 jeden 2. im Monat (darauf sind die home Verzeichnisse worauf sich viel Abspielt).
  30. sdb2 und sdc1 jeden 2. Monat.
  31.  
  32. Wir haben hier also von links nach rechts
  33. Minute, Stunde, Tag des Monats, Monat, Tag der Woche
  34.  
  35. Viele Distributionen sind mittlerweile dazu über gegangen sich von den Init Skr.ip.ten zu lösen und die Systemverwaltung systemd von freedesktop zu übergeben.
  36. Das war ein ausgesprochen umfangreicher Umstieg.
  37. Systemd arbeitet mit sogenannten 'Units' mit der eine Anwendung, oder ein Server gestartet und gestoppt werden kann.
  38. Wie ihr gelesen habt, stoppe und starte ich täglich einen Minecraft Server via Cronjob. Das 'Unit' dazu sieht folgendermaßen aus:
  39. [code][Unit]
  40. Description=Minecraft 1.12.2 Area
  41.  
  42. Wants=network.target
  43. After=network.target
  44.  
  45. [Service]
  46. User=css
  47. Nice=5
  48. KillMode=none
  49. SuccessExitStatus=0 1
  50. ReadWriteDirectories=/home/css/bukkit-1.12.2
  51. WorkingDirectory=/home/css/bukkit-1.12.2
  52. ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar craftbukkit-1.12.2.jar --noconsole
  53. ExecStop=/home/css/mcrcon -H localhost -P 25567 -p <Passwort> stop
  54.  
  55. [Install]
  56. WantedBy=multi-user.target[/code]
  57. Hinter ExecStart findet Ihr den eigentlichen Startbefehl für Minecraft bzw. einen Minecraft Server. Früher hätte man ihn in einer screen Session gestartet.
  58. screen ist eine Konsolenanwendung, mit der man diese in den Hintergrund schicken kann, ohne ständig eine Konsole offen zu haben.
  59.  
  60. Man kann den Status eines Programms über systemd abfragen:
  61. [code]# systemctl status mc19
  62. ● mc19.service - Minecraft 1.12.2 Area
  63. Loaded: loaded (/etc/systemd/system/mc19.service; enabled; preset: enabled)
  64. Active: active (running) since Thu 2024-06-27 04:25:01 CEST; 5h 13min ago
  65. Main PID: 79974 (java)
  66. Tasks: 31 (limit: 4272)
  67. Memory: 527.1M
  68. CPU: 8min 2.463s
  69. CGroup: /system.slice/mc19.service
  70. └─79974 /usr/bin/java -Xmx1024M -Xms1024M -jar craftbukkit-1.12.2.jar --noconsole
  71.  
  72. Jun 27 04:26:21 hostname java[79974]: [04:26:21 INFO]: [Multiverse-Inventories 2.5.0-SNAPSHOT-b418] enabled.
  73. Jun 27 04:26:21 hostname java[79974]: [04:26:21 INFO]: Server permissions file permissions.yml is empty, ignoring it
  74. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: Done (47,260s)! For help, type "help" or "?"
  75. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: Starting GS4 status listener
  76. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: Starting remote control listener
  77. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: Query running on 0.0.0.0:25565
  78. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: RCON running on 0.0.0.0:25567
  79. Jun 27 04:26:24 hostname java[79974]: [04:26:24 INFO]: [Vault] Checking for Updates ...
  80. Jun 27 04:26:25 hostname java[79974]: [04:26:25 INFO]: [Vault] No new version available[/code]
  81. Oben rechts sieht man den Hinweis 'Service enabled'
  82. Das bedeutet, dass der Start dieser Anwendung, dieses Servers automatisch beim Systemstart erfolgt.
  83.  
  84. Das erreicht man, wenn man diesen Service aktiviert:
  85. [code]systemctl enable mc19
  86. systemctl daemon-reload[/code]
  87. Zeile 1 meldet den Server für einen Autostart bei einem Reboot an.
  88. Zeile 2 veranlasst systemd die Anweisungen aus den Unit Dateien neu einzulesen.
  89.  
  90. Für Richtigstellungen und Anregungen stehe ich offen.
Advertisement
Add Comment
Please, Sign In to add comment