FUSE

Kohteesta Linux.fi
Versio hetkellä 27. huhtikuuta 2018 kello 15.07 – tehnyt Tuju (keskustelu | muokkaukset) (→‎Apple iOS)
Siirry navigaatioon Siirry hakuun

FUSE (Filesystem in Userspace) on tekniikka, jolla erilaisia tiedostojärjestelmäajureita voidaan toteuttaa käyttäjätilan ohjelmina, erotuksena normaaleista tiedostojärjestelmäajureista, joita ajetaan ytimen moduuleina. FUSE mahdollistaa vaikkapa FTP- tai SFTP-etäkoneen liittämisen osaksi tiedostojärjestelmää. Jos liitoskohta on esimerkiksi käyttäjän kotihakemistossa, onnistuu liittäminen yleensä ilman pääkäyttäjän oikeuksia.

FUSEn kautta toimivien tiedostojärjestelmien ei tarvitse olla GNU GPL-lisensoituja kuten Linuxin ydinmodulien, minkä ansiosta samoja tiedostojärjestelmätoteutuksia voidaan käyttää vaikkapa FreeBSD:ssä tai Solariksessa, kunhan käytössä olevasta ytimestä löytyy FUSE-tuki.

FUSE:n käyttö edellyttää FUSE-ohjelmiston asentamista. FUSE löytyy useimpinen jakeluiden paketinhallinnasta nimellä fuse, usein jo esiasennettuna. Myös fuse-nimisen ytimen moduulin on oltava ladattuna, mikäli sitä ei ole käännetty kiinteäksi osaksi ydintä. Moduulin voi tilapäisesti ladata komennolla modprobe fuse.

Ytimen versiosta 2.6.31 lähtien käytettävissä on myös CUSE-rajapinta (Character devices in user space), jonka avulla tiedostojärjestelmien lisäksi voidaan toteuttaa kokonaan käyttäjätilassa myös laitetiedostoja. Sen avulla aiotaan tulevaisuudessa mahdollisesti mm. toteuttaa vanhanaikaisen OSS-äänijärjestelmän tuki ytimen ulkopuolella, ja muutenkin siivota vanhoja ajureita ytimen ulkopuolelle.

Käyttö

Apple iOS

Jos liitokset tiedostojärjestelmään tekee root-oikeuksilla, normaalit käyttäjät eivät näe koko liitoshakemistoa, saati sen sisältöä.

Ensimmäisen laitteen liittäminen tiedostojärjestelmään:

ifuse /mnt/iphone --root

Parittaminen:

idevicepair pair
ERROR: Could not validate with device 68bcb3c420a755854fab52b520508887b20a702f because a passcode is set. Please enter the passcode on the device and retry 

Virhe johtuu laitteen ruudulla odottavasta luottosuhteen varmistamisesta, valitsemalla 'trust' komento onnistuu:

idevicepair  pair
SUCCESS: Paired with device 68bcb3c420a755854fab52b520508887b20a702f

Liittäminen udid:llä:

ifuse --udid 68bcb3c420a755854fab52b520508887b20a702f /mnt/iphone

Liitoksen varmistaminen mount-listauksesta:

mount
ifuse on /mnt/iphone type fuse.ifuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

Liitetyn laitteen irroitus tiedostojärjestelmästä:

fusermount -u /mnt/iphone

Katso myös

Aiheesta muualla