smarken blog

Digital Sovrignty, Privacy, EU Law & Legislation, IT, Linux

Linux Fil struktur

- Indlæg i Linux - Generelt af

Linux-filsystemet

Roden og navigation

Linux-filsystemet er en kryptisk labyrint af mapper defineret af Filesystem Hierarchy Standard (FHS). Man navigerer med kommandoen cd (change directory). cd / bringer dig til roden. Med ls kan du se indholdet af en mappe.

Programfiler (binærer)

  • /bin – binærer/eksekverbare filer, der er essentielle for hele operativsystemet. De kan køres fra kommandolinjen når som helst, fx gzip, curl og ls-kommandoen selv.
  • /sbin – systembinærer, som kun bør køres af root-brugeren, fx mount eller deluser.
  • /lib – biblioteker (libraries), som mange af binærerne deler.
  • /usr/bin og /usr/sbin – binærer og programmer, der ikke er essentielle for selve operativsystemet, men er beregnet til slutbrugeren.
  • /usr/local – binærer, du kompilerer manuelt; et sikkert sted, der ikke konflikter med software installeret via systemets pakkehåndtering.

Alle disse binærer samles via PATH-miljøvariablen – derfor kan du køre dem fra enhver mappe i terminalen. Brug which efterfulgt af et programnavn for at se, hvor en binær ligger i filsystemet.

Konfiguration og brugere

  • /etc – "Editable Text Configuration" – konfigurationsfiler. Mange ender på .conf og er typisk almindelige tekstbaserede filer, du kan redigere i din editor.
  • /home – Linux understøtter flere brugere. Her findes en mappe pr. bruger med filer, konfiguration og software. Du skal være logget ind som brugeren (eller root) for at ændre den. Stien vises som ~ (tilde) – dit normale udgangspunkt, når du åbner en terminal.

Øvrige mapper i roden

Mappe Indhold
/boot Filer nødvendige for at boote systemet, selve Linux-kernen
/dev Enhedsfiler – her kan du tale med hardware/drivere, som var de almindelige filer (fx lave diskpartitioner)
/opt Valgfri/add-on-software – bruges sjældent
/var Variable filer, der ændrer sig under brug, fx logs og cache
/tmp Midlertidige filer, der ikke overlever genstarter
/proc Den mærkeligste: et virtuelt filsystem, der ikke findes på disken, men skabes i hukommelsen af kernen til at holde styr på kørende processer

Oversat og omorganiseret fra den transskriberede video af Mistral

Transcript

00:00 the Linux file system. It's a cryptic 00:03

00:03 labyrinth of directories defined by the 00:05

00:05 file system hierarchy standard. Navigate 00:08

00:08 through it with the change directory 00:09

00:09 command. CD forward slash drops you into 00:12

00:12 the root. Then with the ls command, we 00:14

00:14 can list out the contents of this 00:15

00:15 directory. First, we have the bin 00:17

00:17 directory which contains binaries or 00:19

00:19 executables that are essential to the 00:21

00:21 entire operating system. You can run 00:23

00:23 these binaries from the command line at 00:25

00:25 any time. Things like gzip, curl, and 00:27

00:27 even the ls command that we just ran. 00:29

00:29 But confusingly, there's also an espin 00:32

00:32 directory. It contains system binaries 00:34

00:34 that should only be executed by the root 00:36

00:36 user like mount or delete user. Many of 00:38

00:38 these binaries may share common 00:40

00:40 libraries which are stored in the lib 00:42

00:42 directory. Now, we also have a usr user 00:45

00:45 directory with its own bin and sbin 00:48

00:48 directories. The binaries or 00:49

00:49 applications here are non-essential to 00:51

00:51 the operating system itself and intended 00:53

00:53 for the end user. You'll also notice a 00:56

00:56 local directory under user. It contains 00:58

00:58 any binaries that you compile manually 01:00

01:00 to provide a safe place that won't 01:02

01:02 conflict with any software installed by 01:04

01:04 a system package manager. All these 01:06

01:06 binaries get mapped together with the 01:08

01:08 path environment variable. And that's 01:09

01:09 why you can execute them from any 01:11

01:11 directory in the terminal. If you ever 01:13

01:13 want to know where a binary lives, run 01:15

01:15 which followed by the binary name to 01:17

01:17 view its full path in the file system. 01:19

01:19 Now, at some point, you may want to 01:20

01:20 customize the behavior of the software 01:22

01:22 on your system. The etc directory stands 01:24

01:24 for etc or editable text configuration. 01:27

01:27 Many of these files end in domp and 01:29

01:29 they're typically just textbased config 01:31

01:31 files that you can modify in your 01:33

01:33 editor. As an operating system, Linux 01:35

01:35 can support multiple users. In the home 01:37

01:37 directory, you'll find a folder named 01:39

01:39 after each user registered on the 01:41

01:41 system. It contains the files, 01:42

01:42 configuration, and software for that 01:44

01:44 user, and you need to be logged in as 01:46

01:46 that user or as a root user to modify 01:48

01:48 it. Notice how the file path is a 01:50

01:50 squiggly. That's your normal starting 01:52

01:52 location when you open up a terminal 01:53

01:53 session. Now, let's go back to the root. 01:55

01:55 There are a few more directories here 01:57

01:57 that we haven't talked about yet, like 01:59

01:59 boot. It contains the files needed to 02:01

02:01 boot the system, like the Linux kernel 02:02

02:02 itself. Then, we have deb, which stands 02:05

02:05 for device files. Here, you can 02:06

02:06 interface with hardware or drivers as if 02:08

02:08 they were regular files. You might 02:10

02:10 create disk partitions here or interface 02:12

02:12 with your floppy drive. The op directory 02:14

02:14 contains optional or add-on software, 02:16

02:16 and you'll rarely interact with it. Var 02:19

02:19 contains variable files that will change 02:21

02:21 as the operating system is being used. 02:23

02:23 Things like logs and cache files. Temp 02:26

02:26 is for temporary files that won't be 02:28

02:28 persisted between reboots. And finally, 02:30

02:30 we have the weirdest one of all. The 02:31

02:31 proc directory is an illusionary file 02:34

02:34 system that doesn't actually exist on 02:35

02:35 the disk, but is created in memory on 02:38

02:38 the fly by the Linux kernel to keep 02:40

02:40 track of running processes. This has 02:42

02:42 been the Linux file system and thanks 02:43

02:43 for watching and I will see you in the 02:45

02:45 next

Kan du huske Ghost ?

- Indlæg i Linux - Generelt af

Kan du huske Ghost ?

-altså det der software "alle" IT folk brugte til at lave harddisk cloning og deploy med, og som så blev opkøbt af Norton for så at dø ud ...

MEN der er en Open Source løsning : FOG (Free and Opensource Ghost)

Jeg har indkluderet det i min wiki under client deploy

https://wiki.smarken.dk/doku.php?id=teknik:infrastruktur:clientdeploy

Med FOG har du en server med dine harddisk images, som kan køres på en pc bare den har network boot (ofte F11/F12) via PXE/iPXE, og dét er faktisk en smule smartere end den oprindelige ghost-server, hvor man fysisk skulle ha' en usb/floppy i hver maskine man ville rulle image på.

Image der rulles på kan så være en original backup af PC'ens harrdisk, eller en ny-installation, som så igen kan være en scriptet Linux installation, eller dit Linux standard image.. (eller sågar windows PE/ standard image/backup)

Gregory Gibson (MUO) har lavet et PoC som han gennemgår her:

https://www.makeuseof.com/built-network-recovery-server-my-homelab-pcs-have-an-undo-button/

FOG project :

https://docs.fogproject.org/en/latest/introduction/

IT's FOSS :

Rettelserne dækker et enormt udvalg af kernekomponenter, herunder XFS, Btrfs, Netfilter, Bluetooth, KVM, NVMe, CIFS/SMB, Wi-Fi, IOMMU, RDMA samt flere netværksdrivere.

Mange af sårbarhederne involverer almindelige hukommelsessikkerhedsproblemer, såsom use-after-free-fejl, adgang uden for grænser, NULL-peger-derefereringer, kapløbsbetingelser, reference-lækager og utilstrækkelig inputvalidering.

Den renoverede hastighed og omfang af afsløringerne understreger også den voksende rolle, som automatiseret og AI-assisteret sikkerhedsforskning spiller i opdagelsen af sårbarheder på tværs af store open-source-projekter.

AI-værktøjer kan analysere års kodehistorik, identificere mistænkelige hukommelseshåndteringsmønstre, sammenligne rettelser på tværs af stabile grene og afdække fejl, som ville være svære at finde manuelt. Men en sårbarhed skal stadig valideres, rettes, backportes og korrekt offentliggøres af vedligeholdere.

Ikke alle CVE'er er fjernudnytbare eller udgør en kritisk sikkerhedstrussel. Mange kræver specifik hardware, privilegier, kerne-moduler eller adgang til et bestemt undersystem. Alligevel er denne massive bølge af rettelser en påmindelse om, hvor meget kode Linux-kernen skal vedligeholde, og hvordan AI-assisteret sikkerhedsforskning kunne ændre opdagelsen af sårbarheder i fremtiden.

