oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: filesystem

Linux: Mounting file as a partition

Reading time: 1 – 2 minutes

When we have a file with a ‘dd’ of a full disk and we want to mount a partition of that disk, we have to use an offset for jumping to the beginning of the partition that we want to mount.
Using ‘fdisk’ command we can find the partitions of that disk copied inside a file.

fdisk -l FILE_WITH_DISK_INSIDE

Once partition table is shown there is a column called ‘Start’ using the corresponding number in this column for the partition that we want we can obtain the offset required for our mounting point. Reasoning behind that is multiply start sector per number of bytes per sector.

# OFFSET = START * 512
mount -o ro,loop,offset=OFFSET FILE_WITH_DISK_INSIDE /mnt

I hope thanks to this technical note next time that I forget how to get the offset I find it fastly.

UPDATE 2018/08/29:

If you don’t want to do that manually, there is a small tool called losetup which maps the partitions of a disk image on a file.


# example, attaching partitions to loopback devices
losetup -P /dev/loop0 DISK_IMAGE
# just mount the devices now, they are /dev/loop0pX where X is the number of the partition
# dettach this assignament:
losetup -d /dev/loop0

Cryptomator: create a secure vault for your files

Reading time: 2 – 2 minutes

Yesterday I found a tool called Cryptomator, this is a client-side encryption for your files. You can use it with Dropbox, or any other cloud filesystem or you can use it in your local filesystem. Anyway, this open-source piece of software is really simple to install and is compatible with Windows, Mac and Linux. Once this is installed, using the UI the only thing we have to do is create, or select, a folder where the secure vault is going to be created. It uses a symmetric password for cyphering and when the vault is unlocked a new removable drive appear in your system. So, at the end, the vault is like a pendrive and there is no complexity on add, rename, remove, create folders, etc. inside the new drive. Once the vault is locked, the removable drive is unmounted and if you go to the location where the vault is created a tree structure with cyphered files is the only thing that you can see. Cryptomator works cyphering each file, not the complete vault as a package.

So far I installed the tool on my Windows computer for securing some sensitive files that I have on my laptop. But if it works like I expect I’m going to extend the usage with the rest of my computers. As I said it’s not required any cloud filesystem, by the way, I use Cryptomator in conjunction with Resilio Sync.

Aufs – la evolució del unionfs

Reading time: 2 – 2 minutes

En les properes setamenes hauré de tornar-me a posar les piles amb els sistemes de fitxers COW(Copy-On-Write), ja havia jugat molt amb unionfs per tal de montar un player linux de digital signage fa uns 2 anys. Però ara estic fent una integració amb MeeGo que porta per defecte el sistema de fitxers BRTFS el qual presenta moltíssimes diferencies en comparació a un sistema de fitxers amb journaling normal com podria ser ext3 i ext4.

La qüestió és que em cal intentar assegurar el bon funcionament d’un sistema operatiu a cada arrencada i havia pensat que potser això podia ser una bona idea, bé ja aniré explicant els resultats del experiments quan toquin. Ara només volia avançar-vos algunes de les funcionalitats i millores que suposa aufs respecte unionfs.

  • permet unir diferents directoris en un directori virtual nou, a cada directori se l’anomenarà una ‘branch’
  • a cada ‘branch’ li podem especificar una ‘flag’ diferent: ‘readonly’, ‘readwrite’ i ‘whiteout-able’
  • gràcies a al nou directori virtual podem simular la capacitat de modificar, afegir i borrar elements en un directori de només lectura
  • suporta la capacitat d’afegir/treure ‘branch’ d’un directori virtual en calent

La llista de funcionalitats és força més llarga però el més important és que el nou aufs és molt més ràpid i confiable que el unionfs.

ciopfs: case-insensitive ext3 via fuse

Reading time: 1 – 2 minutes

