Ukaza cabextract in lcab za delo z datotekami CAB v Linuxu

Zadnja posodobitev: 13/01/2026
Avtor: Isaac
  • Cabextract vam omogoča seznam, testiranje, ekstrahiranje in popravljanje datotek Microsoft CAB v sistemih, kot so UNIX.
  • Bistveno je za VinoLutris in winetricks poskrbita za monterje Windows ki so odvisne od datotek .cab.
  • Cabextract vam omogoča pridobivanje pisav in virov za namestitvene programe za Office in PowerPoint za uporabo v Linux.
  • lcab dopolnjuje cabextract, saj omogoča ustvarjanje datotek CAB iz Linuxa za distribucijo podatkov v Windows.

Ukaza cabextract in lcab v Linuxu

Če sodelujete s Namestitvene datoteke sistema Windows iz LinuxaPrej ali slej boste naleteli na znane datoteke .cab (Microsoft Cabinet). Čeprav v ekosistemu GNU/Linux niso tako pogoste kot datoteke .tar.gz ali .zip, so še vedno vseprisotne v namestitvenih programih, gonilnikih in popravkih Microsoftovih programov. Na srečo imamo besedilna orodja, ki nam omogočajo, da jih precej enostavno upravljamo.

V tem članku se bomo poglobili v izvleček kabe in lcabDva pripomočka, zasnovana za delo z datotekami CAB v sistemih, podobnih UNIX-u. Videli boste, kaj točno so ti vsebniki, kako namestiti orodja na različne distribucije, katere možnosti ponujajo za seznam, ekstrahiranje, testiranje ali celo popravilo poškodovanih omaric in v kakšnih resničnih situacijah (Wine, pisave sistema Windows, pregledovalniki za PowerPoint itd.) vas lahko rešijo iz težkega položaja.

Kakšna je Microsoftova oblika CAB?

Oblika CAB (Microsoftova omara) Zasnoval ga je Microsoft kot svoj izvorna metoda pakiranja in stiskanja datotek v sistemu Windows. Široko se uporablja v namestitvenih mehanizmih platforme: Setup API, Device Installer, AdvPack, Windows Installer in drugih sistemskih komponentah, odgovornih za uvajanje programske opreme in posodobitev.

Datoteka s pripono . Cab deluje kot a stisnjena posodaZdružuje več datotek in imenikov, podpira različne algoritme stiskanja (kot so MSZIP, LZX ali Quantum) in lahko vključuje digitalni podpisi da se zagotovi celovitost vsebine. To pojasnjuje, zakaj ga vidite skupaj s tipičnimi namestitvenimi programi, kot sta setup.exe ali install.exe, kjer izvedljiva datoteka deluje kot »zaganjalnik«, dejanski podatki pa potujejo v eni ali več datotekah CAB.

Čeprav se v sistemu Windows z njimi upravlja skoraj pregledno prek namestitvenih čarovnikov, pa v GNU / Linux Te posode niso tako pogoste, zato jih potrebujete posebne komunalne storitve da jih odprete, pregledate ali izvlečete njihovo vsebino, ne da bi zagnali izvirni namestitveni program.

Poleg klasičnih namiznih paketov so CAB-i na voljo tudi v Namestitvene datoteke sistema Windows CESistemske posodobitve, spletne pisave, video kodeki, predloge sistema Office in vse vrste virov za nadaljnjo distribucijo, ki jih Microsoft in drugi prodajalci pakirajo v tej obliki.

Cabextract: ključno orodje za ekstrahiranje datotek CAB

Uporaba cabextract in lcab v sistemih Linux

cabeextract Gre za spletni program ukazi zasnovan za Izvleči datoteke iz vsebnikov Microsoft CAB na UNIX-u in izpeljanih sistemih (GNU/Linux, BSD, macOS itd.). Distribuira se kot Prosta programska oprema pod licenco GNU GPL in se zanaša na prenosno knjižnico libmpack (licenca LGPL), specializirano za Microsoftove formate stiskanja.

