[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Om debian på desktoppen



On Tue, 7 May 2024, Flemming Bjerke wrote:
Den 06.05.2024 kl. 15.18 skrev Povl Ole Haarlev Olsen:
Har du prøvet Debian backports?
Fordi jeg ikke orker at styre det:
It is recommended to pick out single backports which fit your needs, and not to use all backports available.
https://wiki.debian.org/Backports

Jeg er ikke sikker på, at jeg ved hvorfor du mener det er besværligt at styre.

Du installer en pakke som normalt. ("dia" er, som sagt, ikke i backports, men da du ikke har nævnt andre pakker, bruger jeg alligevel den som eksempel.)

Du opdager, at "dia" fra stable af den ene eller anden grund ikke er "god nok".

Din løsning har været noget med at køre dia fra en Kubuntu chroot.

Med backports beder du i stedet pakkesystemet om at installere dia fra backports. Enten vha.

apt install dia/bookworm-backports

(hvor du kun får "dia" fra backports, men ikke eventuelle dependencies)

eller vha.

apt -t bookworm-backports install dia

(hvor både "dia" og eventuelle dependencies bliver installeret fra backports)

Og... Det er vist det.

Nyeste Q2OS er baseret på bookworm med nogle systemændringer.
ls /etc/apt/sources.list.d/
10_q4os.list  20_debian.list  30_debian_backports.list
(backports er ikke aktiveret)

Hint: Hvis man vil disable en fil i /etc/apt/sources.list.d/ uden at pille i selve filen, kan man nøjes med at rename filen, så den ikke hedder *.list, f.eks. hedder nogle af mine *.list.disabled

chroot /a2 mount /dev/sda4 /home
Hvad er grunden til, at du ikke bind-mounter /home?
Det er vel også det rigtigste at bruge bind. Men gør det nogen forskel?

Med bind-mount burde der kun være een version af filesystem koden i brug og derfor også kun een ting, der snakker med /dev/sda4. Mens der med et "rigtigt" mount kunne være to versioner filesystem koden i brug, en for /home og en for /a2/home, og derfor to ting, der prøver at snakke med /dev/sda4 samtidig.

Jeg har ikke checket, om det kunne give problemer. Det var lettere bare at bruge et bind-mount og slippe for at tænke over den slags ting.

chroot /a2  #Her kan man udføre alle mulige kommandoer. Skriptet venter til man kører: exit.
#chroot --userspec=flem:flem /a2 (fungerer ikke - forstår ikke hvorfor)
Hmm, hvorfor har jeg ikke hørt om --userspec før?!
man chroot

Ja, jeg er godt klar over, at det selvfølgelig står i man siden. Men hvem læser man sider, når ens script virker "fint"? :-)

Og nu kan mit skript forenkles ganske meget:
#!/bin/bash
mount --bind /home /a2/home
bash -c "HOME=/home/flem chroot --userspec=flem:flem /a2 $1"

Med "$@" i stedet for "$1" burde du også kunne give din kommando argumenter, f.eks. bede dia om at åbne en specifik fil.

Det virker ikke som om man behøver mount --bind /sys osv. Faktisk fik jeg lidt problemer når jeg gjorde det fordi alt i /dev/pts/ forsvandt. Hvorfor fatter jeg ikke, men det har nok noget at gøre med:
While ‘chroot’ is a powerful tool, it’s not a security measure by itself. Processes that are running as root can break out of the chroot jail.
https://hopeness.medium.com/master-the-linux-chroot-command-a-comprehensive-guide-f2026f913726

Ok, det er ikke noget, jeg selv har oplevet, men det er efterhånden også et godt stykke tid siden jeg sidst brugte chroot, så måske er noget blev ændret.

Men jeg skal nok ikke opdatere kubuntu via chroot ... Risikerer jeg ikke at der kommer ged i kernen og boot ... osv.?

Jeg har ikke haft /boot mountet i mine chroots, så den slags har jeg aldrig tænkt nærmere over. Hvis et chroot ville ændrer i hvad det troede var /boot, så var det i virkelighed f.eks. /opt/wheezy/boot og ikke det rigtige /boot.

--
Povl Ole

Reply to: