..Gazastreifen kaufen?! Ernsthaft?
🤡
Autor: ralf
Wegbeschreibung
… nach der Ample links!
Der Arsch ist hinten
„Wie man sich auch dreht und wendet, der Arsch bleibt hinten!“
— Stefanie Stahl
positives denken
„Scheiße.“
„Du musst positiv denken.“
„Schöne Scheiße?“
„Geht doch.“
BIOS-Update
Um die aktuelle Version anzuzeigen:
sudo dmidecode -s bios-version
Update der Firmware-Infos:
sudo fwupdmgr refresh --force
Geräte anzeigen lassen:
sudo fwupdmgr get-devices
Alle verfügbaren Updates herunterladen:
fwupdmgr get-updates
Firmeware-Update durchführen, sofern notwenig:
sudo fwupdmgr update
beruhigend…
Es ist sehr beruhigend wenn die Personalabteilung zur Einführung der digitalen Personalakte mit den Worten informiert:
Durch den Wegfall des Versands von Personalakten zu den jeweiligen hamburgischen Behörden, werden Ressourcen eingespart und der Datenschutz wird zudem zukünftig sicherer gewahrt, da es nahezu ausgeschlossen ist, dass Unberechtigte an die Daten gelangen können.
Pihole + Unbound mit Docker auf dem Raspi
Ziel
pihole und unbound in jeweils einem eigenen Container, um mögliche Port Konflikte zu vermeinden.
Es wird macvlan verwendet
Quelle: https://forum.openmediavault.org/index.php?thread/50758-pihole-and-unbound-in-docker/
Was gegen diese Lösung mit den macvlan spricht: https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/
Netzwerk einrichtung MACVLAN
Erstelle unter „Networks“ ein neues Netzwerk:
- Name: mypiholevlan
- Driver: macvlan
- Parent network: eth0 (den richtigen Adapter auswählen, mit dem das VLan verknüpft sein soll)
- Subnet: „192.168.130.0/24“
- Gateway: „192.168.130.1“ (Im Regelfall der Router)
- IP range: „192.168.130.12/30 # 192.168.130.12 and 192.168.130.13“ (Kann frei bleiben, sofern man die IP-Adressen selbst und ohne DHCP verteilet.
Alternativ reserviert man ein paar IP-Adressen, die von Docker verwendet werden dürfen und nicht per DHCP genutzt werden.)
Der pihole
# Pihole # # https://github.com/pi-hole/docker-pi-hole?tab=readme-ov-file # version: "3" services: pihole: container_name: pihole image: pihole/pihole:latest hostname: pihole #Choose your hostname dns: - "192.168.130.13" #DNS1: Should be the address of your unbound system - "9.9.9.9" #DNS2: Quad9 as an example, optional networks: mypiholevlan: #the network name you specified in the first step ipv4_address: 192.168.130.12 #The IP address you want to assign to your pihole. Make sure this address is available to be used in your network # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" ports: - "53:53/tcp" - "53:53/udp" # - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server - "80:80/tcp" # Volumes store your data between container upgrades volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' environment: - TZ='Europe/Berlin' - WEBPASSWORD=${PIHOLE_WEBPASSWORD} - DHCP_ACTIVE=false labels: - com.centurylinklabs.watchtower.enable=false # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities restart: unless-stopped # Required if you are using Pi-hole as your DHCP server, else not needed # cap_add: # - NET_ADMIN networks: mypiholevlan: #network name external: true
Unbound-Container
version: "3" services: unbound: container_name: unbound image: mvance/unbound:latest hostname: unbound networks: mypiholevlan: #the network name you specified in the first step ipv4_address: 192.168.130.13 #The IP address you want to assign to Unbound. Make sure this address is available to be used in your network ports: - "53:53/tcp" - "53:53/udp" #volumes: #It's important to comment out these two lines if you don't want to use your own unbound configuration! An own configuration can be tricky as you have to provide several config files manually. # - './etc-unbound:/opt/unbound/etc/unbound' restart: unless-stopped networks: mypiholevlan: #the network name you specified in the first step external: true
Raspi neu aufsetzten
Grundinstallation
Mit dem Raspberry Pi Imager das Raspberry Pi OS Lite (hier verwende ich die 64-bit-Version [Debian 12 – bookworm]) installieren.
Bei den erweiterten Einstellungen hostname festlegen, ssh mit public-key aktivieren sowie Spracheinstellungen festlegen…
- Raspi booten, das dauert dann erstmal ein bisschen.
- .bash_aliases anpassen
- nano configurieren in .config/nano/nanorc
- staticIP-Adresse mit den NetworkManager festlegen
Watchdog einrichten
In der /boot/firmeware/config.txt den Hardware-Watchdog aktivieren:
dtparam=watchdog
Installation des Watchdog
sudo apt update sudo apt install watchdog
In der Datei /etc/watchdog.conf folgende Zeilen aktivieren
watchdog-device = /dev/watchdog watchdog-timeout = 15 log-dir = /var/log/watchdog max-load-1 = 24
Der Raspi hat wohl als maximales timeout 15 Sekunden!
Anschließend der Service aktivieren und starten
sudo systemctl enable watchdog sudo systemctl start watchdog sudo systemctl status watchdog
Unattended-Upgrades einrichten
Original hier: www.elektronik-kompendium.de/sites/raspberry-pi/2002101.htm
sudo apt-get install unattended-upgrades # Aktivieren/Deaktivieren: sudo dpkg-reconfigure -plow unattended-upgrades # genaue Config: sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Schreibzugriff auf SD-Karte reduzieren
siehe Artikel dort…
Kuchen
… du kannst nicht alle glücklich machen!
Du bist schließlich kein Kuchen.
Migration von Bootstrap 3 auf 5
Zentrale Dokumente für die Migration sind hier zu finden:
Der Text kommt von hier: https://nodebb.org/blog/nodebb-specific-bootstrap-3-to-5-migration-guide/
Grundsätzliches
pull-left
changed tofloat-start
pull-right
changed tofloat-end
text-right
changed totext-end
img-responsive
changed toimg-fluid
Buttons
- Vertically stacked buttons change from .btn-block to using display/spacer classes.
<div class="d-grid gap-2"> <button class="btn btn-primary" type="button">Button</button> <button class="btn btn-primary" type="button">Button</button> </div>
btn-xs
removed usebtn-sm
btn-default
removed usebtn-outline-secondary
Grid/Breakpoints
col-xs-<n>
changed tocol-<n>
col-md-offset-<n>
changed tooffset-md-<n>
Display
inline-block
changed tod-inline-block
Media Component
… has been removed completely, use flex display classes instead:
<div class="d-flex"> <div class="flex-shrink-0"> image </div> <div class="flex-grow-1 ms-3"> text </div> </div>
Navbar
navbar-toggle
changed tonavbar-toggler
Panels, Wells, and Jumbotrons
… have all been removed in favour of the “card” component.
To convert a panel into a card:
<div class=”card”> <div class=”card-header”>header</div> <div class=”card-body”>body</div> <div class=”card-footer”>footer</div> </div>
<div class="well">
changed to<div class="card card-body text-bg-light">
Forms
<select class="form-control">
changed to<select class="form-select">
- Add
form-label
class to labels - Add
form-check-input
to checkboxes. Sample checkbox with label:
<div class="”form-check”"> <input class="”form-check-input”" type="”checkbox”" /> <label class="”form-check-label”">a checkbox</label> </div>
form-group
,.form-row
, or.form-inline
are removed use spacing utilitieshelp-block
changed toform-text
Dropdowns
data-toggle="dropdown"
changed todata-bs-toggle="dropdown"
- Add
dropdown-item
to dropdown list item<a class="dropdown-item">Item 1</a>
dropdown-menu-right
changed todropdown-menu-end
- Divider changed to
dropdown-divider
Collapse
data-toggle="collapse"
changed todata-bs-toggle="collapse"
data-target=".classname"
changed todata-bs-target=".classname"
Modals
data-dismiss="modal"
changed todata-bs-dismiss="modal"
Responsive Breakpoints
Instead of using media queries using old Bootstrap 3 variables (e.g. @media (max-width: @screen-sm-max) { ... }
), Bootstrap 5 introduces a new mixin for breakpoints.
Read more about it in Bootstrap 5’s article re: responsive breakpoints.