Pripomoček je sposoben obvladovanja vse običajne različice in funkcije datotek .CAB, vključno z omaricami, ki jih uporablja Windows CE in "gnezdene" omare (ko ena CAB vsebuje druge CAB-e v notranjosti). Prav tako ve, kako ravnati z večdelne omareTi namestitveni programi porazdelijo podatke v več zaporednih datotek in se v sistemu Windows samodejno ponovno sestavijo.

Med njegovimi prednostmi je lahko izvleček kabe ohraniti notranjo strukturo imenikov, vzdržujejo datume in dovoljenja izvlečenih datotek, izvajajo teste integritete brez zapisovanja podatkov na disk in celo poskušajo reševati informacije iz koruptivnih kabinetov zamenjava neberljivih območij z ničlami, da se nadaljuje s preostalimi bloki.

Čeprav obstaja že leta in je doživel različne različice, je konsolidiran v ekosistemu številnih distribucij in ima vnaprej prevedene pakete za najrazličnejše platforme: Debian, Ubuntu, Fedora, Gentoo, Slackware, T2 SDE, FreeBSD, NetBSD, OpenBSD, Solaris, macOS (Fink, MacPorts), Cygwin v sistemu Windows, AmigaOS, DOS/FreeDOS in še več

Namestitev Cabextracta na različnih platformah

V večini sodobnih distribucij GNU/Linux lahko namestite izvleček iz uradnih repozitorijevTo močno poenostavi nalogo, saj vam ni več treba ročno prevajati ali iskati binarnih datotek na spletu.

V sistemih, ki temeljijo na Debian ali UbuntuKlasična namestitev se izvede z:

sudo apt-get install cabextract

ali, če vam je ljubše sposobnosti:

sudo aptitude install cabextract

Ko je namestitev končana, bodo Wine in druga orodja, ki so odvisna od tega pripomočka, lahko samodejno razpakirajte datoteke .cab ki jih najdejo pri monterjih in pomočnikih.

V drugih distribucijah se ukaz razlikuje, vendar je ideja popolnoma enaka: uporabiti upravitelj paketov sistema. Na primer, v okoljih, ki temeljijo na RPM, lahko uporabite:

sudo rpm -i cabextract-1.6-1.i386.rpm

In če vas zanima prevajanje iz izvorne kode (na primer za testiranje razvojne različice), bi bil tipičen potek dela naslednji:

tar zxf cabextract-1.6.tar.gz
cd cabextract-1.6
./configure
make
sudo make install

V drevesu projekta boste našli datoteko INSTALL s podrobnejšimi navodili, pa tudi s pomožnimi skripti, kot so rebuild.sh v razvojnem repozitoriju libmspack, zasnovanem za regeneracijo konfiguracije, ko delate neposredno z vejo GitHub.

  Najboljši način za nastavitev in uporabo »Discover My« na Macu

Osnovne možnosti uporabe Cabextracta

Ko je nameščen, je izhodišče za razumevanje vse možnosti so na voljo Najbolje je, da si ogledate vgrajeno pomoč in stran s priročnikom. Za to imate na voljo dva zelo uporabna vira:

cabextract --help

in klasična dokumentacija v formatu man:

man cabextract

Povzetek, ki prikazuje možnost Pomoč Ponuja hiter pregled najpogostejših zastavic, medtem ko stran z navodili podrobneje razlaga in pojasnjuje specifični primeri uporabeOpombe o varnosti, ravnanju z večdelnimi omarami, filtri itd.

Pri tipični uporabi preprosto izvedite ukaz, ki mu sledi ime datoteke CAB ali izvedljive datoteke, ki jo vsebuje in cabextract poskrbi za težko delo:

cabextract archivo.cab

No dobro:

cabextract InstaladorWindows.exe

V tem primeru bo orodje izvleklo vse datoteke, ki jih vsebuje v omari (ali omarah, če jih je več) v trenutnem imeniku, pri čemer se ohrani notranja struktura map in časovni žigi, povezani z vsakim elementom.

Seznam, testiranje in ekstrahiranje datotek CAB

