Status & storeio – My new favorite translator
Hy guise,
I didn’t worked much on PHP and other server technologies, because the live cd is on its way and I did update some more or less essential packages, which are used for the live cd or are popular by the users. By the way! I am so happy that I finally fixed the python package. Python worked for me, because I accidently install it to root and not to the pkgdir and I thought that I uploaded the fixed package long ago. But then a friend of barrucadu, who wanted to build namcap to test his packages, told me that python still doesn’t work. After dowloading some patches from debian we now have both, a working python build and namcap in the AUR for now.
Package Status
There is also a new syslog-ng package in testing, which does not depend on pidof. Due to the lack of a working /proc implementation pidof does not work. But fear not, work is going on the source code of procfs. We sooner or later got a working /proc and all the nice things that are depending on it, like top.
To be more developer friendly for future hurders, I added cvs and mercurial. We now cover almost every VCS, except for Subversion, which will surely come someday (if I have enough time).
Wiki Status
I also change some wiki pages, especialy the translator page, which I will quote below. This pages gives an overview about the most important ones for end user, if there are end users at the moment. Please have a look if you like. http://wiki.archhurd.org/wiki/Translators
I will make this post a bit longer than, because I didn’t post yesterday
storeio – A flexible block device translator
I’d like to present my new favorite translator, by the name storeio.
storeio is a translator which creates a block device from the given file. It also supports compressed files with gunzip and bunzip2 but I recommend not to use any compression, didn’t work as expected and takes forever to mount. You sure are asking yourself what you can do with a block device? Well, once created you can created a filesystem on it and mount it on a directory and put data into it. Because of the fact that the file is now a block device, you’re able to work with filesystem tools, like mkfs and fsck, on it. You can also create a ramdisk witk it.
Enough wtih the talk, lets show some examples. From here on I will quote the wiki page about translators. Sorry for the format. Look at our wike page if you like to see it in a better format.
storeio
storeio is like losetup on linux, but with more advantages. It also supports compression with gzip and bzib2 or normal files.
It creates a block device with the given file or arguments.
settrans -ca loop0 /hurd/storeio -T file FILEsettrans -ca loop1 /hurd/storeio -T gunzip FILE.gzATTENTION: storeio can not size the given file. A possibility to create a file with a given size is to use dd.
dd if=/dev/null of=FILE bs=42MBThis will create an empty file with the size of 42MB. You can now work with the new block device. You can use it as temporary filesystem (ramdisk) or as portable filesystem.
ramdisk
settrans -ca ramdisk0 /hurd/storeio -T copy zero:32M mkfs.ext2 -F -b 4096 ramdisk0 settrans -ao ramdisk0 /hurd/ext2fs.static ramdisk0First we create a buffer with copy and getting the size with zero. (Just like dd, but without invoking a file) Then we create the filesystem on our blockdevice and mounting it with ext2fs. The argument -o (orphan) replaces the previous translator with a new one without forcing it away.
portable vfs
The following example shows how to create virtual filesystems in a file.
dd if=/dev/zero of=your.img bs=SIZE settrans -ca loop0 /hurd/storio -T file your.img mkfs.ext2 -F -b 4096 loop0 settrans -ca mount /hurd/ext2fs.static loop0Fist create a file with any size and create the block device with storeio then create the filesystem and mount it.
You can also lay the translators on top of each other.
settrans -a your.img /hurd/storeio -T file your.img settrans -ao your.img /hurd/ext2fs your.imgThe file your.img is now a directory and you can use it as such.
cp your things your.img/ ls your.img/things/To unmount the filesystem.
settrans -g your.imgATTENTION: I noticed that if you lay one translator onto another you can only remove the one on top. I don’t know if this is a feature or bug, but after that procedure you only need to use ext2fs to mount the image, which is pretty handy after all.
