summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgnucode <gnucode@web>2025-05-05 17:01:27 +0200
committerGNU Hurd web pages engine <web-hurd@gnu.org>2025-05-05 17:01:27 +0200
commit2f5e39a4e763764734de3f735946bf75518d66a8 (patch)
tree866dd3d8438433a32bde44d39b06f693c0b383e1
parent075d48b931cffee56b5317c4f5e61bbb25ba8271 (diff)
Added mounting a remote iso file.
-rw-r--r--community/weblogs/ArneBab/technical-advantages-of-the-hurd.mdwn13
1 files changed, 11 insertions, 2 deletions
diff --git a/community/weblogs/ArneBab/technical-advantages-of-the-hurd.mdwn b/community/weblogs/ArneBab/technical-advantages-of-the-hurd.mdwn
index 35e55518..b2fa5585 100644
--- a/community/weblogs/ArneBab/technical-advantages-of-the-hurd.mdwn
+++ b/community/weblogs/ArneBab/technical-advantages-of-the-hurd.mdwn
@@ -15,13 +15,22 @@ The filesystem implements stuff like Gnome VFS (gvfs) and KDE **network transpar
One practical advantage of this is that the following works:
- settrans -a ftp\: /hurd/hostmux /hurd/ftpfs /
- dpkg -i ftp://ftp.gnu.org/path/to/*.deb
+ $ settrans -a ftp\: /hurd/hostmux /hurd/ftpfs /
+ $ dpkg -i ftp://ftp.gnu.org/path/to/*.deb
This installs all deb-packages in the folder `path/to` on the FTP server. The shell sees normal directories (beginning with the directory “ftp:”), so shell expressions just work.
You could even define a Gentoo mirror translator (`settrans mirror\: /hurd/gentoo-mirror`), so every program could just access mirror://gentoo/portage-2.2.0_alpha31.tar.bz2 and get the data from a mirror automatically: `wget mirror://gentoo/portage-2.2.0_alpha31.tar.bz2`
+How about mounting a remote ISO file? Now that we can access ftp.gnu.org transparently,
+this is trivial!
+
+ $ settrans -c mnt /hurd/iso9660fs $PWD/ftp://ftp.gnu.org/old-gnu/gnu-f2/hurd-F2-main.iso
+ $ ls mnt/
+
+It is interesting to note that since the ISO9660 format is indexed, ftpfs does not have to
+download the whole ISO file, it merely fetches what iso9660fs requests.
+
Or you could add a unionmount translator to root which makes writes happen at another place. **Every user is able to make a readonly system readwrite** by just specifying where the writes should go. But the writes **only affect his view of the filesystem**.
Starting a network process is done by a translator, too: The first time something accesses the network card, the network translator starts up and actually provides the device. This replaces most **initscripts in the Hurd: Just add a translator to a node**, and the service will persist over restarts.