GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
From: | Thomas Schwinge <thomas-AT-codesourcery.com> | |
To: | <info-gnu-AT-gnu.org>, <bug-hurd-AT-gnu.org>, <hurd-devel-AT-gnu.org> | |
Subject: | GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released | |
Date: | Sat, 31 Oct 2015 17:13:59 +0100 | |
Message-ID: | <87eggb2eyg.fsf@kepler.schwinge.homeip.net> | |
Archive‑link: | Article |
Hi! Please see <http://www.gnu.org/software/hurd/news/2015-10-31-releases...>. Text-only version: | GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released. | | We're pleased to announce new releases! | | GNU Hurd 0.7, NEWS: | | Version 0.7 (2015-10-31) | | | The node cache in ext2fs has been improved, generalized, and moved to | libdiskfs. It is now also used by isofs and fatfs. | | | The native fakeroot tool has been greatly improved. It now handles | named sockets, and multiple corner cases related to permissions were | identified and fixed. | | | A new utility `rpcscan' has been introduced. It scans Mach servers | and displays the RPCs handled by the associated demuxer. | | | A long-standing synchronization issue involving the filesystem | translators, libdiskfs, and libpager has been identified and fixed. | | | The code has been updated to work with newer versions of the compiler | and libc, and numerous bugs have been fixed throughout the code. | | Release tarballs may be downloaded from ftp://ftp.gnu.org/gnu/hurd/, http://ftp.gnu.org/gnu/hurd/, or checked out of Git, http://git.savannah.gnu.org/cgit/hurd/hurd.git. SHA1 checksums: | | a735a07687f7996face3bd310af2254192a02f40 hurd-0.7.tar.bz2 | d10b3c1de191ac88425aa30a03c4130e2a883b14 hurd-0.7.tar.bz2.sig | 62032e04bf6b22e4c874772f1f77d5678d916054 hurd-0.7.tar.gz | 7fafd66e0003ea3768f76bd597e617bdc202e312 hurd-0.7.tar.gz.sig | | The GNU Hurd is the GNU project's replacement for the Unix kernel. It is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). More detailed: documentation, what is the GNU Hurd. | | GNU Mach 1.6, NEWS: | | Version 1.6 (2015-10-31) | | | The code has been updated to work with newer versions of the compiler, | and numerous bugs have been fixed throughout the code. | | | The lock debugging infrastructure has been revived and improved, and | many locking issues have been fixed. | | | The IPC tables and the hash table mapping objects to IPC entries have | been replaced by radix trees. This addresses a scalability issue, as | IPC tables required huge amounts of continuous virtual kernel memory. | | | The kernel now allows non-privileged users to wire a small amount of | memory. | | | A bug hindering the eviction of inactive pages by the pageout daemon | has been identified and fixed. | | | The kernel now keeps timestamps relative to the system boot time. | Among other things this fixes bogus uptime readings if the system time | is altered. | | | A reference leak in the exception handling mechanism has been | identified and fixed. | | | ANSI escape sequences are now handled when using `printf'. This fixes | the formatting of messages printed by various Linux drivers. | | Release tarballs may be downloaded from ftp://ftp.gnu.org/gnu/gnumach/, http://ftp.gnu.org/gnu/gnumach/, or checked out of Git, http://git.savannah.gnu.org/cgit/hurd/gnumach.git. SHA1 checksums: | | 73e09c43955ef2e3459b2877b5e6d6bbe517b8c3 gnumach-1.6.tar.bz2 | 96ff426b3b94acf327a88f25c80ab5b5f26ed94a gnumach-1.6.tar.bz2.sig | 448cd88974a5264736c900691c9ab62a810aff28 gnumach-1.6.tar.gz | e06e733ad11f2e048dd9ad3348c2d3100be26078 gnumach-1.6.tar.gz.sig | | GNU Mach is the GNU distribution of the Mach microkernel, upon which a GNU Hurd system is based. The microkernel provides an Inter Process Communication (IPC) mechanism that the Hurd uses to define interfaces for implementing in a distributed multi-server fashion the services a traditional operating system kernel provides. More detailed: documentation. | | GNU MIG 1.6, NEWS: | | Version 1.6 (2015-10-31) | | | * MIG now emits RPC lookup functions that are declared `static inline' | improving compatibility with newer dialects of C. | | Release tarballs may be downloaded from ftp://ftp.gnu.org/gnu/mig/, http://ftp.gnu.org/gnu/mig/, or checked out of Git, http://git.savannah.gnu.org/cgit/hurd/mig.git. SHA1 checksums: | | a9a4b5666834afe8fb861453c5b3ef324201f1d3 mig-1.6.tar.bz2 | 93562c45bbda40ad31f74f6f2fd0c064ef8f0ec5 mig-1.6.tar.bz2.sig | 6e937a35229da02e9e739d75a03020e24a1b5297 mig-1.6.tar.gz | fc25bb9652406675fed63c4581493a6fc39d9690 mig-1.6.tar.gz.sig | | GNU MIG is the GNU distribution of the Mach 3.0 Interface Generator (MIG). This tool translates Remore Procedure Call (RPC) definition files to C code, and is required to compile any packages that are receiving or invoking RPCs, such as GNU Mach, GNU Hurd, and the GNU C Library (glibc) when compiled for the Hurd. More detailed: documentation. | | glibc-2.19-hurd+libpthread-20151031 | | Snapshot tarballs may be downloaded from ftp://alpha.gnu.org/gnu/hurd/, http://alpha.gnu.org/gnu/hurd/, or checked out of Git, http://git.savannah.gnu.org/cgit/hurd/glibc.git and http://git.savannah.gnu.org/cgit/hurd/libpthread.git. SHA1 checksums: | | 5b709297f8622444695f13723f77dfc8754b8ed9 glibc-2.19-hurd+libpthread-20151031.tar.bz2 | b970e604368fd80420ef029bb1c86fc2f7b2c382 glibc-2.19-hurd+libpthread-20151031.tar.bz2.sig | 68f02cd3890654588183539428253a12ff98ea0d glibc-2.19-hurd+libpthread-20151031.tar.gz | da8b38a9a9914a2dedba82a0cf353a4ce0ea30e7 glibc-2.19-hurd+libpthread-20151031.tar.gz.sig | | The GNU C Library (glibc) implements a system's standard library functions (as described by ISO C, and POSIX, for example). An important part of the Hurd actually resides in glibc: here, the system interfaces are implemented on top of the Hurd IPC protocols. This is different to the Linux port, where most simple system interfaces are in fact simply forwarded to/implemented as system calls. | | Many thanks to all the people who are helping! | | If you want to give the Hurd a try, you may easily do so with Debian GNU/Hurd. | | The GNU Hurd system currently runs on 32-bit x86 machines. To compile the Hurd, you need a toolchain configured to target i?86-gnu; you cannot use a toolchain targeting GNU/Linux. | | Please read the FAQ. Bug reports should be sent to bug-hurd or filed on http://savannah.gnu.org/bugs/?group=hurd. Requests for assistance should be sent to help-hurd or filed on http://savannah.gnu.org/support/?group=hurd. You can also find us on the Freenode IRC network in the #hurd channel. For the maintainers Thomas -- If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.
Posted Nov 3, 2015 4:48 UTC (Tue)
by jcm (subscriber, #18262)
[Link] (2 responses)
And beyond that, makes me wonder if LWN shouldn't have an optional annual survey (xkcd style even) with these kinds of questions. The demographic here is fairly unique from the point of view of studying the Open Source community.
Posted Nov 3, 2015 12:26 UTC (Tue)
by pboddie (guest, #50784)
[Link] (1 responses)
From what I understand, there are lots of nice things that the Hurd should allow with the translator model. I remember being disappointed a couple of decades ago (this was on Ultrix!) that you couldn't have something like a Unix socket that masqueraded as a normal file as far as other processes were concerned, where the process that created the socket would behave like a server responding to normal file operations. Just recently, I was reminded that this kind of thing would be nice to provide file-like views of database tables, for instance.
Posted Nov 12, 2015 7:47 UTC (Thu)
by massimiliano (subscriber, #3048)
[Link]
Posted Nov 3, 2015 5:30 UTC (Tue)
by rsidd (subscriber, #2582)
[Link] (13 responses)
Posted Nov 3, 2015 8:10 UTC (Tue)
by juliank (guest, #45896)
[Link]
Posted Nov 3, 2015 10:55 UTC (Tue)
by sthibaul (✭ supporter ✭, #54477)
[Link] (11 responses)
Posted Nov 3, 2015 14:58 UTC (Tue)
by rsidd (subscriber, #2582)
[Link]
Posted Nov 5, 2015 1:21 UTC (Thu)
by khim (subscriber, #9252)
[Link] (9 responses)
Posted Nov 5, 2015 11:34 UTC (Thu)
by pboddie (guest, #50784)
[Link] (4 responses)
Sure, you could probably reboot your computer using distribution media, gain root, do what you want - at least in organisations that didn't lock this down - but you'd only become more "popular" amongst those sysadmins. Or maybe quitting your job and applying for a sysadmin job is what you'd recommend? Or buying your own computer, bringing it to work and putting it on the network?
It turns out that the non-technical issues are really important after all, even when designing technology. If you were being sarcastic, you need to work on your ending, though, because that actually sounds genuine.
Posted Nov 5, 2015 12:57 UTC (Thu)
by fb (guest, #53265)
[Link] (3 responses)
Having first hand experience with such environments, so I am very sympathetic to this use case.
However, I don't see how Hurd increases its value proposition for having a decent solution for it:
Wouldn't it be better to solve this by just having application bundles getting installed into "~/Applications", or a package management system that supports installing stuff into $HOME?
PS: I am not the OP.
Posted Nov 5, 2015 15:20 UTC (Thu)
by pboddie (guest, #50784)
[Link] (2 responses)
One thing apart from installing packages that used to be a big problem was mounting media: if you didn't have the permissions, you'd have to find "someone with root" to help you out. There is still the absurd limitation that loopback-mounting images requires root, which effectively translates as the libraries tightly bound to the kernel that understand filesystems being unusable without someone turning the master key. As I recall, this is one of the things used to promote the Hurd.
(Don't worry, I didn't take your reply as sarcasm, given the absence of any broad, easily-falsified claims stated as near-fact. I also find it amusing that people downplay things like the Hurd while playing up things like virtualisation, when the two things are just different sides of the same coin.)
Posted Nov 5, 2015 16:23 UTC (Thu)
by nybble41 (subscriber, #55106)
[Link]
There is actually a way around that with FUSE and libguestfs: <http://libguestfs.org/guestmount.1.html>.
Posted Nov 5, 2015 18:47 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
Well, AIUI, the filesystem code in the kernel tends to be very trusting of the data inside. I imagine there are exploits possible by using subtly invalid images.
Posted Nov 5, 2015 19:03 UTC (Thu)
by sthibaul (✭ supporter ✭, #54477)
[Link] (3 responses)
“why would you need to empower non-root user today”
As suggested by other commentors: because you prefer to avoid running code as root (and again that's just an simplistic instance of the advantages the Hurd can provide). It is indeed tedious to have to go through root to loop-mount images. That can not be avoided on Linux because the FS code runs in the kernel. The Hurd avoids the issue entirely by running the code as the user who does the mount. The user can even run the code as no-user, thus even protecting himself from bugs in the FS code that the image may trigger!
Really, please read the URLs I pasted before taking part to the discussion. The implications of translators can not be simplified in just a couple of comments.
About having root access, I for instance don't have root access on the Linux Debian systems I work on, and that can be a pain at times for mounting ISO images.
About FUSE, I have yet to see a system on which the administrator trusted FUSE enough for enabling it for users he doesn't trust.
Posted Nov 5, 2015 23:48 UTC (Thu)
by khim (subscriber, #9252)
[Link] (1 responses)
And I'm yet to see a system on which administrator trusted HURD enough to use it at all! FUSE could be fixed over time. This may not be easy, but this could be done. HURD couldn't be fixed because it's developers don't concentrate on solutions for real-user problems but try to tackle some completely useless abstract ideas. Randall Munroe thinks that HURD would become useful after the end human civilization but I'm not that hopeful. The people could waste their time and money on what they want (hey, HURD hacking is still potentially more productive timewaste than things like GTAV), but when HURD is brought up to stop things like systemd... this just makes me sad.
Posted Nov 5, 2015 23:56 UTC (Thu)
by sthibaul (✭ supporter ✭, #54477)
[Link]
There are several Hurd porterboxes out there, where people can completely safely loop-mount whatever images they wish.
> FUSE could be fixed over time. This may not be easy, but this could be done.
No. The FUSE model will still go through the kernel, and I don't believe we can ever really trust what happens there.
In the Hurd, FS operations are performed between the applications and the FS translator, the kernel is only involved for the generic RPCs.
> it's developers don't concentrate on solutions for real-user problems but try to tackle some completely useless abstract ideas.
This looks just FUDish to me. Did you really read the pages mentioned above or watch one of my presentations?
> when HURD is brought up to stop things like systemd...
That hasn't actually happened.
But I guess I'll just stop wasting my time on trying to convince somebody who apparently just refuses to get convinced.
Posted Nov 21, 2015 9:58 UTC (Sat)
by jengelh (guest, #33263)
[Link]
Well, through UML, one could run the entire Linux kernel as a user ;-)
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
For those who want such a system (tiny microkernel with drivers, filesystems, etc implemented on top), Minix 3 seems to offer everything the Hurd does, with much better hardware support plus an extensive software base (most NetBSD packages work). Is there anything in theory that the Hurd does, or will do, better than Minix 3? Serious question.
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
https://www.gnu.org/software/hurd/community/weblogs/ArneB...
https://www.gnu.org/software/hurd/faq/still_useful.html
https://www.debian.org/ports/hurd/hurd-doc-translator
Hurd translators (all three links are about that) look nice. In a way fuse is an implementation of that. I guess the lesson is cool features aren't enough, stability (production-readiness) and compatibility with existing hardware is essential. For example, Dragonfly BSD has many cool features -- the Hammer filesystem, variant symlinks, vkernels, swapcache -- and has far better hardware support than either Hurd or Minix 3. I used it long back (before Hammer). But am not tempted on modern hardware (laptop / workstation) though I may still consider it for a fileserver or something down the line. Ok, I am tempted even on my current machines, but feel that for my kind of work the tradeoff in time spent tweaking / features gained isn't worth it.
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
IOW: Hurd solves the problem which was important 30 years ago but which is totally non-issue today. I mean: why would you need to empower non-root user today? Anyone who wants to be a root in a today's world could! And when it's impossible (things like iPhone) it's not because of technical issues, but because of politics! Just why would I want a system where non-root is especially powerful in today's world? To develop software for mainframes? Mainframes support virtualization, too - it fact they do it better than most other systems.
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
- often the BOFH admins don't want //any// modification whatsoever to the environment (so support for user customization would be a bug, not a feature).
- when the admins would allow local (e.g. inside $HOME) installations, OSX's "~/Applications" pattern seems to me to be a better solution.
PPS: I am not being sarcastic nor do I mean to be derogatory.
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
About FUSE, I have yet to see a system on which the administrator trusted FUSE enough for enabling it for users he doesn't trust.
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released
GNU Hurd 0.7, GNU Mach 1.6, GNU MIG 1.6 released