Skip to content

Ubuntu Bionic - IP Adresse ändern

Angeheftet Verschoben Linux
1 1 2.4k
  • Ich habe mich gestern Abend ziemlich darüber aufgeregt, wie man unter Ubuntu 18.04 die Interfaces einstellen muss. Mal von dem Zeitverlust abgesehen. Ich spiele zwar gerne an Headless Servern rum, aber so was sinnloses hatte ich schon lange nicht mehr. 😞

    Hardware

    ROCKPro64

    Software

     rock64@rockpro64:/$ uname -a
     Linux rockpro64 4.17.0-rc6-1019-ayufan-gfafc3e1c913f #1 SMP PREEMPT Tue Jun 12 19:06:59 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Wie man die IP-Adresse unter Linux einstellt werden die meisten von Euch sicherlich sehr gut kennen, da das zum täglichen Geschäft gehört wenn man mit den kleinen Platinen arbeitet.

    Warum man nicht dauerhaft das einfach auf DHCP lässt, denke ich brauche ich hier in dieser Runde nicht erklären.

    Unter Ubuntu 18.04 hat man jetzt was Neues eingeführt. Das Ganze nennt sich Netplan. Netplan findet man unter /etc/netplan Dort liegt ein File eth0.yaml zu der Dateiendung .yaml komme ich später noch zu sprechen.

     rock64@rockpro64:/$ ls -la /etc/netplan
     total 16
     drwxr-xr-x  2 root root 4096 Jun 17 05:39 .
     drwxr-xr-x 86 root root 4096 Jun 16 12:22 ..
     -rw-r--r--  1 root root  333 Jun 16 20:39 eth0.yaml
     -rw-r--r--  1 root root  329 Jun 16 20:38 eth0.yaml_bak
    

    Macht Euch vorher eine Kopie, man weiß ja nie 😉 Der Inhalt der Datei sieht ungefähr so aus, ich hatte vergessen vorher eine Kopie zu machen 🙂

     network: 
     	version: 2 
     	renderer: networkd
     	ethernets:
     		eth0: #object name
     			dhcp4: yes # dhcp v4 enable
     			dhcp6: yes # dhcp v6 enable (if you want)
    

    Die Schnittstelle eth0 zieht sich mittels DHCP die Daten vom DHCP-Server. Alle meine Server haben hier feste IP-Adressen, da der Mainline aktuell sehr stabil läuft, bekommt der jetzt ne feste IP. So weit mein Plan.

    YAML

    Nachdem ich eine Stunde rumgedockert hatte und nichts klappte, habe ich mal vorne angefangen. Was ist YAML? Dazu der WIKI-Link. Gut, eigentlich nicht zu schwer zu verstehen. Aber trotzdem bekam ich andauernd nur Fehlermeldungen. So was in der Art hier.

    Invalid YAML at //etc/netplan/01-netcfg.yaml line 9 column 5: did not find expected key
    

    Wieder suchen, suchen usw. Dann bekommt man raus, das es entscheidend wichtig ist, wie die Einrückung aufgebaut ist. WTF? Der dumme Parser erkennt das als einen Fehler an ob ich jetzt 2 Leerstellen vor dem Eintrag habe, er aber gerne 3 Leerstellen dort hätte!? Geht es noch komplizierter? Das ist in meinen Augen völlig benutzerunfreundlich! Macht Debian das auch? Später nachschauen...

    Also hatte ich vieles ausprobiert, aber nur dieses Beispiel habe ich dann zum Laufen bekommen.

    Beispiel Datei

    # This file describes the network interfaces available on your system
    # For more information, see netplan(5).
     network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          dhcp6: no
          addresses: [192.168.3.206/24]
          gateway4: 192.168.3.1
          nameservers:
            addresses: [192.168.3.1,1.1.1.1]
    

    Diese Datei kann man also ganz gewöhnlich mit einem Texteditor deiner Wahl bearbeiten, danach abspeichern. Dann kommt der YAML Parser zum Einsatz. Dieser checkt das File auf Fehler, was ja auch eigentlich eine gute Sache ist. Der Befehl dafür.

    sudo netplan apply
    

    Dabei sollte man folgendes beachten, das File wird geprüft, wenn erfolgreich werden die Netzwerkeinstellungen sofort aktiviert. Man verliert also eine evt. bestehende SSH-Verbindung sofort. Also Vorsicht, vorher kurz nachdenken 😉

    Ganz ehrlich, braucht man das so? Ich muss mich wohl dran gewöhnen....

    Noch ein Tipp, die Netzwerkmaske ändert man über /24

    Das sieht dann jetzt so aus

     rock64@rockpro64:/$ ip a
     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
         link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
         inet 127.0.0.1/8 scope host lo
            valid_lft forever preferred_lft forever
         inet6 ::1/128 scope host 
            valid_lft forever preferred_lft forever
     2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
         link/ether e2:15:d9:4c:26:11 brd ff:ff:ff:ff:ff:ff
     3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
         link/ether aa:41:29:23:dc:d1 brd ff:ff:ff:ff:ff:ff
         inet 192.168.3.206/24 brd 192.168.3.255 scope global eth0
            valid_lft forever preferred_lft forever
         inet6 fe80::a841:29ff:fe23:dcd1/64 scope link 
            valid_lft forever preferred_lft forever
     4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
         link/sit 0.0.0.0 brd 0.0.0.0
    

    Was das mit dem dummy0 und sit@NONE auf sich hat muss ich mir mal in einer ruhigen Stunde ansehen.

    Das dummy0 und sit@NONE sind Interfaces die von Kernel-modulen erzeugt werden. Man kann beide Module aber nicht entladen, weil beide Module in den Kernel eingebaut sind!

    rock64@rockpro64v_2_1:~$ sudo modprobe -r sit
    [sudo] password for rock64: 
    modprobe: FATAL: Module sit is builtin.
    rock64@rockpro64v_2_1:~$ sudo modprobe -r dummy
    modprobe: FATAL: Module dummy is builtin.
    

    Das ist nur im Mainline so!

    rock64@rockpro64v_2_1:~$ uname -a
    Linux rockpro64v_2_1 4.18.0-rc8-1060-ayufan-g45828c4db727 #1 SMP PREEMPT Thu Aug 9 19:41:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Im 4.4x

    rock64@rockpro64v2_0:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
        link/ether aa:41:29:23:dc:d1 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.206/24 brd 192.168.3.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::a841:29ff:fe23:dcd1/64 scope link 
           valid_lft forever preferred_lft forever
    
  • Forgejo Installation mit Restic nach Hetzner S3 sichern

    Restic restic linux forgejo
    2
    2
    0 Stimmen
    2 Beiträge
    334 Aufrufe
    FrankMF
    Ich habe ja im obigen Beispiel, den gesamten Ordner von der Postgres Installation gesichert. backup_pfad_postgres="/home/pguser/db-data" Ich habe dann mal ein wenig in der Dokumentation gelesen und das hier gefunden. https://www.postgresql.org/docs/current/app-pgdump.html Einfach den Ordner zu sichern, ist ja bei jeder Datenbank ein gewisses Risiko. Die Konsistenz der Daten ist nicht gesichert. Darum gibt es bei den Datenbanken auch immer Tools, mit denen man die Daten sichern kann. In der Doku steht folgendes. pg_dump — extract a PostgreSQL database into a script file or other archive file Aber wichtiger ist das hier. pg_dump is a utility for backing up a PostgreSQL database. It makes consistent backups even if the database is being used concurrently. pg_dump does not block other users accessing the database (readers or writers). Das macht also konsistente Backups. Wichtig noch zu wissen ist folgendes. pg_dump only dumps a single database. To back up an entire cluster, or to back up global objects that are common to all databases in a cluster (such as roles and tablespaces), use pg_dumpall. Ok, das scheint gut geeignet zu sein, um die Datenbank zu sichern. Aber, wie? Auf meinen Eingangsbeitrag kam es zu folgendem Dialog auf Mastodon. https://nrw.social/deck/@nebucatnetzer@social.linux.pizza/114132208440509237 Das war der Anstoß sich mit dem Thema zu beschäftigen. Und ich hatte dann folgende Lösung. podman exec -it postgres pg_dump -U postgres -f /var/lib/postgresql/data/dump.txt Ok, was mache ich hier? Wir führen einen Befehl vom Host aus gesehen, im Container aus. podman exec -it postgres Der Teil führt den folgenden Befehl im Container aus. pg_dump -U postgres -f /var/lib/postgresql/data/dump.txt pg_dump - Das Tool fürs Backup -U postgres - Der Befehl wird als User postgres ausgeführt -f /var/lib/postgresql/data/dump.txt - Das Dump File wird im Data Ordner abgelegt, den haben wir ja persistent auf dem Host. Somit kann ich das jetzt einfach in mein Backup Script einbauen und brauchen nicht mehr den ganzen Ordner zu kopieren, sondern nur noch das Dump File. Ich werde diese Änderungen in das obige Script einbauen.
  • 0 Stimmen
    2 Beiträge
    530 Aufrufe
    FrankMF
    Ich habe den Sonntag mal genutzt um ein wenig was einzubauen. Einmal habe ich mit datatables.net die Tabelle etwas funktionaler gestaltet. [image: 1736705735786-00a95363-1f41-4bbf-884a-34f21aea81e4-grafik.png] Man kann nun suchen, sortieren und wenn man mehr als 10 Datenpunkte hat, hat die Tabelle auch Pagination. Ein nettes Projekt, macht einiges einfacher Das nächste, ich hatte es im Video ja kurz erwähnt, mir fehlte ja noch die Restore Funktion von Restic. Ok, ist jetzt auch drin. Da die Benutzerverwaltung mittlerweile komplett eingebaut ist, werde ich demnächst meine Test Datenbanken und alles was damit zu tuen hat, aus dem Code entfernen. Brauch ich jetzt nicht mehr. Habe jetzt zwei Benutzer, einen Produktiven und einen zum Testen. Langfristig steht auch noch eine zweite Sprache auf dem Zettel. Aber, dafür muss ich Lust haben, das Thema juckt nicht so richtig
  • Proxmox 8.3 released

    Proxmox proxmox linux
    2
    0 Stimmen
    2 Beiträge
    277 Aufrufe
    FrankMF
    Ich habe gestern mal eine Neuigkeit ausprobiert, den Import einer Anwendung mittels OVA. Dazu habe ich irgendwo im Netz ein File für OpenProject gefunden (steht schon sehr lange auf meiner Testliste). Der Import war langweilig einfach. Nach Import ein paar Dinge eingestellt, Netzwerk usw. und die VM gestartet. Ok, die Installation war so alt, das ich sie danach wieder gelöscht habe, aber das soll ja kein Problem sein. Man kann OpenProject ja auch mittels .deb Package installieren. Zweiter Test war der "Tag View". Interessantes Feature, was ich auch mal direkt angewendet habe, auch wenn fast alle meine VMs Debian sind
  • Star64 - UART

    Hardware star64 risc-v linux
    1
    0 Stimmen
    1 Beiträge
    81 Aufrufe
    Niemand hat geantwortet
  • checkmk - Debian Bullseye Release

    checkmk checkmk bullseye linux
    1
    0 Stimmen
    1 Beiträge
    520 Aufrufe
    Niemand hat geantwortet
  • Ubiquiti ER-X - Switch

    Verschoben OpenWRT & Ubiquiti ER-X openwrt linux er-x
    1
    1
    0 Stimmen
    1 Beiträge
    305 Aufrufe
    Niemand hat geantwortet
  • Restic - forget --keep-last 3 --prune

    Restic linux restic
    2
    0 Stimmen
    2 Beiträge
    679 Aufrufe
    FrankMF
    Ich habe mich damit noch ein wenig beschäftigt, die letzten drei zu behalten, ist nicht so optimal. Da es viele Optionen bei dem Befehl gibt, hier ein Ausschnitt Flags: -l, --keep-last n keep the last n snapshots -H, --keep-hourly n keep the last n hourly snapshots -d, --keep-daily n keep the last n daily snapshots -w, --keep-weekly n keep the last n weekly snapshots -m, --keep-monthly n keep the last n monthly snapshots -y, --keep-yearly n keep the last n yearly snapshots habe ich das ein wenig so angepasst, das ich denke es passt für mich. restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune Damit behalte ich auch die jeweils eines pro Monat. Und die letzten drei. Das sieht dann so aus. root@debian:~# ./backup2.sh repository 2f3f6147 opened successfully, password is correct Files: 38 new, 100 changed, 13268 unmodified Dirs: 0 new, 1 changed, 0 unmodified Added to the repo: 10.166 GiB processed 13406 files, 50.324 GiB in 3:24 snapshot 849f614c saved repository 2f3f6147 opened successfully, password is correct Applying Policy: keep the last 3 snapshots, 3 monthly snapshots snapshots for (host [debian], paths [/home/frank]): keep 5 snapshots: ID Time Host Tags Reasons Paths ------------------------------------------------------------------------------------ a7251cfd 2019-11-28 17:00:01 debian monthly snapshot /home/frank 283d4027 2019-12-31 17:00:01 debian monthly snapshot /home/frank ae2b96ec 2020-01-01 21:47:46 debian last snapshot /home/frank 079e00a6 2020-01-02 17:00:01 debian last snapshot /home/frank 849f614c 2020-01-03 21:08:45 debian last snapshot /home/frank monthly snapshot ------------------------------------------------------------------------------------ 5 snapshots remove 26 snapshots: ID Time Host Tags Paths ------------------------------------------------------------------ 896f16c2 2019-11-07 22:23:40 debian /home/frank b21bcf6d 2019-11-11 17:00:01 debian /home/frank f89248fb 2019-11-12 17:00:01 debian /home/frank 123ab546 2019-11-13 17:00:01 debian /home/frank b82d87d0 2019-11-18 17:00:01 debian /home/frank 040b0ab7 2019-11-19 17:00:01 debian /home/frank 7221d8ef 2019-11-20 17:00:01 debian /home/frank 84132a25 2019-11-21 17:00:01 debian /home/frank b558a52c 2019-11-25 17:00:01 debian /home/frank e5cc0c3e 2019-12-02 17:00:01 debian /home/frank 22423fa5 2019-12-03 17:00:01 debian /home/frank 39df1ab9 2019-12-04 17:00:01 debian /home/frank 98843457 2019-12-05 17:00:01 debian /home/frank b0cdd4b6 2019-12-09 17:00:01 debian /home/frank 828414f9 2019-12-10 17:00:01 debian /home/frank e34a27c3 2019-12-11 17:00:01 debian /home/frank 6e488c3b 2019-12-12 17:00:01 debian /home/frank 17898403 2019-12-16 17:00:01 debian /home/frank 1973305a 2019-12-17 17:00:01 debian /home/frank 9553bedd 2019-12-18 17:00:01 debian /home/frank fedf749d 2019-12-19 17:00:01 debian /home/frank 8e7cb876 2019-12-23 17:00:01 debian /home/frank 0bd0d102 2019-12-25 17:00:01 debian /home/frank 13d348b0 2019-12-26 17:00:01 debian /home/frank c7d960aa 2019-12-30 17:00:01 debian /home/frank f6ea9118 2020-01-01 17:00:01 debian /home/frank ------------------------------------------------------------------ 26 snapshots 26 snapshots have been removed, running prune counting files in repo building new index for repo [0:35] 100.00% 7806 / 7806 packs repository contains 7806 packs (46537 blobs) with 41.110 GiB processed 46537 blobs: 0 duplicate blobs, 0 B duplicate load all snapshots find data that is still in use for 5 snapshots [0:01] 100.00% 5 / 5 snapshots found 32654 of 46537 data blobs still in use, removing 13883 blobs will remove 0 invalid files will delete 715 packs and rewrite 752 packs, this frees 5.027 GiB [2:28] 100.00% 752 / 752 packs rewritten counting files in repo [0:01] 100.00% 6571 / 6571 packs finding old index files saved new indexes as [d137b425 f7caee99 a6e9711a] remove 35 old index files [1:13] 100.00% 1467 / 1467 packs deleted done using temporary cache in /tmp/restic-check-cache-916655151 repository 2f3f6147 opened successfully, password is correct created new cache in /tmp/restic-check-cache-916655151 create exclusive lock for repository load indexes check all packs check snapshots, trees and blobs read all data [7:47] 100.00% 6571 / 6571 items duration: 7:47 no errors were found root@debian:~# Am Ende seht ihr noch, wie Restic alle Files testet. Mein Script sieht jetzt so aus. #!/bin/bash # Script um mit Restic Daten automatisiert zu sichern! # Dient zum Sichern der Homepartition auf dem ROCKPro64 NAS! # Was soll gesichert werden? backup_pfad=/home/frank # Programm Start restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ backup $backup_pfad --exclude-file=excludes.txt restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ forget --keep-last 3 --keep-monthly 3 --prune # Testen restic --password-file /root/passwd -r /media/NAS_neu/Restic/Home/ check --read-data Das dann schön mit einem Cronjob laufen lassen und die Datensicherung ist erledigt
  • NodeBB - nach Plugin platt

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    633 Aufrufe
    Niemand hat geantwortet