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

Re: Om debian på desktoppen



Den 06.05.2024 kl. 15.18 skrev Povl Ole Haarlev Olsen:
On Mon, 6 May 2024, Flemming Bjerke wrote:
Jeg har adskillige gange opgivet debian på desktoppen fordi jeg ustandselig fik problemer med alt muligt der ikke rigtig virkede, bl.a. programmer som ikke fungerede og ikke kunne opdateres pga. debians restriktioner på hvornår programmer kunne blive stable. (Jeg har dog ikke prøvet bookworm af.) Jeg har så valgt at køre med kubuntu i årevis.

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



"dia" er, så vidt jeg kan se, ikke i backports, men måske kunne det bruges med nogle af de andre programmer, hvor du ønsker en nyere version.

Jeg er meget tilfreds med at køre et debian system (sources er primært debian stable), for jeg har normalt ikke brug for de nyeste versioner af forskelligt software. Derimod er stabiliteten vigtig for mig. Men ind i mellem får man brug for en nyere version af et program. F.eks. er bookworm's version af  dia håbløst buggy. Så fandt jeg på at chroot til min kubuntu som ligger (passivt)

Hvordan ved du, at bookworms dia er buggy, hvis du ikke har prøvet bookworm?

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)

....
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?



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



Hvilken fejlbesked får du?

chroot --userspec=flem:flem /a2
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

bash: /root/.bashrc: Adgang nægtet

Som det fremgår, virker det ikke som at bruge: "su bruger" idet man ikke får adgang til det brugeren normalt har adgang til. Så uanset man er bruger (og altså ikke root), kan man f.eks. ikke køre dia:

------------

flem@baren:/$ whoami
flem
flem@baren:/$ dia

** (dia:102168): CRITICAL **: 08:48:13.495: Could not create per-user Dia configuration directory
----------

På nettet fandt Jeg en måde at omgå dette på:

bash -c "HOME=<jailed home> chroot --userspec=<user>:<group> <chroottarget> /bin/bash -i"

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"
umount /a2/home

Med dette skript kan jeg afvikle et program på min ubuntu-partition. F.eks.

./chroot-program.sh dia

Og hvis man ikke angiver et program, startes en kommandoprompt. Overordentlig nyttigt.

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

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


........

Nu kan jeg starte f.eks. kubuntus dia (og libreoffice) fra en terminal, og hvis jeg gør det med et & efter, fungerer fungerer programmet videre selv efter exit fra chroot.

Hvad synes I om min løsning?

Jeg har haft noget i samme stil (med /home bind-mounted) for at kunne bruge en ældre version af bl.a. xpra.

Jeg havde alle mine bind-mounts i /etc/fstab og en desktop launcher, der "run in terminal" kørte

su -c "chroot /opt/wheezy /bin/su - stderr -c /usr/bin/xfce4-terminal & bg"

(Med --userspec ville den linie sikkert kunne skæres kraftigt ned.)

Launcher'en startede en terminal og alt startet i den terminal blev kørte fra en wheezy installation, jeg havde debootstrap'et i /opt/wheezy.

Det virkede fint til mit formål.

Sejt!


Det er selvfølgelig ikke uproblematisk at køre to forskellige systemer på samme home-partition, men hvis man ikke bruger samme programmer på dem, burde det vel ikke skabe de store problemer?

Hvis programmer opførte sig nogenlunde pænt, ville det heller ikke være noget problem, at køre de samme programmer på samme homedir.

Da jeg var studerende var vores homedirs mountet på Linux, HP-UX, IRIX, Solaris, ... og jeg tænkte ikke ret meget over, om jeg kunne tillade mig, at starte et program på en given platform eller ej.

Men jeg ved godt, at der er nogle programmer, der meget gerne vil lave en "upgrade" af deres config i ~/.config uden at tænke over, at man måske deler sit homedir mellem mange forskellige installationer. Det er eet af problemer ved, at nogen ikke længere ser Linux som et multi-user system i UNIX-familien.

Tak!

Flemming


--
Flemming TH Bjerke Tlf. 22120366

Reply to: