mount.ddi(1)
NAMN
systemd-dissect, mount.ddi – dissekera Discoverable Disk Images (DDI:er)
SYNOPSIS
systemd-dissect [OPTIONS...] IMAGE systemd-dissect [OPTIONS...] [--mount] IMAGE PATH systemd-dissect [OPTIONS...] [--umount] PATH systemd-dissect [OPTIONS...] [--attach] IMAGE systemd-dissect [OPTIONS...] [--detach] PATH systemd-dissect [OPTIONS...] [--list] IMAGE systemd-dissect [OPTIONS...] [--mtree] IMAGE systemd-dissect [OPTIONS...] [--with] IMAGE [COMMAND...] systemd-dissect [OPTIONS...] [--copy-from] IMAGE PATH [TARGET] systemd-dissect [OPTIONS...] [--copy-to] IMAGE [SOURCE] PATH systemd-dissect [OPTIONS...] [--make-archive] IMAGE [TARGET] systemd-dissect [OPTIONS...] [--discover] systemd-dissect [OPTIONS...] [--validate] IMAGE systemd-dissect [OPTIONS...] [--shift] IMAGE UIDBASE
BESKRIVNING
systemd-dissect är ett verktyg för att introspektera och interagera med filsystemsbaserade OS-diskavbilder, särskilt Discoverable Disk Images (DDI:er).
Det stöder fyra olika operationer:
- Visa allmän OS-avbildsinformation, inklusive avbildens os-release(5)-data, maskin-ID, partitionsinformation med mera.
- Montera en OS-avbild till en lokal katalog. I detta läge dissekerar det OS-avbilden och monterar de inkluderade partitionerna enligt deras beteckning på en katalog och möjligen underkataloger.
- Avmontera en OS-avbild från en lokal katalog. I detta läge avmonterar det rekursivt de monterade partitionerna och tar bort den underliggande loop-enheten, inklusive alla partitionsunderenheter.
- Kopiera filer och kataloger in i och ut ur en OS-avbild.
Verktyget kan arbeta med tre typer av OS-avbilder:
- OS-diskavbilder som innehåller ett GPT-partitionstabellhölje, med partitioner markerade enligt UAPI.2 Discoverable Partitions Specification[1].
- OS-diskavbilder som bara innehåller ett vanligt filsystem utan omslutande partitionstabell. Detta filsystem antas vara OS:ets rotfilsystem.
- OS-diskavbilder som innehåller en GPT- eller MBR-partitionstabell, med endast en enda partition. Denna partition antas innehålla OS:ets rotfilsystem.
OS-avbilder kan använda alla slags filsystem som stöds av Linux. Dessutom kan de använda LUKS-diskkryptering och innehålla Verity-integritetsinformation.
Observera att kvalificerade OS-avbilder kan startas med växeln --image= i systemd-nspawn(1), och användas som rotfilsystem för systemtjänster med enhetsfilsinställningen RootImage=, se systemd.exec(5).
Observera att partitionstabellen som visas när kommandot anropas utan kommandoväxel inte nödvändigtvis visar alla partitioner som finns i avbilden, utan endast de partitioner som förstås och betraktas som del av en OS-diskavbild.
Specifikt ignoreras partitioner av okända typer, liksom duplicerade partitioner, det vill säga fler än en per partitionstyp, samt root- och /usr/-partitioner för arkitekturer som inte är kompatibla med det lokala systemet.
Med andra ord visar detta verktyg vad det arbetar med när avbilden monteras. För att visa den fullständiga listan över partitioner, använd ett verktyg som fdisk(8).
Kommandot systemd-dissect kan anropas som mount.ddi, varvid det implementerar mount(8)s gränssnitt för "external helper". Detta säkerställer att diskavbilder som är kompatibla med systemd-dissect kan monteras direkt av mount och fstab(5). För detaljer, se nedan.
I stället för avbildssökvägen kan en versionshanterad katalog ".v/" anges, se systemd.v(7) för detaljer.
KOMMANDON
Om ingen av kommandoväxlarna nedan skickas öppnas den angivna diskavbilden och allmän information om avbilden och de inneslutna partitionerna och deras användning visas.
--mount, -m
- Montera den angivna OS-avbilden till den angivna katalogen.
- Detta dissekerar avbilden, bestämmer OS:ets rotfilsystem – samt eventuellt andra partitioner – och monterar dem till den angivna katalogen.
- Om OS-avbilden innehåller flera partitioner markerade med UAPI.2 Discoverable Partitions Specification[1] upprättas flera nästlade monteringar.
- Detta kommando förväntar sig två argument: en sökväg till en avbildsfil och en sökväg till en katalog där avbilden ska monteras.
- För att avmontera en OS-avbild som monterats så här, använd operationen --umount.
- När OS-avbilden innehåller LUKS-krypterade eller Verity-integritetsskyddade filsystem ställs lämpliga volymer automatiskt in och markeras för automatisk nedmontering när avbilden avmonteras.
- OS-avbilden kan antingen anges som sökväg till en OS-avbild lagrad i en vanlig fil eller hänvisa till en blockenhetsnod. I det senare fallet måste blockenheten vara hela enheten, alltså inte en partitionsenhet. De andra stödda kommandona som beskrivs här stöder också detta.
- Alla monterade filsystem kontrolleras med lämplig fsck(8)-implementation i automatiskt reparationsläge, om detta inte uttryckligen stängs av med --fsck=no eller skrivskyddad operation begärs med --read-only.
- Observera att denna funktionalitet också är tillgänglig i mount(8) via ett kommando som:
mount -t ddi myimage.raw targetdir/
- samt i fstab(5). För detaljer, se nedan.
- Tillagt i version 247.
-M
- Detta är en genväg för --mount --mkdir.
- Tillagt i version 247.
--umount, -u
- Avmontera en OS-avbild från den angivna katalogen.
- Detta kommando förväntar sig ett argument: en katalog där en OS-avbild var monterad.
- Alla monterade partitioner avmonteras rekursivt, och den underliggande loop-enheten tas bort, tillsammans med alla dess partitionsunderenheter.
- Tillagt i version 252.
-U
- Detta är en genväg för --umount --rmdir.
- Tillagt i version 252.
--attach
- Anslut den angivna diskavbilden till en automatiskt allokerad loopback-blockenhet, och skriv sökvägen till loopback-blockenheten till standardutdata.
- Detta liknar ett anrop av losetup --find --show --partscan, men validerar avbilden som DDI innan anslutning, och härleder automatiskt korrekt sektorstorlek att använda.
- Dessutom säkerställer det att blockenheter per partition skapas innan det returnerar och försöker aktivera direct IO-läge, om möjligt.
- Tar en sökväg till en diskavbildsfil.
- Om det kombineras med --quiet undertrycks utdata av blockenhetsnamnet.
- Tillagt i version 254.
--detach
- Koppla loss den angivna diskavbilden från en loopback-blockenhet.
- Detta upphäver effekten av --attach ovan.
- Detta förväntar sig antingen en sökväg till en loopback-blockenhet som argument, eller sökvägen till den bakomliggande avbildsfilen. I det senare fallet bestämmer det automatiskt rätt enhet att koppla loss.
- Tillagt i version 254.
--list, -l
- Skriv sökvägarna för alla filer och kataloger i den angivna OS-avbilden eller katalogen till standardutdata.
- Tillagt i version 253.
--mtree
- Genererar ett BSD mtree(8)-kompatibelt filmanifest för den angivna diskavbilden eller katalogen.
- Detta är användbart för att jämföra avbildsinnehåll i detalj, inklusive inode-information och annan metadata.
- Även om det genererade manifestet innehåller detaljerad inode-information exkluderar det för närvarande utökade attribut, filsystemskapabiliteter, MAC-etiketter, chattr(1)-filflaggor, btrfs(5)-subvolyminformation och diverse annan filmetadata.
- Filinnehållsinformation visas via en SHA256-digest. Ytterligare fält kan läggas till i framtiden.
- Observera att inode-information såsom länkräkningar, inode-nummer och tidsstämplar avsiktligt exkluderas från utdata, eftersom det typiskt komplicerar reproducerbarhet.
- Tillagt i version 253.
--with
- Kör det angivna kommandot med den angivna OS-avbilden monterad.
- Detta monterar avbilden till en temporär katalog, byter aktuell arbetskatalog till den och anropar den angivna kommandoraden som barnprocess.
- När processen avslutas avmonteras avbilden igen och den temporära katalogen tas bort.
- Om inget kommando anges anropas ett skal.
- Avbilden monteras skrivbar; använd --read-only för att växla till skrivskyddad operation.
- Den anropade processen får miljövariabeln $SYSTEMD_DISSECT_ROOT satt, innehållande den absoluta sökvägen till den temporära monteringspunkten, det vill säga samma katalog som är satt som aktuell arbetskatalog.
- Den får också miljövariabeln $SYSTEMD_DISSECT_DEVICE satt, innehållande den absoluta sökvägen till loop-enheten som avbilden anslöts till.
- Tillagt i version 253.
--copy-from, -x
- Kopierar en fil eller katalog från den angivna OS-avbilden eller katalogen till den angivna platsen på värdfilsystemet.
- Förväntar sig tre argument: en sökväg till en avbildsfil eller katalog, en källsökväg relativt avbildens rotkatalog och en destinationssökväg relativt den aktuella arbetskatalogen, eller en absolut sökväg, båda utanför avbilden.
- Om destinationssökvägen utelämnas eller anges som bindestreck ("-") skrivs den angivna filen till standardutdata.
- Om källsökvägen i avbildens filsystem hänvisar till en vanlig fil kopieras den till destinationssökvägen. I detta fall kopieras åtkomstläge, utökade attribut och tidsstämplar också, men inte filägarskap.
- Om källsökvägen i avbilden hänvisar till en katalog kopieras den till destinationssökvägen, rekursivt med alla innehållande filer och kataloger, med sammanslagning in i befintliga kataloger och uppdatering av redan befintliga filer.
- I detta fall kopieras även filägarskapet.
- Tillagt i version 247.
--copy-to, -a
- Kopierar en fil eller katalog från den angivna platsen i värdfilsystemet in i den angivna OS-avbilden eller katalogen.
- Förväntar sig tre argument: en sökväg till en avbildsfil eller katalog, en källsökväg relativt den aktuella arbetskatalogen eller en absolut sökväg, båda utanför avbilden, och en destinationssökväg relativt avbildens rotkatalog.
- Om källsökvägen utelämnas eller anges som bindestreck ("-") läses data att skriva från standardindata.
- Om källsökvägen i värdfilsystemet hänvisar till en vanlig fil kopieras den till destinationssökvägen. I detta fall kopieras åtkomstläge, utökade attribut och tidsstämplar också, men inte filägarskap.
- Om källsökvägen i värdfilsystemet hänvisar till en katalog kopieras den till destinationssökvägen, rekursivt med alla innehållande filer och kataloger, med sammanslagning in i befintliga kataloger och uppdatering av redan befintliga filer.
- I detta fall kopieras även filägarskapet.
- Liksom med --mount körs filsystemskontroller implicit innan kopieringsoperationen börjar.
- Tillagt i version 247.
--make-archive
- Genererar en arkivfil från den angivna diskavbilden.
- Förväntar sig två argument: sökvägen till diskavbilden och valfritt sökvägen till utdataarkivfilen.
- Om den senare utelämnas skrivs arkivet till standardutdata.
- Arkivfilformatet bestäms automatiskt från det angivna utdataarkivfilnamnet; exempelvis resulterar varje sökväg som slutar med ".tar.xz" i en xz-komprimerad UNIX-tarball, om sökvägen utelämnas skapas en okomprimerad UNIX-tarball.
- Se libarchive(3) för en lista över stödda arkivformat och komprimeringsscheman.
- Tillagt i version 256.
--discover
- Visa en lista över DDI:er i välkända kataloger.
- Detta visar maskin-, portabla tjänste- och system-/konfigurationstilläggsdiskavbilder i de vanliga katalogerna /usr/lib/machines/, /usr/lib/portables/, /usr/lib/confexts/, /var/lib/machines/, /var/lib/portables/, /var/lib/extensions/ och så vidare.
- Tillagt i version 253.
--validate
- Validerar partitionsarrangemanget för en diskavbild (DDI), och säkerställer att det matchar avbildspolicyn som anges via --image-policy=, om en sådan anges.
- Detta tolkar partitionstabellen och sonderar filsystemen i avbilden, men försöker inte montera dem och inte heller ställa in diskkryptering/autentisering via LUKS/Verity.
- Det gör detta med hänsyn till den konfigurerade avbildsdissekeringspolicyn.
- Eftersom denna operation inte monterar filsystem kräver detta kommando – till skillnad från alla andra kommandon som implementeras av detta verktyg – inga privilegier utöver möjligheten att komma åt den angivna filen.
- Skriver "OK" och returnerar noll om avbilden verkar vara i ordning och matchar den angivna avbildsdissekeringspolicyn.
- Annars skrivs ett felmeddelande och ett icke-nollvärde returneras.
- Tillagt i version 254.
--shift
- Itererar rekursivt genom alla inoder i den angivna avbilden och skiftar de UID:er och GID:er som inoderna ägs av in i det angivna UID-området.
- Tar en avbildssökväg och en UID-bas som parameter.
- UID-basen kan anges numeriskt, i vilket fall den måste vara en multipel av 65536 och antingen 0 eller inom container- eller foreign-UID-området enligt Users, Groups, UIDs and GIDs on systemd Systems[2], eller som den symboliska identifieraren "foreign" som är en kortform för foreign UID base.
- Detta kommando är användbart för att förbereda katalogcontaineravbilder för oprivilegierad användning.
- Observera att detta kommando är avsett för avbilder som endast använder 16-bitars UID/GID-området, och det ignorerar alltid de övre 16 bitarna av aktuellt UID/GID-ägarskap och kombinerar de nedre 16 bitarna med mål-UID-basen.
- Använd:
systemd-dissect --shift /some/container/tree foreign
- för att skifta en containeravbild till foreign UID-området, eller:
systemd-dissect --shift /some/container/tree 0
- för att skifta den till värd-UID-området.
- Tillagt i version 258.
-h, --help
- Skriv ut en kort hjälptext och avsluta.
--version
- Skriv ut en kort versionssträng och avsluta.
OPTIONER
Följande optioner förstås:
--read-only, -r
- Arbeta i skrivskyddat läge.
- Som standard upprättar --mount skrivbara monteringspunkter. Om denna option anges upprättas de i stället i skrivskyddat läge.
- Tillagt i version 247.
--fsck=no
- Stäng av automatisk filsystemskontroll.
- Som standard, när en avbild används för skrivning, med --mount eller --copy-to, kontrolleras filsystemen i OS-avbilden automatiskt med lämpligt fsck(8)-kommando i automatiskt reparationsläge.
- Detta beteende kan stängas av med --fsck=no.
- Tillagt i version 247.
--growfs=no
- Stäng av automatisk utökning av åtkomna filsystem till deras partitionsstorlek, om de är markerade för detta i GPT-partitionstabellen.
- Som standard, när en avbild används för skrivning med --mount eller --copy-to, växer filsystemen i OS-avbilden automatiskt till sina partitionsstorlekar, om bit 59 i GPT-partitionsflaggorna är satt för partitionstyper som definieras av UAPI.2 Discoverable Partitions Specification[1].
- Detta beteende kan stängas av med --growfs=no.
- Filsystem växer automatiskt vid åtkomst om alla följande villkor är uppfyllda:
- Filsystemet är monterat skrivbart.
- Filsystemet är för närvarande mindre än partitionen det finns i och kan därför växa.
- Avbilden innehåller en GPT-partitionstabell.
- Filsystemet lagras på en partition definierad av Discoverable Partitions Specification.
- Bit 59 i GPT-partitionsflaggorna för denna partition är satt enligt specifikationen.
- Optionen --growfs=no skickas inte.
- Tillagt i version 249.
--mkdir
- Om den kombineras med --mount skapas katalogen att montera OS-avbilden till om den saknas.
- Observera att katalogen inte automatiskt tas bort när diskavbilden avmonteras igen.
- Tillagt i version 247.
--rmdir
- Om den kombineras med --umount tas den angivna katalogen där OS-avbilden är monterad bort efter att OS-avbilden avmonterats.
- Tillagt i version 252.
--discard=
- Tar en av "disabled", "loop", "all", "crypto".
- Om "disabled" används nås avbilden med kassering av tomma block avstängd.
- Om "loop" används aktiveras discard om operationen sker på en vanlig fil.
- Om "crypt" används aktiveras discard även på krypterade filsystem.
- Om "all" används aktiveras discard ovillkorligen.
- Tillagt i version 247.
--in-memory
- Om angivet används en kopia i minnet av den angivna diskavbilden.
- Detta kan användas för att arbeta med skrivåtkomst på en, möjligen skrivskyddad, avbild utan att faktiskt modifiera originalfilen.
- Detta kan också användas för att arbeta på en diskavbild utan att hålla det ursprungliga filsystemet upptaget, för att tillåta att det avmonteras.
- Tillagt i version 253.
--root-hash=, --root-hash-sig=, --verity-data=
- Konfigurera olika aspekter av Verity-dataintegritet för OS-avbilden.
- Optionen --root-hash= anger en hexkodad toppnivå-Verity-hash att använda för att ställa in Verity-integritetsskyddet.
- Optionen --root-hash-sig= anger sökvägen till en fil som innehåller en PKCS#7-signatur för hashen. Denna signatur skickas till kärnan under aktivering, som matchar den mot signaturnycklar tillgängliga i kärnans nyckelring.
- Optionen --verity-data= anger en sökväg till en fil med Verity-data att använda för OS-avbilden, om den lagras i en frikopplad fil.
- Det rekommenderas att bädda in Verity-data direkt i avbilden, med Verity-mekanismerna i UAPI.2 Discoverable Partitions Specification[1].
- Tillagt i version 247.
--usr-hash=, --usr-hash-sig=
- Liknar --root-hash= och --root-hash-sig=, men anger hash och signatur för /usr/-partitionen.
- Observera att antingen optionerna för rotpartitionen eller de för /usr/ kan användas, men inte båda i kombination.
- Tillagt i version 258.
--loop-ref=
- Konfigurerar "reference"-strängen som kärnan ska rapportera som bakomliggande fil för loopback-blockenheten.
- Även om detta är avsett att vara en sökväg eller ett filnamn som hänvisar till den bakomliggande filen, upprätthålls det inte och kärnan accepterar godtyckliga fritextsträngar valda av användaren.
- Accepterar godtyckliga strängar upp till 63 tecken.
- Detta sätter kärnans ".lo_file_name"-fält för blockenheten.
- Observera att detta skiljer sig från attributfilen /sys/class/block/loopX/loop/backing_file, som alltid rapporterar en sökväg som hänvisar till den faktiska bakomliggande filen. Den senare är föremål för mount namespace-översättning, den förra är det inte.
- Denna inställning är särskilt användbar i kombination med kommandot --attach, eftersom den tillåter senare referens till den allokerade loop-enheten via symlänkarna /dev/disk/by-loop-ref/....
- Exempel: ställ först in loopback-enheten via:
systemd-dissect attach --loop-ref=quux foo.raw
- och referera sedan till den i ett kommando via det angivna filnamnet:
cfdisk /dev/disk/by-loop-ref/quux
- Tillagt i version 254.
--loop-ref-auto
- Liknar --loop-ref=, men härleder automatiskt referenssträngen från det angivna bakomliggande filnamnet och trunkerar den vid behov.
- Tillagt i version 258.
--mtree-hash=no
- Om den kombineras med --mtree, stänger den av inkludering av filhashar i mtree-utdata.
- Detta gör --mtree snabbare när det arbetar med stora avbilder.
- Tillagt i version 254.
--copy-ownership=
- Styr om filägarskap, användare och grupp, bevaras när filer kopieras med --copy-from eller --copy-to.
- Tar ett booleskt värde eller auto.
- Om "yes" anges bevaras ägarskap alltid.
- Om "no" anges bevaras ägarskap aldrig och den aktuella användarens UID/GID används i stället.
- Om inte angivet eller auto bevaras ägarskap när katalogträd kopieras, men inte när enskilda vanliga filer kopieras.
- Tillagt i version 260.
--system, --user
- När de används tillsammans med --discover styr de om sökning ska göras efter avbilder installerade systemomfattande eller i användarens kataloger i $HOME.
- Om ingen växel anges söks båda omfattningarna.
- Tillagt i version 258.
--all
- Om den kombineras med --discover, visas även avbilder som börjar med en punkt, det vill säga dolda avbilder.
- Tillagt i version 258.
--quiet, -q
- Om den kombineras med --attach, undertrycker den utdata av den använda loopback-blockenhetens sökväg.
- Tillagt i version 258.
--image-policy=policy
- Tar en avbildspolicysträng som argument, enligt systemd.image-policy(7).
- Policyn verkställs när diskavbilden som anges via --image= hanteras, se ovan.
- Om inte angivet är standard policyn "*", det vill säga alla igenkända filsystem i avbilden används.
--image-filter=filter
- Tar en avbildsfiltersträng som argument, enligt systemd.image-filter(7).
- Filtret tas i beaktande när diskavbilden som anges via --image= hanteras, se ovan.
- Om inte angivet tillämpas ingen filtrering.
--no-pager
- Skicka inte utdata genom en pager.
--no-legend
- Skriv inte ut förklaringen, det vill säga kolumnrubriker och sidfoten med tips.
--json=MODE
- Visar utdata formaterad som JSON.
- Förväntar sig en av "short", för kortast möjliga utdata utan redundant blanksteg eller radbrytningar, "pretty", för en snygg version av samma sak med indrag och radbrytningar, eller "off", för att stänga av JSON-utdata, standard.
AVSLUTNINGSSTATUS
Vid framgång returneras 0, annars en icke-noll felkod.
Om kommandot --with används vidarebefordras avslutningsstatusen för det anropade kommandot.
ANROP SOM /SBIN/MOUNT.DDI
Den körbara filen systemd-dissect kan symlänkas till /sbin/mount.ddi.
Om den anropas genom detta implementerar den mount(8)s gränssnitt för "external helper" för den pseudo-filsystemstypen "ddi".
Detta innebär att kompatibla diskavbilder kan monteras direkt via:
# mount -t ddi myimage.raw targetdir/
på ett sätt som i huvudsak motsvarar:
# systemd-dissect --mount myimage.raw targetdir/
Observera att eftersom en enda DDI kan innehålla flera filsystem bör den senare avmonteras med:
umount -R targetdir/
för rekursiv operation.
Denna funktionalitet är särskilt användbar för att montera DDI:er automatiskt vid start via enkla /etc/fstab-poster.
Till exempel:
/path/to/myimage.raw /images/myimage/ ddi defaults 0 0
När det anropas på detta sätt mappas monteringsoptionerna "ro", "rw", "discard", "nodiscard" till motsvarande optioner listade ovan, det vill säga --read-only, --discard=all, --discard=disabled.
Monteringsoptioner skickas inte generellt vidare till filsystemen inne i avbilderna.
EXEMPEL
Exempel 1. Generera en tarball från en OS-diskavbild (--with)
# systemd-dissect --with foo.raw tar cz . >foo.tar.gz
eller alternativt bara:
Exempel 2. Generera en tarball från en OS-diskavbild (--make-archive)
# systemd-dissect --make-archive foo.raw foo.tar.gz
SE ÄVEN
systemd(1), systemd-nspawn(1), systemd.exec(5), systemd.v(7), UAPI.2 Discoverable Partitions Specification[1], mount(8), umount(8), fdisk(8)
ANMÄRKNINGAR
1. UAPI.2 Discoverable Partitions Specification
https://uapi-group.org/specifications/specs/discoverable_partitions_specification
2. Users, Groups, UIDs and GIDs on systemd Systems
https://systemd.io/UIDS-GIDS/
systemd 261.2
Sidslut
Orginalhemsidan på Engelska https://man.archlinux.org/man/core/systemd/mount.ddi.1.en
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på på https://www.linux.se/kontaka-linux-se/
Tack till Datorservice som har sponsrat Linux.se med webbhotell.