Onderwerp: systemd tips & trucs

Omdat iedereen zolangzamerhand naar systemd overgaat, leek het me aardig een systemd tips & trucs topic te hebben. Voor gal spuwen is er al een ander draadje, dus het zou mooi zijn als dat daar kan wink.

Anyway, laat ik maar een eerste bijdrage doen. Het viel me op dat op dat na een versie Debian Sid (systemd 230) m'n netwerk interface geen eth0 meer heet, maar enp0s25. Blijkbaar is dit een schema dat eerst door Dell geïntroduceerd is. Het probleem is dat de ouderwetse interface-volgorde afhankelijk is van de volgorde waarom devices op de bus actief worden en er dus via hotplugging een driver geladen wordt, etc. Dus op een systeem met meerdere interfaces kan eth0 opeens eth1 zijn (en vice versa). Ik heb dat vroeger wel eens gehad, heel erg irritant. Anyway, de fix is de interface-naam te baseren op bijv. de PCI/bus (zoals enp0s25), zodat de namen stabiel blijven:

https://www.freedesktop.org/wiki/Softwa … faceNames/

Uiteraard werkt die voor dingen als USB Wifi minder fijn. Maar daar is de configuratie toch meestal: DHCP en firewall dicht.

Mensen die liever ouderwetse interfaces hebben kunnen deze voorspelbare interfaces uitschakelen met de net.ifnames=0 kernel parameter. Je kunt ook makkelijk eigen interfacenamen definiëren in systemd bijv. op basis van een MAC adres:

https://www.freedesktop.org/software/sy … .link.html

2 Laatst bewerkt door devtroll (03 Jul 2016 21:01:18)

Re: systemd tips & trucs

Ja, die namen van NICS zijn best handig..Totdat, VMware het verkloot en ineens de device namen veranderen ;-). Maar goed, ik heb ook wel eens met Linux in het DC gestaan: Netwerk kaarten eruit getrokken. Vervangen en daarna schoot eth0 naar eth1 en andersom. Was een leuke brainfuck op de datavloer ;-).

Ik heb nog een andere leuke:
http://linuxconfig.org/how-to-configure … at-7-linux

en als je toch je bak aan het optimaliseren ben, dan  kan je niet zonder: $ systemd-analyze blame

De namen van devices worden nog belangrijker met cryptsetup en het aanbieden van een sleutel, hoewel niet systemd, wordt het steeds lastiger om bepaalde waarde te onthouden.
$  ls -l /dev/disk/by-uuid . Dit kwartje viel laatst toen ik ergens een waarschuwing voorbij zag schieten.

ACAB: All computers are broken. https://medium.com/message/everything-i … e5f33a24e1 "I've decided that you need gray hair and hemorrhoids to be a consultant.
The gray hair makes you look distinguished & the hemorrhoids make you look concerned."

3 Laatst bewerkt door QzZRBNMdJdsCmwx (04 Jul 2016 10:17:57)

Re: systemd tips & trucs

devtroll schreef:

$  ls -l /dev/disk/by-uuid . Dit kwartje viel laatst toen ik ergens een waarschuwing voorbij zag schieten.

Hmja, schijven hebben inderdaad ditzelfde irritante probleem. Laatste Debian geïnstalleerd vanaf USB stick. Heeft doodleuk de traditionele sd[a-z] namen gebruikt. Na de installatie andere volgorde van probing en er kunnen allerlei filesystems not gemount worden. UUIDs zijn handig, maar vrij irritant wanneer je een machine hebt zonder muis (want te lang). Dan maar weer terug naar ouderwetse labels tongue.

Het zou mooi zijn als je UUIDs ook gedeeltelijk op zou mogen geven (als git commit hashes), want de kans dat op mijn systeem er twee schijven zijn met dezelfde eerste zes digits in een UID neem ik voor lief wink.

Misschien moeten bij schijven ook dezelfde methodiek gebruikt worden, PCI bus X, slot Y, SATA connector Z.

Re: systemd tips & trucs

devtroll schreef:

[knip]
$  ls -l /dev/disk/by-uuid . Dit kwartje viel laatst toen ik ergens een waarschuwing voorbij zag schieten.

Thanks! Goeie tip. Het geeft bij mij ook de oude "sdX" benamingen op deze eenvoudige manier:

$ ls -l /dev/disk/by-id

total 0
lrwxrwxrwx 1 root root  9 jul  4 11:44 ata-ST1000DM003-1ER162_W4Y0TFZ4 -> ../../sda
lrwxrwxrwx 1 root root 10 jul  4 11:44 ata-ST1000DM003-1ER162_W4Y0TFZ4-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 jul  4 11:44 ata-ST1000DM003-1ER162_W4Y0TFZ4-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 jul  4 11:44 ata-ST1000DM003-1ER162_W4Y0TFZ4-part3 -> ../../sda3
lrwxrwxrwx 1 root root  9 jul  4 11:44 ata-TSSTcorp_CDDVDW_SH-224DB_R93E6YAF300ESE -> ../../sr0
lrwxrwxrwx 1 root root  9 jul  4 11:44 wwn-0x5000c5007c5f4029 -> ../../sda
lrwxrwxrwx 1 root root 10 jul  4 11:44 wwn-0x5000c5007c5f4029-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 jul  4 11:44 wwn-0x5000c5007c5f4029-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 jul  4 11:44 wwn-0x5000c5007c5f4029-part3 -> ../../sda3
Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

Re: systemd tips & trucs

MeneerJansen schreef:

Thanks! Goeie tip. Het geeft bij mij ook de oude "sdX" benamingen op deze eenvoudige manier:

Je kunt alles ook als een mooi boompje krijgen. Zonder UUID: lsblk, met UUID: lsblk -f, in machine-verwerkbaar formaat: blkid

Re: systemd tips & trucs

maikel in ~/Documents/λ lsblk -f

NAME              FSTYPE LABEL UUID MOUNTPOINT
sda                                 
├─sda1                              /boot
├─sda2                              
└─sda5                              
  └─sda5_crypt                      
    ├─lucy-root                     /
    └─lucy-swap_1                   [SWAP]

Hmm, geen UUID

ACAB: All computers are broken. https://medium.com/message/everything-i … e5f33a24e1 "I've decided that you need gray hair and hemorrhoids to be a consultant.
The gray hair makes you look distinguished & the hemorrhoids make you look concerned."

7 Laatst bewerkt door QzZRBNMdJdsCmwx (04 Jul 2016 13:39:05)

Re: systemd tips & trucs

Weirdness, want een strace hier zegt dat lsblk ook by-id gebruikt:

% strace -f lsblk -f 2>&1  | grep by-id
read(7, "S:disk/by-id/wwn-0xbababababa"..., 4096) = 1881
[...]

Zal wel iemand ergens een interface hebben veranderd.

8 Laatst bewerkt door MeneerJansen (04 Jul 2016 18:16:40)

Re: systemd tips & trucs

Ook mooie tip, van die lsblk.

$ lsblk -f
NAME   FSTYPE  LABEL       MOUNTPOINT
sda                        
├─sda1                     [SWAP]
├─sda2                     
└─sda3                     /
sr0    iso9660 Dingoo roms /media/jansen/Dingoo roms

(ik zie dus ook de UUID's niet...)

Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

9 Laatst bewerkt door devtroll (04 Jul 2016 20:15:24)

Re: systemd tips & trucs

De Rhel versie heeft het wel!

NAME                                          FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                                                    
├─sda1                                        ext4              0c88925f-172ed   /boot
└─sda2                                        crypto_LUKS       83896   
  └─luks-838962 LVM2_member       lkMWA1-dGrF-2y
    ├─fedora_blaat-root                      ext4              8ac380cc-24c3-441a7   /
    └─fedora_blaat-swap                      swap              ba3a6   [SWAP]
sdb                                                                                                    
├─sdb1                                        ext4              541f29e7-4   
└─sdb2                                        crypto_LUKS       6ceb193a6   
  └─sdb2_crypt                                LVM2_member       Lq0MsF-f0jr-Lg5Q-LQG
    ├─lvmpool-swap                            swap              87cb8861-a47f-4b83-7b67064e3186   
    └─lvmpool-home                            ext4              1a35af40e-cad7b0904c93   /home

En Ja, ik heb hier in wat geknipt. Weet zelf niet hoe gevoelig deze UUID's zijn.

Als je trouwens helemaal onbekend ben met systemd en je gaat er mee aan de slag, dan kan het geen kwaad om de artikelen van dhr Poetering zelf te lezen:
http://0pointer.de/blog/projects/systemd.html

ACAB: All computers are broken. https://medium.com/message/everything-i … e5f33a24e1 "I've decided that you need gray hair and hemorrhoids to be a consultant.
The gray hair makes you look distinguished & the hemorrhoids make you look concerned."

Re: systemd tips & trucs

Ik krijg de uids ook wel.

$ lsblk -f
NAME   FSTYPE LABEL       UUID                                 MOUNTPOINT
sda                                                           
├─sda1 ext2   Boot 0cab2e64blablab5-a9ee-a17eba9ff959 /boot
├─sda2 ext4   Root ea09938ablablae3e-8f44-a10f8d35806a /
├─sda3                                                         
└─sda5 swap   Swap c21541fc-0poepf9-8cc3-2b1a7944d4db [SWAP]

Re: systemd tips & trucs

Nog een tip. systemd doet parallelle mounts (één van de redenen waarom de boot-tijden zoveel korter zijn). Alleen soms levert dat problemen op door bugs/assumpties in filesystem code. Bijv. uit mijn fstab:

UUID=<uuid> /data           btrfs   relatime                 0       0
UUID=<uuid> /var/lib/machines btrfs relatime,subvolume=@machines  0       0

Dit leidde er vaak (niet-deterministisch) toe dat het booten niet succesvol verliep, beide entries hebben dezelfde UUID. btrfs verwachtte dat de root filesystem voor de subvolume @machines geladen werd. Bij parallel mounten levert dit problemen op. Er is een eenvoudige fix, je kunt een filesystem optie toevoegen die een dependency aangeeft:

UUID=<uuid> /data           btrfs   relatime                 0       0
UUID=<uuid> /var/lib/machines btrfs relatime,subvolume=@machines,x-systemd.requires=data.mount  0       0

Nu wordt de @machines subvolume altijd na de root volume van dat filesystem gemount.

Overigens is dit een bekende bug in btrfs:

https://github.com/systemd/systemd/issues/927
https://patchwork.kernel.org/patch/8958861/

(Grappige is overigens dat ik in tegenstelling tot de gelinkte bug geen ro filesystem heb, maar het zou kunnen zijn dat btrfs als ro begint, journal afspeelt, en dan rw mount... Geen idee.)