of 15
8/9/2019 gnu hurd manual
1/34
1
The GNU/Hurd architecture,
nifty features,and latest news
Samuel Thibault2013 February 2nd
8/9/2019 gnu hurd manual
2/34
8/9/2019 gnu hurd manual
3/34
3
t!s all ab"ut freed"m #0From: xxx < [email protected] >
Subject: Network expertise
Date: Thu, 31 Jan 2013 12:37:34 +0100
[…] Would it be possible to route to my VPN thetraffic of only one application?
ctually, als" well n"wn classical issue "f full 45N) traffic "f the45N itself sh"uldn!t &" thr"u&h the 45N*
nd yet, here r""t ca%abilities**
S%"iler) 6es, GNU/Hurd can already d" it( +ith"ut as in& r""t(
8/9/2019 gnu hurd manual
4/34
4
t!s all ab"ut freed"m #0tensibility f"r the user
● 7"unt "ne!s "wn files● ccess archi es c"ntent● ccess rem"te files●
%eriment with filesystems● ccess "ne!s "wn netw"r
● ccess rem"te netw"r s / 45N● ccess irtual machine netw"r
● 8edirect "ne!s s"und● Thr"u&h netw"r● S"und effects● 8ec"rdin&
● (((
8/9/2019 gnu hurd manual
5/34
5
9utline● 7"n"lithic/G fs/FUS /micr" ernel layerin&● Hurd layerin&● Hurd nifty features● 5resent and future
8/9/2019 gnu hurd manual
6/34
6
Traditi"nal m"n"lithic layerin&
EXTxFS ISOFS NFS
VFS
IPKernel
root user
ifconfig
mount
sh
cp
8/9/2019 gnu hurd manual
7/34
7
Traditi"nal m"n"lithic layerin&● User m"unts thr"u&h $users' "%ti"n
● Need t" as r""t – and fr"wned u%"n
● 9nly ernel %r" ided filesystems● User netw"r thr"u&h ta%
● Need t" as r""t● N" %ers"nal firewall tunin& su%%"rt
8/9/2019 gnu hurd manual
8/34
8/9/2019 gnu hurd manual
9/34
9
& fs layerin&● Su%%"rts a l"t "f nice features
● Trans%arent ft%, webda , smb, (((● 9nly w"r s f"r &n"me a%%licati"ns
● N"t e en in &n"me terminal shells● N"t easily e tensible
● i(e(, d"es n"t c"m%"se well(
8/9/2019 gnu hurd manual
10/34
10
FUS layerin&
EXTxFS ISOFS NFS
IP
user
ifconfig
mount
sh
cp
FUSE
VFS
root
fuse
Kernel
8/9/2019 gnu hurd manual
11/34
11
FUS layerin&, user
EXTxFS ISOFS NFS
ifconfig
mountfuse
IP
sh
cp
FUSE
VFS
root
Kernel
user
8/9/2019 gnu hurd manual
12/34
12
FUS layerin&● 5r" ides a l"t "f nice features, but● :"es n"t c"mbine well by default
● cd ~/.avfs/#ftp:ftp.gnu.org/.../coreutils-6.9.tar.bz2#
● d"es n"t w"r● :"es n"t "%timi;e well by default
● fuseiso9660 ~/.avfs/# ftp:ftp.gnu.org/.../foo.iso ~/mnt
● d"wnl"ads it all*●
:"es n"t %r" ide all r""t features by default● H"w t" deal with %artiti"ned dis ima&e-● e2fsck what?
< Users are still sec"nd class citi;ens
ftp://ftp.gnu.org/.../foo.isoftp://ftp.gnu.org/.../foo.iso
8/9/2019 gnu hurd manual
13/34
13
7icr" ernel layerin&
pfinetproc
auth
ext2fs
root user
sh
cp
Kernel Tasks, memory, IPC
8/9/2019 gnu hurd manual
14/34
14
7icr" ernel layerin&
pfinetproc
auth
ext2fs
root user
sh
cp
Kernel Tasks, memory, IPC
8/9/2019 gnu hurd manual
15/34
15
7icr" ernel layerin&● Ser er crash- N"t a %r"blem
● $="m%uter b"u&ht the farm' is .ust an err"r, n"ts"methin& "f the death
●
asier t" debu&/tune● >ust run &db, &%r"f, ?
● =an dare cra;y thin&s●
The Hurd c"ns"le has dynamic f"nt su%%"rt – See chinese su%%"rt in %seud" &ra%hical m"de @actually
%ure 4G te tm"de*A "f :ebian installer(● Bernel "nly handles Tas s, mem"ry, 5=
8/9/2019 gnu hurd manual
16/34
16
Hurd %"ssibilities
isofs
Kernel
pfinetproc
auth
ext2fs
root user
sh
cpftpfs
8/9/2019 gnu hurd manual
17/34
17
Hurd %"ssibilities € settrans ~/ftp: /hurd/hostmux /hurd/ftpfs /
(just once for good)
€ settrans -a ~/mnt /hurd/iso9660fs~/ftp://ftp.gnu.org/old-gnu/gnu-f2/hurd-F2-main.iso
€ ls ~/mntREADME-or-FAIL
…
● 9nly d"wnl"ads what is needed(● =an be %ermanently st"red in e t2fs € settrans ~/.signature /hurd/run /usr/games/fortune
8/9/2019 gnu hurd manual
18/34
18
H"w d"es it w"r -
isofs
Kernel
pfinetproc
auth
ext2fs
root user
ftpfs
sh
cplibclibc
8/9/2019 gnu hurd manual
19/34
19
8ati"nale
Everything is a @inter%"sableA 85= Translat"rs e %"sed in the FS● The user &ets t" decide what/h"w t" inter%"se
●
+ith"ut need f"r c"stly %trace "r fra&ile libc symb"lsinter%"siti"n(● Native fa er""t/chr""t● Fully irtuali;ed and fine &rained interface
●
>ust need t" use what!s %r" ided by the admin, e(&(● CH97 /● T=5/ 5 stac
and %ile " er it
8/9/2019 gnu hurd manual
20/34
8/9/2019 gnu hurd manual
21/34
21
Dut als"
€ ~/remap/remap.sh /bin/sh $HOME/bin/sh
€ ~/remap/remap.sh /bin $HOME/unionbin
…
● =hec "ut Gui *
8/9/2019 gnu hurd manual
22/34
22
Hurd %"ssibilities @c"nt!edA
open vpn
Kernel
root
pfinet
ext2fs
auth
proc
ftpfs
isofspfinetuser
ext2fs
part
sh
cp
8/9/2019 gnu hurd manual
23/34
23
Hurd %"ssibilities @c"nt!edA
i(e( S9 ima&e inside a %artiti"ned dis ima&e"n ft% " er a 45N
open vpn
Kernel
root
pfinet
ext2fs
auth
proc
ftpfs
isofspfinetuser
ext2fs
part
sh
cp
8/9/2019 gnu hurd manual
24/34
24
Hurd %"ssibilities @c"nt!edA● 45N runnin& as user ● 5arted runnin& as user ● =hr""t runnin& as user ● Tarfs, Emlfs, c sfs, htt%fs, &"%herfs, (((● (((● N" less %"wer than r""t
● Since r""t uses the same mechanism anyway*● ce%t direct hardware access, "f c"urse
– nd still, can chm"d " rw /de /eth0 – nd still, c"uld be interfaced safely than s t" /9 77U
● 7"re %"wer f"r e eryb"dy @r""t and n"n r""tA● ="mbine translat"rs, in ent new "nes with"ut ernel %r"&rammin&, (((
8/9/2019 gnu hurd manual
25/34
26
Nei&hb"ur Hurds
pfinet
proc
authext2fs
root
cpshuser
pfinet
proc
authext2fs
root
cpshuser
Kernel
8/9/2019 gnu hurd manual
26/34
27
Nei&hb"ur Hurds
cpsh cpsh
pfinet
Kernel
user user
proc
authext2fs
rootproc
authext2fs
root
8/9/2019 gnu hurd manual
27/34
28
Sub Hurd
pfinetproc
auth
ext2fs
root
sh
cp
Kernel
user
pfinetproc
auth
ext2fs
user/root
8/9/2019 gnu hurd manual
28/34
29
Nei&hb"ur/Sub Hurd
"" s li e inu c"ntainers● ce%t they can be c"mbined in many ways,
includin& recursi e● Sim%ly the standard features in the Hurd● Safer, because e t2fs, %finet, etc( are n"t shared
● nd c"m%lete●
Since that!s h"w a n"rmal Hurd system is structuredalready( – inu c"ntainers ha e a hard time bein& c"m%letely
c"ntained, e(&( s"und-
8/9/2019 gnu hurd manual
29/34
8/9/2019 gnu hurd manual
30/34
8/9/2019 gnu hurd manual
31/34
32
Future w"r● 7a e an un"fficial :ebian GNU/Hurd +hee;y release **● Een 54H su%%"rt● S T dri er ●
EI O su%%"rt● an&ua&e bindin&s f"r translat"rs● 8ead ahead● Phdd,s"und,usbQdde-● 9fficial :ebian GNU/Hurd >essie-● 6"ur "wn %et %r".ect-
8/9/2019 gnu hurd manual
32/34
33
Hardware su%%"rt
Rternam issue "f all "ur nice micr" ernel %r".ects● B47 / Een su%%"rt
● e era&e e istin& system● N"t satisfact"ry, e en if ery &""d %erf"rmance
● :: layer ● e era&e inu dri ers● Still has t" be maintained● Shared maintenance-
8/9/2019 gnu hurd manual
33/34
34
5e"%le at w"r n"wadays● mili" 5";uel" 7"nf"rt ) &n"me● >eremie B"eni& ) &libc, "%en.d● 9laf Duddenha&en ) c"mmunity, ment"r ● 5in" T"scan" ) B:● Samuel Thibault ) debian installer, aut"builders● Th"mas Schwin&e ) GNU &db, &cc● nd ari"us %"rters ) Gabriele Giac"ne, S ante
Si&nell, ?● 6"u!re welc"me*
8/9/2019 gnu hurd manual
34/34
35
Than s*● htt%)//hurd(&nu("r&/● htt%)//www(debian("r&/%"rts/hurd/● htt%)//%e"%le(debian("r&/Kmbanc /debian hurd(%df ● The increasin& irrele ance "f 5= %erf"rmance f"r
micr" ernel based 9%eratin& Systemshtt%)//citeseer (ist(%su(edu/ iewd"c/d"wnl"ad-d"i 10(1(1(3L( 3Vre% re%1Vty%e %df