Poleg preproste funkcije razpakiranja ima cabextract več možnosti, ki jih je koristno imeti na voljo pri delu z več namestitvenimi programi ali ko želite preprosto pregledati, kaj je v datoteki .cab, ne da bi jo dejansko razpakirali.

za dokazati integriteto Za razpakiranje datoteke CAB, torej za njeno popolno branje in notranje razpakiranje, vendar brez zapisovanja nastalih datotek na disk, se uporabi možnost -t (o – test):

cabextract -t sls.cab

Ta operacija izvede celoten postopek ekstrakcije v pomnilniku in poleg tega izračuna ter izpiše Kontrolna vsota MD5 za vsako datoteko v omarici. To je še posebej uporabno, če želite pred uporabo preveriti, ali je preneseni namestitveni program popoln, ali če sumite, da je bila datoteka poškodovana med kopiranjem med računalniki.

Če namesto preizkušanja integritete raje seznam vsebine Iz CAB se lahko zatečete k možnosti -l o –seznam:

cabextract -l sls.cab

S tem ukazom bo pripomoček na zaslonu prikazal imena vseh datotek v omarici, skupaj z informacijami, kot so velikost, relativna pot ali logična mapa, ki ji pripadajo, odvisno od tega, kako je bila datoteka CAB ustvarjena.

Za popolno ekstrakcijo do določen imenikImate možnost -d (o - Imenik). Na primer, če želite vsebino omare odvreči v /tmp/cab_files/ lahko zaženete:

cabextract sls.cab -d /tmp/cab_files/

Na ta način boste namesto polnjenja trenutnega imenika z datotekami imeli vse gradivo lepo zaprto v ločeni poti, kar je zelo uporabno pri analizi velikih namestitvenih programov ali izvajanju nalog obratnega inženiringa.

Če po prvi ekstrakciji odkrijete, da je ena od ustvarjenih datotek je pa še en CABPostopek za nadaljnje odpiranje je enak. Na primer:

cabextract /tmp/cab_files/environment.cab -d /tmp/cab_files2/

S to serijo korakov se boste poglobili v različne ravni pakiranja, ki jih številni Microsoftovi namestitveni programi povezujejo skupaj, dokler končno ne boste dostopali do datotek XML, binarnih datotek, izvornih kod ali drugih virov, ki vas resnično zanimajo.

Napredne možnosti in natančen nadzor nad ekstrakcijo

cabextract ne samo razpakira vsega; omogoča vam tudi, da natančneje, kaj se ekstrahira in kakoTo je še posebej dragoceno pri delu z velikimi omaricami ali ko vas zanimajo le določene vrste map.

Po eni strani program samodejno išče vgradne omare znotraj drugih datotek in jih izvleče, ne da bi vam bilo treba to izrecno navesti. Podobno, če zazna večdelne omarePoskuša najti in povezati vse dele, da jih obravnava kot eno samo enoto. Če iz kakršnega koli razloga želite to vedenje onemogočiti, imate možnost –samski, kar prisili cabextract, da deluje samo z datoteko, ki ste mu jo posredovali.

Ko vas zanimajo le določene datoteke (na primer vse zvočne datoteke s končnico .wav znotraj velikega paketa), lahko uporabite možnost –filter za omejitev ekstrakcije. Klasični primer bi bil:

cabextract --filter '*.wav' music.cab

V tem primeru cabextract iterira skozi vsebino music.cab Vendar pa izvleče le datoteke, katerih imena se ujemajo z določenim vzorcem, ostale pa prezre. To vam prihrani prostor, čas obdelave in nered v delovnem imeniku.

Druga zanimiva možnost je, da to prisilimo Vsa izvlečena imena datotek bodo pretvorjena v male črke. po izbiri –male črkeTo je lahko uporabno v okoljih, kjer razlikovanje med velikimi in malimi črkami v poteh povzroča težave, ali če želite preprosto normalizirati imena za organizacijske namene.

Glede lokacije smo že videli, da lahko uporabite - Imenik (ali bližnjico -d) za pošiljanje ekstrahiranih datotek v določeno mapo. Kombinacija te možnosti s filtri in pretvorbo imen vam omogoča dokaj natančen nadzor nad končnim rezultatom vsake ekstrakcije.

Popravilo poškodovanih CAB datotek in varnost

V resničnem svetu je relativno pogosto srečati poškodovane CAB datoteke: descargas nepopolno, napake v napravah shranjevanjeizpadi omrežja itd. cabextract vključuje možnost, imenovano –popraviti zasnovan za poskus shranite čim več podatkov ko naletite na poškodovano omarico.

  Sinhronizacija zapiskov med Google Keep in OneNote

Pri uporabi –popravitiNeberljivi deli podatkov se nadomestijo z ničlami ​​in orodje poskuša preiti na naslednje bloke, v upanju, da so nedotaknjeni. Ta postopek ne "popravi" datoteke v ožjem pomenu besede (poškodovani podatki se izgubijo), vendar pogosto omogoča obnovitev neke vsebine, ki bi sicer bila nedostopna.

Zgodovinsko gledano sta cabextract in knjižnica libmspack popravljala različne varnostne ranljivosti povezane z ravnanjem z zlonamernimi ali posebej spremenjenimi datotekami. Med najizrazitejšimi so težave z:

  • Izleti v imenik uporaba zaporedij, kot je "../", za poskus pisanja zunaj trenutnega imenika (CVE-2004-0916).
  • absolutne poti in kombinacije "/" in "\" v Cygwinu, ki bi lahko zaobšle varnostne preglede in prisilile ekstrakcijo na poljubne lokacije (CVE-2015-2060).
  • Odčitki izven območja v nekaterih scenarijih dekompresije LZX ali MSZIP (CVE-2015-4470, CVE-2015-4471).
  • Neskončne zanke in nepravilni dostopi do pomnilnika v dekoderju Quantum in drugih algoritmih pri obdelavi neveljavnih odmikov ali dolžin, zlasti v 32-bitnih arhitekturah (CVE-2014-9732, CVE-2014-9556, CVE-2010-2800, CVE-2010-2801).

Najnovejše različice so te pomanjkljivosti odpravile, zato je vedno priporočljivo, da jih posodobite. Poskrbite za posodobitev programa Cabextrakt iz repozitorijev vaše distribucije. To zagotavlja, da zmanjšate vpliv datotek CAB, ki so posebej zasnovane za povzročanje napak ali izkoriščanje slabosti v dekoderju.

Cabextract in Wine: Namestitveni programi za Windows v Linuxu

Če uporabljate Vino ali Lutris Za zagon aplikacij sistema Windows v sistemu Linux ste verjetno že naleteli na sporočila o napakah med namestitvijo, ki omenjajo datoteke . CabTo se zgodi, ker mnogi monterji pričakujejo, da bodo do teh omaric lahko dostopali izvorno, in če okolje nima ustreznega orodja za njihovo razpakiranje, lahko postopek na polovici ne uspe.

Zelo tipičen primer je nalet na namestitveni program, ki vključuje datoteko s končnico ».cab« in ki pri poskusu namestitve v okolju Wine ... Med fazo namestitve vrže napako.Brez ukaza cabextract Wine ne ve, kako pravilno ravnati s temi vsebniki, zato se čarovnik bodisi ustavi bodisi ne uspe kopirati vseh potrebnih komponent.

V mnogih primerih rešitev preprosto vključuje Namestitev programa cabextract na gostiteljski sistemtako da ga lahko Wine, winetricks ali Lutris pokličejo v ozadju, ko morajo razpakirati eno od teh omaric. V Ubuntuju lahko na primer to storite iz terminal z:

sudo apt-get install cabextract

Ko so namestitveni programi enkrat nameščeni, je precej pogosto, da prej niso mogli pravilno delovati, ne da bi morali kaj drugega spreminjati, saj jim je manjkalo le ... možnost ekstrahiranja enkapsuliranih datotek .cab.

Praktična uporaba: pisave sistema Windows in pregledovalnik za PowerPoint

Poleg akademskih primerov ima cabextract zelo specifične in praktične uporabe v vsakdanjem življenju uporabnika namiznega računalnika Linux, ki dela z dokumenti sistema Office ali želi izkoristiti nekatere vire sistema Windows, ne da bi moral namestiti celoten operacijski sistem.