source -

https://lore.kernel.org/linux-cve-announce/

https://www.facebook.com/share/p/1HwKbubUdC/

Ny "My Computer" extension til Nautilus (Nautilus er default Gnome Filemanager)

Som ny Linux bruger oplever folk ofte at det ikke lige LIGNER det de er vandt til, og det kan nok virke frustrerende. En feature som nogle kan mangle i Nautilus, som er Gnome-desktoppens default file-manager er muligheden for at se alle tilknyttede drev ét centralt sted.

IT'S FOSS har lavet en beskrivelse af "Denne PC" til Nautilus -udvidelsen, som jeg kort resumerer nedenfor https://itsfoss.com/nautilus-my-computer/


Baggrund

Windows' "My Computer" (nu "This PC") giver et centralt overblik over drev, mapper (f.eks. Dokumenter, Billeder) og monterede enheder. GNOME/Nautilus havde tidligere en "Other Locations"-side, der samlede netværksdrev, cloud-lagring og lokale partitioner. Fra GNOME 47 blev denne side fjernet, og drev flyttet til sidepanelet.

Løsning: My Computer for Nautilus Et udvidelsesmodul til Nautilus, der genindfører en dedikeret "Computer"-visning med ekstra tilpasningsmuligheder.

Hovedfunktioner

Dedikeret "Computer"-side

Samler drev, partitioner, fjernmedier og netværksmonteringer ét sted. Kan indstilles til at åbne som standardvisning i Nautilus.

Tilpasning af indhold

Skjul sektioner som "Preferred Folders", "Network" eller "Removable Media" for at matche arbejdsflow.

Miller Columns

MacOS Finder-lignende navigation: Mapper udvides i nye kolonner i stedet for nye vinduer. Inkluderer forhåndsvisningspane til billeder/videoer.

Tilpas sidepanelet

Skjul standardindgange som "Recents" eller "Starred" for et renere layout.

Farvetilpasning af lagerbjælker

Ændr farverne på lagerbrugsindikatorer via gradient-indstillinger.

Installation

Ubuntu 26.04+:

bash

sudo add-apt-repository ppa:yannmasoch/nautilus-my-computer sudo apt update && sudo apt install nautilus-my-computer

Fedora:

bash

sudo dnf copr enable yannmasoch/nautilus-my-computer sudo dnf install nautilus-my-computer

Andre distributioner (inkl. Arch):

bash curl -fsSL https://raw.githubusercontent.com/yannmasoch/nautilus-my-computer/main/install.sh | sh

Konklusion

Fordele: Genindfører et centralt overblik og tilføjer fleksibilitet (Miller Columns, tilpasning). Målgruppe: Brugere, der savner den gamle "Other Locations"-side eller ønsker mere kontrol over Nautilus.

TUXEDO har besluttet at droppe Ubuntu som base for deres Linux-distribution og i stedet skifte til Debian Testing.


Årsagerne inkluderer:

  • Tekniske udfordringer med at integrere ny software (f.eks. Plasma 6.7) på ældre Ubuntu LTS-baser, hvor afhængigheder og biblioteker (som Qt) bliver forældede.

  • Canonicals strategi, herunder tvungen integration af Snap-pakker, manglende gennemsigtighed omkring AI-planer, og forsinkede sikkerhedsopdateringer.

Fordele ved Debian:

  • Større uafhængighed – Debian er community-drevet og fri for én virksomheds kontrol.

  • Continuous Debian-model: TUXEDO OS vil permanent bruge Debian Testing som base, hvilket giver en kontinuerligt opdateret, men stabil platform.

  • Btrfs som standard – Automatiske system-snapshots via Snapper gør det nemt at gendanne systemet, hvis opdateringer eller ændringer går galt.


For nuværende brugere:

Daglig brug forbliver næsten uændret (samme pakkehåndtering og struktur). Ren installation kræves – Der vil ikke være en pålidelig opgraderingssti fra Ubuntu-baserede versioner. En migreringsvejledning og en mulighed for at skifte til Kubuntu 26.04 vil blive tilbudt. Beta-test starter snart, og der kommer yderligere blogindlæg om kerne-strategi, gaming, design og enterprise-brug.

If you don’t like the basic loading screen of your OS and you want to pimp it up a bit, you might want to check Plymouth and it’s themes.

It supports nice screen for entering your LUKS password - much nicer than the default one.

https://piotrnowicki.com/posts/2024-06-17/plymouth-customize-linux-loading-splashscreen/