De tots són conegudes les aplicacions que usen FUSE per obtenir sistemes de fitxers del més inversemblants a través e l’espai d’usuari amb un kernel Linux. Doncs bé, en aquest cas el que hem calia era aconseguir que una partició ext3 en un dels seus directoris fos case-insensitive. O sigui, que no fes ús d’una de les funcions més coneguda del món Linux/Unix, la distinció en majúscules i minúscules en els noms d’arxius i directoris.

Doncs bé, la solució ha estat ciopfs aquesta aplicació que funciona igual que tantes altres aplicacions FUSE, ens permet re-montar un directori en un nou punt però sense sensibilitat en les maj-min. Per cert, com que esta en la seva versió 0.2 no m’ha estat precisament trivial compilar-lo amb una Debian Etch. He hagut de compilar a mà el FUSE i instalal·lar els paquets de ‘dev’ dels requeriments indicats a la documentació del aplicatiu. Espero que mica en mica això millori.

SMB per FUSE (fusesmb)

Reading time: 2 – 2 minutes

FUSE com segur que ja sabeu es carrega com un mòdul del kernel i ens permet accedir al sistema de fitxers a través des d’una aplicació d’usuari, és a dir a una aplicació que no necessariament ha de tenir permisos d’administrador. Doncs bé en aquest cas es tracta de navegar pels WORKGROUPS, hosts, shared folders i impresores publicades a la xarxa a través del protocol SMB. Perquè ens entenguem el protocol que usa windows de tota la vida per compartir recursos de xarxa. Doncs amb el petit aplicatiu del que parlo podrem navegar per tots aquests recursos de xarxa com si es tractés de directoris del nostre sistema de fitxers linux. Realment útil i còmode això de poder accedir a recursos de xarxa sense haver de montar aquests recursos des de la nostre CLI.

Si els recursos de xarxa compartits ho estan sota autenticació al accedir al directori que representa el recurs en denegarà l’accés. Perquè això no passi cal passar com a paràmetres del fusesmb el nostre usuari i paraula de pas del recurs de xarxa. El dolent, és que si tenim diversos usuaris per autenticar-nos segons el recurs no ho podrem expresar des d’una mateixa instància del programa. Així doncs, pel meu gust li falta algun petit workaround que ens llenci interactivament la pregunta d’usuari i paruala de pas a l’entrar a un recurs protegit.

Malgrat això el fusesmb considero que és una eina molt còmode per accedir als recursos de xarxa sobretot si hi podem accedir amb el mateix usuari i password, o sigui, el que acostuma a passar si la xarxa a la que estem és la nostre.

glsof – Arxius usats pels processos

Reading time: 1 – 2 minutes

Molts ja coneixereu lsof, bàsicament aquesta eina fa una cosa tan senzilla i potent a la vegada com dir-nos quins fitxers estan sent usats en cada moment per un procés que esta corrent en el sistema. Això és realment útil per moltes situacions, per exemple, quan volem desmontar una unitat del sistema i no hi ha manera de fer-ho perquè algún procés té obert algún fitxer d’aquella unitat, doncs amb aquesta eina podriem saber quin procés és i prendre les mesures oportunes.

Doncs bé, només volia comentar que avui casuament he descobert el glsof que simplement és un entorn gràfic basat en GTK per usar la comanda lsof. Això en entorns d’escriptori ens simplifica moltíssim la feina d’aprenentatge dels molts paràmetres que suporta lsof.

glsof.png

PHP: com treballar amb fitxers de sistema

Reading time: < 1 minute

No fa gaire vaig publicar un monogràfic sobre els arrays en php. Crec que aquest tipus de monogràfics són molt útil malgrat tinguis molta experiència amb un llenguatge ja que sovint serveixen com una millor manual de referència que l’oficial. Així doncs, ara li toca el torn al tractament de fitxers des de PHP, concretament el monogràfic l’han fet la gent d’IBM. El podeu trobar a The right way to read files with PHP (local html i pdf).