Klasični scenarij je tisti, ki želijo Namestitev določenih pisav sistema Windows v sistem GNU/Linux (na primer tiste iz sistema Vista ali Office 2007), tako da bodo vaši dokumenti videti popolnoma enako kot v računalnikih z Microsoft Officeali da se izognete težavam s postavitvijo pri odpiranju predstavitev in preglednic.

Za večino običajnih pisav preprosto namestite paket. msttcorefonts (ali njegov ekvivalent, odvisno od distribucije), ki vključuje dokaj popoln nabor: Arial, Times New Roman, Verdana, Tahoma itd. Če pa želite pisave, kot so Calibri ali Cambria, ki se pogosto uporablja v sodobnih dokumentih, morate iti še korak dlje.

Ena priljubljenih možnosti je prenos Pregledovalnik za PowerPoint 2007 za Windows ali Združljivostni paket Microsoft Office za starejše različice sistema Office. Ti paketi vsebujejo pisave, ki vas zanimajo, zapakirane v CAB-datoteke do katerega lahko dostopate s cabextract.

Splošni tok Bilo bi nekaj podobnega temu (prilagojeno okolju Debian/Ubuntu):

  1. Namestite cabextract, če ga še nimate:
    sudo apt-get install cabextract
  2. Prenesite izvedljivo datoteko programa PowerPoint Viewer 2007 ali paket združljivosti z Office 2007 v imenik po vaši izbiri.
  3. V terminalu se pomaknite do te mape in Razpakirajte izvedljivo datoteko z izvlečkom kave, na primer:
    cabextract PowerPointViewer.exe
  4. Med ustvarjenimi datotekami se bo pojavila vmesna datoteka CAB (na primer ppviewer.cab (ali podobno). Ponovno ga odprete:
    cabextract ppviewer.cab
  5. Ustvarite imenik za shranjevanje izvlečenih pisav. Na primer za pisave za Visto:
    sudo mkdir -p /usr/share/fonts/truetype/vista
  6. Premakni vse datoteke pisav (razširitve) .TTF, .ttf, .ttcitd.) v to mapo:
    sudo mv *.TTF /usr/share/fonts/truetype/vista
  7. Posodobite predpomnilnik sistemskih pisav, da bodo nove pisave registrirane:
    sudo fc-cache -f -v

S temi koraki bo vaše namizno okolje Linux imelo isti viri, ki so na voljo ki uporabljajo Windows Vista in Office 2007, kar omogoča prikaz dokumentov brez nenavadnih skokov ali zamenjav pisav.

  Kako korak za korakom posodobiti Kodi na kateri koli napravi

Obstajajo celo specifični primeri, kot je tisti iz vira Calibrikjer so jih odkrili različne različice (Na primer, različica 1.02, ki je vključena v nekatere izdaje sistema Office 2007, se lahko v sistemu Linux prikaže nepravilno pri velikostih med 10 in 14 slikovnimi pikami.) Druga možnost je, da pridobite starejšo različico (1.0) prek paketa združljivosti sistema Office, jo ekstrahirate s programom cabextract, kot je opisano, in v sistemu registrirate samo to različico, da izboljšate upodabljanje.

Pogoste težave s kabeekstraktom v Lutrisu in winetricksu

Z integracijo cabextracta z orodji, kot so Lutris ali vinski trikiVčasih se pojavijo nekoliko skrivnostna sporočila o napakah, ki se dejansko nanašajo na precej specifične težave: datoteke CAB, ki ne obstajajo, prenosi z napačnimi kontrolnimi vsotami MD5 ali omarice, ki jih orodje ne šteje za veljavne.

Predstavljajte si scenarij, v katerem poskušate namestiti igro za Windows, kot je ooo! prek Lutrisa. script Namestitev lahko zahteva, da ima pregledovalnik PowerPointa (ppviewer) na voljo določene pisave ali komponente, in da v ozadju uporabi winetricks za prenos in ekstrahiranje ustrezne izvedljive datoteke.

