Dit is de opdracht extract_compressed_fs die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
create_compressed_fs, extract_compressed_fs - converteer en extraheer een bestandssysteem naar/van een
klomp volume
KORTE INHOUD
maak_gecomprimeerde_fs [ OPTIES ] beeld uitbestand
extract_gecomprimeerd_fs bestandsnaam
PRODUCTBESCHRIJVING
maak_gecomprimeerde_fs comprimeert een afbeelding van een bestandssysteem tot een gecomprimeerde afbeelding die geschikt is voor:
montage met de cloop driver.
extract_gecomprimeerd_fs decomprimeert een bestandssysteemafbeelding gemaakt door create_compressed_fs.
OPTIES
Voer de ... uit maak_gecomprimeerde_fs commando met "-h" om een lijst met beschikbare opties te krijgen en
beschrijving van gegevensopslagmodi en geavanceerd gebruik (bijv. met een netwerkcluster).
Blokgrootte moet een veelvoud van 512 bytes zijn.
Er is een alternatieve set opties die wordt ondersteund voor compatibiliteit met de
originele versie van create_compressed_fs. Wanneer het wordt aangeroepen met een zuiver nummer als uitvoer,
het neemt de oude syntaxis aan en wijst de standaardopties toe aan de geheugenmodus en de blokgrootte
naar het nummer. -b voor de beste modus wordt ook herkend.
Voorbeelden
create_compressed_fs afbeelding.ext2 afbeelding.ext2.cloop
extract_compressed_fs image.ext2.cloop | cmp afbeelding.ext2 -
mkcmd="genisoimage -joliet-long -D -r data"
$mkcmd | create_compressed_fs -s $($mkcmd --print-size)i - bestand.cloop
create_compressed_fs afbeelding.iso -S afbeelding.cloop.a0 - | split -b 1024m - afbeelding.cloop.
kat afbeelding.cloop.* | cdrshuid -
OPMERKINGEN
Voor optimale prestaties moet create_compressed_fs worden gebruikt met echte invoer en uitvoer
bestanden.
Bediening met STDIN of STDOUT is ingewikkeld. create_compressed_fs kan niet werken als een
eenvoudig pijpfilter omdat het een aantal dingen van tevoren moet weten: a) de gegevenslengte, b)
de tijdens de compressie berekende bloklengtes. Deze metagegevens moeten worden opgeslagen in
de kop NA de compressie is laag, daarom is het niet mogelijk om alles te duwen
gegenereerde gegevens naar STDOUT on-the-fly.
En dus moeten er compromissen worden gesloten. De eenvoudigste methode (gebruikt door de oude
create_compressed_fs) is een grote tijdelijke geheugenbuffer (optie -m) om gecomprimeerde gegevens te behouden
in RAM-geheugen. De algehele systeemprestaties hebben echter te lijden onder dergelijk gebruik en dit kan leiden tot:
andere toepassingen in OOM-voorwaarden.
Het volgende alternatief hiervoor is het opslaan van de tijdelijke gegevens in een extra bestand opzij (de -f
optie). Dit verbetert de algehele systeemprestaties, maar de bewerking create_compressed_fs
is langzamer omdat het gegevens terug moet kopiëren als het klaar is. Plus, dubbele schijfruimte
voor de uitvoer is vereist. Als de schijfruimte beperkt is, kan de -r optie kan worden gebruikt (hergebruiken)
uitvoerbestand voor tijdelijke gegevens), maar de snelheid van de terugkopiestap kan afnemen
aanzienlijk.
Er zijn strategieën om de tijdelijke gegevensopslag volledig te vermijden. Eerst alleen bestanden
zou gebruikt moeten worden. Als dat niet mogelijk is, dan moet de uitvoer een (zoekbaar) bestand zijn en
de lengte van de invoergegevens moet bekend zijn (ofwel gespecificeerd met de -s optie of gedetecteerd
van de grootte van het invoerbestand).
Ten tweede is het mogelijk om de header van het cloop-volume in een apart bestand op te slaan. Na
het werk, header kan worden samengevoegd met de gecomprimeerde gegevens met het cat-commando. De
uitvoergegevens kunnen naar stdout worden geschreven. Omdat de header te laat is opgeslagen, is deze methode:
niet erg handig voor onmiddellijke gegevensoverdracht. Het maakt het echter mogelijk om enkele trucs uit te voeren, zoals:
piping naar het split-hulpprogramma (om dvd-afbeeldingen op te slaan in kleinere bestanden op VFAT) of piping-gegevens
via ssh als het lokale systeem geen schijfruimte heeft (en de kop apart kopiëren).
MONTAGE
Je kunt een optie doorgeven aan de cloop-module bij het laden, of Lostup of Lostup gebruiken
functionaliteit van het mount-commando. Voorbeelden:
insmod cloop.o bestand=/pad/naar/gecomprimeerd/afbeelding
Lostup /dev/cloop1 /path/to/compressed/image
mount -o ro -t wat dan ook /dev/cloop /mnt/compressed
mount cl /mnt/misc -oloop=/dev/cloop0
Gebruik extract_compressed_fs online met onworks.net-services