Ero sivun ”FUSE” versioiden välillä
Pb (keskustelu | muokkaukset) (ei välttämättä root-oikeuksia, asennuksesta) |
p (→Apple iOS) |
||
(14 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
FUSE (''Filesystem in Userspace'') on tekniikka, jolla erilaisia [[tiedostojärjestelmä|tiedostojärjestelmäajureita]] voidaan toteuttaa käyttäjätilan ohjelmina, erotuksena normaaleista tiedostojärjestelmäajureista, joita ajetaan [[ydin|ytimen]] [[moduuli|moduuleina]]. FUSE mahdollistaa vaikkapa [[FTP]]- tai [[SFTP]]-etäkoneen [[mount|liittämisen]] osaksi tiedostojärjestelmää. Jos liitoskohta on esimerkiksi [[käyttäjä]]n [[kotihakemisto]]ssa, onnistuu liittäminen yleensä ilman [[pääkäyttäjä]]n oikeuksia. | '''FUSE''' (''Filesystem in Userspace'') on tekniikka, jolla erilaisia [[tiedostojärjestelmä|tiedostojärjestelmäajureita]] voidaan toteuttaa käyttäjätilan ohjelmina, erotuksena normaaleista tiedostojärjestelmäajureista, joita ajetaan [[ydin|ytimen]] [[moduuli|moduuleina]]. FUSE mahdollistaa vaikkapa [[FTP]]- tai [[SFTP]]-etäkoneen [[mount|liittämisen]] osaksi tiedostojärjestelmää. Jos liitoskohta on esimerkiksi [[käyttäjä]]n [[kotihakemisto]]ssa, 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 [[Solaris|Solariksessa]], kunhan käytössä olevasta ytimestä löytyy FUSE-tuki. | 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 [[Solaris|Solariksessa]], kunhan käytössä olevasta ytimestä löytyy FUSE-tuki. | ||
Rivi 5: | Rivi 5: | ||
FUSE:n käyttö edellyttää FUSE-ohjelmiston asentamista. FUSE löytyy useimpinen jakeluiden [[paketinhallinta|paketinhallinnasta]] nimellä <tt>fuse</tt>, usein jo esiasennettuna. Myös <tt>fuse</tt>-nimisen ytimen moduulin on oltava ladattuna, mikäli sitä ei ole käännetty kiinteäksi osaksi ydintä. Moduulin voi tilapäisesti ladata komennolla <tt>[[modprobe]] fuse</tt>. | FUSE:n käyttö edellyttää FUSE-ohjelmiston asentamista. FUSE löytyy useimpinen jakeluiden [[paketinhallinta|paketinhallinnasta]] nimellä <tt>fuse</tt>, usein jo esiasennettuna. Myös <tt>fuse</tt>-nimisen ytimen moduulin on oltava ladattuna, mikäli sitä ei ole käännetty kiinteäksi osaksi ydintä. Moduulin voi tilapäisesti ladata komennolla <tt>[[modprobe]] fuse</tt>. | ||
== Katso myös == | 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 [[laitetiedosto]]ja. 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 === | |||
'''iOS''' on [[Apple]]n mobiilikäyttöjärjestelmä jota käytetään iPhone ja iPad laitteissa. | |||
Jos liitokset tiedostojärjestelmään tekee root-oikeuksilla, normaalit käyttäjät eivät näe koko liitoshakemistoa, saati sen sisältöä. Parittamisen työkalut löytyvät paketista ''libimobiledevice-utils''. | |||
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 | |||
Udid tunnusta ei välttämättä tarvitse, ilmeisesti jos kytkettynä on ainoastaan yksi laite. | |||
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 | |||
Irroittaminen saattaa epäonnistua jos jokin vielä käyttää tiedostojärjestelmää, fuser komennolla näkyy sen käyttäjät: | |||
fusermount: failed to unmount /mnt/iphone: Device or resource busy | |||
% fuser -vua /mnt/iphone | |||
KÄYTTÄJÄ PID ACCESS KÄSKY | |||
/mnt/iphone: root kernel mount (root)/mnt/iphone | |||
Vaikka kaikki tiedostohallinta- ja shell ohjelmat olisivatkin sammutettu, usein kuvia ja videoita käsittelevät ohjelmat ovat saattaneet olla käytössä ja sellainen on mahdollisesti yhä käynnissä kyseisessä hakemistossa. | |||
==Katso myös== | |||
*[[Ntfs-3g]] | *[[Ntfs-3g]] | ||
*[[Sshfs]] | *[[Sshfs]] | ||
*[[Levykuva#Fuseiso|Fuseiso]] | |||
*[[EncFS]] | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[http://fuse.sourceforge.net/ FUSE:n kotisivu] | *[http://fuse.sourceforge.net/ FUSE:n kotisivu] | ||
*[[wikipedia:Filesystem in Userspace|FUSE Wikipediassa]] | *[[wikipedia:Filesystem in Userspace|FUSE Wikipediassa]] | ||
*[http://lwn.net/Articles/308445/ CUSE-artikkeli LWN:ssä] | |||
[[Luokka:Tiedostojärjestelmät]] | [[Luokka:Tiedostojärjestelmät]] |
Nykyinen versio 28. lokakuuta 2020 kello 13.59
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ö[muokkaa]
Apple iOS[muokkaa]
iOS on Applen mobiilikäyttöjärjestelmä jota käytetään iPhone ja iPad laitteissa.
Jos liitokset tiedostojärjestelmään tekee root-oikeuksilla, normaalit käyttäjät eivät näe koko liitoshakemistoa, saati sen sisältöä. Parittamisen työkalut löytyvät paketista libimobiledevice-utils.
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
Udid tunnusta ei välttämättä tarvitse, ilmeisesti jos kytkettynä on ainoastaan yksi laite.
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
Irroittaminen saattaa epäonnistua jos jokin vielä käyttää tiedostojärjestelmää, fuser komennolla näkyy sen käyttäjät:
fusermount: failed to unmount /mnt/iphone: Device or resource busy % fuser -vua /mnt/iphone KÄYTTÄJÄ PID ACCESS KÄSKY /mnt/iphone: root kernel mount (root)/mnt/iphone
Vaikka kaikki tiedostohallinta- ja shell ohjelmat olisivatkin sammutettu, usein kuvia ja videoita käsittelevät ohjelmat ovat saattaneet olla käytössä ja sellainen on mahdollisesti yhä käynnissä kyseisessä hakemistossa.