V takšni situaciji lahko vidite napako, kot je ta:

cabextract -q -d /ruta/temp -F ppviewer.cab /home/usuario/.cache/winetricks/PowerPointViewer/PowerPointViewer.exe
/home/usuario/.cache/winetricks/PowerPointViewer/PowerPointViewer.exe: no se encontraron cabinets válidos

in takoj zatem:

advertencia: el comando cabextract ... devolvió el estado 1. Abortando.

Ta vrsta sporočila običajno pomeni, da cabextract ni našel nobene veljavne datoteke CAB znotraj prenesene izvedljive datoteke, običajno zato, ker je prenos poškodovan ali ker se natančna različica namestitvenega programa, ki jo pričakuje winetricks, ne ujema več s tisto, ki jo pridobi z Microsoftovih strežnikov.

Dodaten simptom je, da Winetricks sam označi paket kot neuspešen v preverjanje md5sumTo utrjuje idejo, da se prenos ne ujema s kontrolno vsoto, ki jo pričakuje skript. V tem primeru težava ni v samem cabextractu, temveč v neskladje med skripto winetricks in dejansko preneseno datoteko.

Glede na te scenarije logični koraki vključujejo vsili ponovno namestitev iz komponente iz winetricks (da jo ponovno prenese), ročno preverite, ali datoteka obstaja in ali jo je mogoče odpreti s cabextract iz terminala, ali pa poiščite alternativno različico namestitvenega programa, ki se ujema s kontrolno vsoto MD5, ki jo pričakuje skript.

lcab: ustvarjanje CAB datotek iz Linuxa

Do sedaj smo se osredotočali na ekstrakt kabe, ki se uporablja za razpakirajte omareČe potrebujete obratni postopek, tj. Ustvarite lastne CAB datoteke Za distribucijo programske opreme ali podatkov iz Linuxa v sisteme Windows pride v poštev orodje lcab.

lcab je majhen program ukazne vrstice, zasnovan posebej za izdelava omar CAB iz ene ali več vhodnih datotek. Čeprav ni tako znan kot cabextract, je uporaben, kadar želite zapakirati vsebino ob spoštovanju Microsoftove izvorne oblike, na primer za njeno integracijo v namestitvene programe ali za izkoriščanje komponent, ki pričakujejo določeno datoteko CAB.

Njegova splošna sintaksa je običajno preprosta: navedete ime izhodne omare in nato datoteke, ki jih želite zapakirati. Od tam naprej lcab poskrbi za ustvarjanje notranje strukture, ki jo zahteva format, in uporabo ustreznega stiskanja. V kombinaciji s cabextract imate poln krožni tok: odstranite obstoječe omare, jih po potrebi spremenite in prepakirajte.

V praksi lcab običajno ne vključuje toliko naprednih možnosti kot cabextract, vendar za naloge, kot so distribucija, testiranje ali emulacija okolij Windows Linux je ponavadi več kot dovolj.

Na splošno, imeti izvleček kabe in lcab v vaši orodjarni vam omogoča oboje porabijo kot ustvarjati Microsoft Cabinet iz sistema UNIX, ki odpira vrata avtomatizaciji namestitev, analizi posodobitvenih paketov, ekstrahiranju lastniških virov (vedno ob spoštovanju njihovih licenc) ali reševanju težav z združljivostjo z Wine in izpeljankami.

Obvladovanje vsakodnevne uporabe programa cabextract, poznavanje njegovih možnosti za seznam, testiranje in popravilo omar ter poznavanje, kdaj je najbolje uporabiti lcab za ustvarjanje lastnih datotek .cab, vas postavi v veliko udobnejši položaj, ko morate krmariti po svetu ... Windows in GNU/LinuxGre za razumevanje, kaj se skriva v teh pogosto spregledanih datotekah .CAB, in za izkoriščanje teh brezplačnih orodij, da bodo delovala v vašo korist, namesto da bi postala ovira.

Kako razdeliti velike datoteke na dele v sistemu Windows 11
Povezani članek:
Kako razdeliti velike datoteke v sistemu Windows 11