UnionFS – A Stackable Unification File System

Reading time: 2 – 4 minutes

unionFS és un sistema de fitxers de linux és realment un somni fet realitat, en principi ens permet fer una cosa ben senzilla. Com diu el títol, permet unir sistemes de fitxers apilant-los. Què vol dir això? doncs montar sistema de fitxers un sobre de l’altre. La gràcia on és? doncs en que per exemple podem montar un sistema de fitxers de només lectura i després a sobre un de lectura i escriptura; la difèrencia entre això i un montatge convencional és que veurem el contingut dels dos directoris i podrem modificar el sistema de només lectura guardant els canvis en el de lectura i escriptura. O sigui, ara tenim un nou sistema virtual format per la unió d’amdós sistemes. Crec que amb aquest exemple queda claríssima la potència de la idea.

També es pot usar aquest sistema de fitxers amb suport d’snapshots. O sigui, mantenint còpies passades de les versions anteriors dels fitxers. Així doncs, del sistema de modificar fitxers que usa el unionFS se’n diu copy-on-write, perquè quan ha de fer una escriptura d’un fitxer el que fa és fer-ne una còpia mantenint el contingut antic en un dels sistemes de fitxers que estan a la unió.

Quan es monten sistemes de fitxers amb diferents branques d’uns mateixos fitxers s’acostuma a donar prioritat a una de les branques. Si el que tenim montat és un CDROM i un disc dur, obviament la branca que ha de tenir prioritat és la del disc dur sinó no es podrien guardar els canvis.

unionfs.png

L’ús més destacable que se’n fa d’aquest sistema de fitxers és en els liveCD, perquè permeten guardar dades de forma persistent en un disc dur o en un pendrive. O sigui, podem iniciar una distribució de linux amb un CD o DVD i instal·lar nous paquets, fer canvis en la configuració del sistema, guardar dades amb aplicacions, etc. i totes les noves dades que s’haurien d’haver guardat al suport de només lectura s’hauràn guardat en el disc dur o el pendrive gràcies al unionFS. Molts dels liveCD de les vostres distribucions preferides suporten el que se’n diu mode persistent ús recomano que consulteu la documentació si ús interessa la funcionalitat.

Per més informació: Versatility and Unix Semantics in a Fan-Out Unification File System (local).

Montat unitats de xarxa via SSH amb Windows

Reading time: < 1 minute

Via caballe.cat he descobert que es pot mapejar una unitat de xarxa amb windows a través del protocol SSH. Concretament en la seva variant SFTP. Això s’ha de fer amb el software sftpDrive. Segons diu en Xavier funciona perfectament. Jo fa molt temps ja us havia parlat del sshFS per linux que funciona via LUFS. Jo amb la versió de linux hi he treballat força i de vegades dona alguns problemes, perquè al borrar o editar fitxers té comportaments una mica extranys. No tan si ho fem des de consola sinó com quan ho fem des de programes. Concretament jo els problemes els havia tingut amb editors de codi (IDEs de programació).

Sistemes de fitxers diversos, per tots els gustos

Reading time: 1 – 2 minutes

A través del wiki de FUSE he trobat un llistat de sistemes de fitxers molt originals soportats per Linux a través del propi FUSE. Pels que no ús soni el FUSE, diré que amb FUSE és possible implementar un sistema de fitxers usant funcions d’espai d’usuari, o sigui, independents del kernel. Assegurant així l’estavilitat del sistema malgrat esta incorporant coses de tan baix nivell com els sistems de fitxers dins del kernel.

Per exemple, es poden fer coses tan interessants com usar com a disc dur virtual una compte de gmail, montar un FTP al nostre sistema de fitxers com si fos local, montar una compte de flickr dins dels nostres directoris, etc. Realment val la pena perdre 10min en mirar-se el llistat a fons ja que ens dona mil i una idees només llegint-lo.