| |||||||||||||||
|
polaris.ulm.go-itservice.de
Upgrade Lenovo T450s von Debian 11 bullseye auf Debian 12.0 Bookworm, Kopie oder Neuinstallation Hardware:
Debian 12 Bookworm GrundinstallationNetinstall CD herunterladen, ISO auf CD Brennen und Laptop damit booten, installation - Kommandozeile auswählen. Ich habe das bei Bookworm nur einmal für den Rechner eines Freundes gemacht und alle eigenen Rechner dann wie oben beschrieben entweder kopiert oder aktualisiert, da beides viel schneller als eine Neuinstallation geht und nur wenig manuelle Eingriffe benötigt.Language: German<enter> ... IP: 192.168.80.40 Netmask: 255.255.255.0 Gateway: 192.168.80.10 DNS: 192.168.80.10 Rechnername: polaris (wird durch DNS automatisch erkannt) Domain: ulm.go-itservice.de (wird durch DNS automatisch erkannt)Passwort root ..., User: dummy, es sind keine echten User nötig, diese werden von dem alten Rechner übernommen. Im weiteren Ablauf wird die SSD (512 GB) partitioniert: 120,0 GB sda1 83 / 20,0 GB sda2 82 swap 370,0 GB sda3 83 NICHT einhängen.bei der Grundinstallation wird als Zielssysteme: Desktop xfce druck ssh standardausgewählt, User "dummy" wird später gelöscht, sonst die üblichen Systemparameter und Passwörter. Nach dem Booten kommt man via ssh erstmal nicht auf die Kiste, also muss man passwortbasierten SSH Zugang erst mal aktivieren:in /etc/ssh/sshd_config ändert man PermitRootLogin zu
PermitRootLogin yesNach der Grundinstallation ist weder aptitude noch rsync oder ifconfig installiert, das wird nachgeholt:
# apt-get install aptitude net-tools rsyncDamit der neue Rechner sich wie der alte verhät, werden die Hostkeys und das root-Verzeichnis vom polaris geholt. Vorsicht, Besitzer der Dateien kontrollieren. Wenn z.B. /root/.ssh irgendeinem anderen User gehört, kann man sich nicht mit Zertifikat verbinden (Der Owner muss root:root sein) /root/.ssh /root/ /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pubNach der Installation Dateien anpassen, passwd,shadow und group am besten vom alten Rechener (der einer anderen Workstation):
# rsync root@RECHNER:/etc/passwd /etc/passwd.OLDdann alle Einträge der Systemuser ec ausser den echten Benutzern (go,lw...) in der passwd.OLD löschen. # cat /etc/passwd.OLD >> passwd /etc/passwd /etc/shadow /etc/group /etc/profile (nur wegen export EDITOR=vi) /etc/init.d/obi1 (inclusive cd /etc/init.d; update-rc.d obi1 defaults) /usr/local/bin /etc/sudoers (kopieren)obi1 muss je nach Einsatzzweck angepasst werden! Verzeichnisse anlegen: # mkdir /backupNorm1 # mkdir /backupNorm2 # mkdir /backupMonthly1 # mkdir /backupMonthly2 # mkdir /backupYearly # mkdir /homelocal # mkdir /homeserv # mkdir /SDCARD # mkdir /local # rmdir /home # ln -s /homeserv /homeDann mit aptitude folgende zusätzliche Pakete mit aptitude auswählen. Weitere PHP oder Perl-Pakete sind nicht mehr nötig: abcde apache2 acl (default) bind9 brasero catdoc (wegen xls2csv) chromium composer cryptsetup cups (default) curl debconf-utils dkms* dos2unix ekiga (FEHLT) enigmail exiftran eyed3 florence (für Tablet) flowblade font-manager ghostscript (default) gpg gimp git* gthumb dnsutils gpxviewer gthumb handbrake id3 id3v2 imagemagick (default) jmtpfs kaffein kodi lame laptop-mode-tools libapache2-mod-php7.3 ldap-utils lynx mcrypt mplayer multimedia-video mariadb-client mariadb-server nfs-kernel-server nfs4-acl-tools ntpdate okular openssh-server (default) pluma (statt gedit) rawtherapee rsh-redone-client rsync samba (bereits installiert) sane signal-desktop siril slapd squid3 squidguard stellarium systools thunderbird totem uswsusp (für s2ram) virtualbox (aus eigenem Repository, siehe weiter unten) xcftools xfce4 (default) xsane (default) xscreensaver xscreensaver-extra zoomentfernen: network-managerIch habe alle Pakete, die irgendeiner der Rechner antares, sgrx1 und rigel verwendet, aufgenommen, um die weiter benötigten Rechner via Plattenkopie schnell aufsetzen zu könen. Nach der Installation Passwörter für mysql, ldap ec. eingeben. Default X-Windowsmanager ändernFalls Gnome3 doch installiert ist, muss man den Default X-Session / X-Windowmanager auf xfce4 ändern. Diesen im Auswahlmenü eintragen:# update-alternatives --config x-session-manager Startdatei in rc.nbereits in squeeze wurde die Reihenfolge der Bootskripte auf abhänigkeitsgesteuerte Bootskripte geändert. Diese sind komplizierter aufgebaut und müssen ihre Abhänigkeiten und "start","stop" Zweige enthalten. Der Start Teil in meinem Beispiel (komplette Datei hier im Anhang)mount 192.168.80.13:/home /homeserv mount /dev/sda3 /homelocal df -k echo "ok"Ist das Startskript fertig, wird es in den Bootablauf eingebunden. Hierzu wird im Verzeichnis /etc/init.d folgendes Kommando ausgeführt:
# update-rc.d obi1 defaults StromsparenPC geht nach Einsatz von powertop von selbst in den standby-Modus. alle Modi auf "gut", ausser Maus und USB, da sonst dauernd die Maus hängt.Aus dem S3 Schlafmodus (standby suspend, suspend to RAM) ist der Rechner in 2 Sekunden da und der Verbrauch während des Standbys beträgt ca 2 Watt! Aus dem S4 Ruhezustand (hibernate, suspend to disk) muss der Rechner booten und das dauert trotz der SSD ca 8 Sekunden, der Verbrauch hierbei ist mit meinen Mitteln nicht mehr messbar. Wegen der schnelleren Bereitschaft habe ich in der "Energieverwaltung - bei Netzbetrieb" Computer schlafen legen nach: 15 Minutenund unter "Energieverwaltung - Erweitert" Schlafmodus für Computer: Standby (also S3) Schlafmodus für Monitor: Standby Bildschirm sperren bei Ruhe: JAausgewählt. User und RechteBenutzer und Gruppen so anlegen, dass für jeden User eine Gruppe mit GID=UID existiert. Zugriff auf gemeinsame Resourcen kann dann einfach mittels Gruppenzugehörigkeiten geregelt werden:/etc/passwd
go:x:801:801:Guenther Obermaier:/home/go:/bin/bash USER:x:899:899:USER:/home/USER:/bin/bash common:x:890:890:Common User:/home/common:/bin/falseNeben der normalen Gruppe für gemeinsame Daten, habe ich wegen den Kindern noch Gruppen eingerichtet, damit diese nur auf altersgerechte Inhalte vom Server zugreifen können: /etc/group
go:x:801:go,www-data USER:x:899:USER,www-data child06:x:881:common,go,USER,CHILD12,CHILD06 child12:x:882:common,go,USER,CHILD12 child16:x:883:common,go,USER adult:x:888:common,go,USER common:x:890:common,www-data,go,USER,CHILD12,CHILD06User www-data ist in jeder Usergruppe, deren korrespondierender User httpd-Unterverzeichnisse besitzt die via Webbrowser erreichbar sein sollen. Apache 2site-available und site-enabled von altem Rechner/Server kopieren:# rsync --delete -avurtHAX root@wega:/etc/apache2/sites-available/ /etc/apache2/sites-available/ # rsync --delete -avurtHAX root@wega:/etc/apache2/sites-enabled/ /etc/apache2/sites-enabled/Damit die Seiten unter /home/go/httpd wieder funktionieren, muss dieses Verzeichnis in der /etc/apache2/apache2.conf
freigegeben werden:
<Directory /home/go/httpd> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>Weitere Links bei Bedarf in /etc/apache2/sites-enabled mit der Endung .conf erzeugen in der Art
# ln -s ../sites-available/sece-it-dev.local 001-sece-it-dev.local.conf /etc/hosts anpassen, damit die Entwicklungsseiten auf spica nicht im Internet gesucht werden:
127.0.0.1 sece-it-dev.localIn den Proxy-Einstellungen des Browsers muss die verwendete Domain ".local" vom Proxys ausgenommen werden Ich habe die Aliase in den einzelnen sites-available so gestaltet, dass diese auf allen wichtigen Rechnern
ohne weitere Veränderung passen sollten. Aussehen der Datei im AnhangDa ich testhalber über Reverse Proxy auf eine Webcam zugreife, muss der mod_proxy aktiviert werden: # a2enmod proxy # a2enmod proxy_http # systemctl restart apache2Falls der Apache (der ein anderer Dienst) nicht startet, kann man mit # systemctl status apache2.serviceoder # journalctl -xeDetails erfahren DatenbankenPrinzipiell werden die SQL-Dateien auf den neuen Rechner kopiert, die Datenbanken erzeugt, Grants eingerichtet und dann die SQL-Dateien eingespielt:# mysql -uroot -pPASSWD -e "CREATE DATABASE DBNAME DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci;" # mysql -uroot -pPASSWD -e "GRANT ALL PRIVILEGES on DBNAME.* TO USER@localhost identified by 'PASSWD';" # mysql -uUSER -pPASSWD DBNAME < /tmp/DBNAME.sqlIch habe das ganze in einem Skript namens restoreDB verpackt, das alle nötigen Datenbanken des jeweiligen Rechners erzeugt und befüllt. Dazu müssen unter /home/go/backupDBs/RECHNERNAME alle für diesen Rechner
vorgesehenen Datenbanken in der Form DBNAME.sql liegen.
WLANum WLAN in Betrieb zu nehmen, braucht man beim T450s einen Firmwareblob. Ausserdem muss WLAN im BIOS aktiviert sein. Dann sieht man mitiwconfig die WLAN-Hardware. mit ip link set interface up wird es gestartet. Da dies bei mir nicht
anstandslos funktionierte, verwendete ich den im Internet gefundenen Trick mit rfkill . Anschliessend kann man mit
iwlist scan alle Netzwerke in Reichweite scannen.
# apt-get install firmware-iwlwifi # iwconfig # ip link set wlp3s0 up # rfkill unblock all # iwlist scan |