to summarize (on linux): directories with 555 permissions (no files can be created in them) in which the archive needs to write some files:
plan9/mnt/exportfs plan9/mnt/cons these are absolutely necessary in order to extract the distribution, but there are many other files and directories which have no user-writable bit set, and which may be required for proper operation while inside plan9 (for example, one can't modify the acme guide file): directories in which files can't be created (u-w) plan9/mail/fs plan9/tmp plan9/n/d: plan9/n/tapefs plan9/n/a: plan9/n/kremvax plan9/n/c: plan9/n/temp plan9/n/a plan9/n/9 plan9/n/kfs plan9/n/ftp plan9/n/sources plan9/n/boot plan9/n/c plan9/n/paq plan9/n/sid plan9/n/b plan9/n/dist plan9/n/9fat plan9/sys/lib/dist/cdstub plan9/mnt/term plan9/mnt/acme plan9/mnt/web plan9/mnt/lp plan9/mnt/doc plan9/mnt/apeselect plan9/mnt/arch plan9/mnt/netkeys plan9/mnt/ums plan9/mnt/webcookies plan9/mnt/temp plan9/mnt/consoles plan9/mnt/rdb plan9/mnt/wiki plan9/mnt/cd plan9/mnt/apm plan9/mnt/plumb plan9/mnt/wrap plan9/mnt/cons plan9/mnt/exportfs plan9/mnt/keys plan9/mnt/wsys files which can't be modified (u-w): plan9/acme/mail/guide plan9/acme/bin/guide plan9/acme/news/guide plan9/acme/wiki/guide plan9/acme/acid/guide plan9/lib/font/bit/lucidasans/boldunicode.13.font plan9/lib/font/bit/lucidasans/typeunicode.12.font plan9/lib/font/bit/lucidasans/boldunicode.8.font plan9/lib/font/bit/lucidasans/boldunicode.10.font plan9/lib/font/bit/lucidasans/typeunicode.16.font plan9/lib/font/bit/lucidasans/italicunicode.6.font plan9/lib/font/bit/lucidasans/italicunicode.13.font plan9/lib/font/bit/lucidasans/italicunicode.10.font plan9/lib/font/bit/lucidasans/typeunicode.9.font plan9/lib/font/bit/lucidasans/italicunicode.7.font plan9/lib/font/bit/lucidasans/boldunicode.6.font plan9/lib/font/bit/lucidasans/typeunicode.6.font plan9/lib/font/bit/lucidasans/italicunicode.8.font plan9/lib/font/bit/lucidasans/boldunicode.7.font plan9/lib/font/bit/lucida/NOTICE plan9/lib/font/bit/misc/unicode.6x13.font plan9/lib/face/48x48x8/c/coraid.1 plan9/lib/sky/patch.scat plan9/lib/sky/bayer.scat plan9/lib/sky/name.scat plan9/lib/sky/constelnames plan9/lib/sky/mindex.scat plan9/lib/sky/here plan9/lib/sky/abell.scat plan9/lib/sky/conindex.scat plan9/lib/sky/patchindex.scat plan9/lib/sky/estartab plan9/lib/sky/sao.scat plan9/lib/sky/ngc2000type.scat plan9/lib/sky/con.scat plan9/NOTICE plan9/sys/src/cmd/postscript/misc/README plan9/sys/src/cmd/postscript/misc/lp.model plan9/sys/src/cmd/postscript/misc/ibmfont.c plan9/sys/src/cmd/postscript/misc/laserbar.1 plan9/sys/src/cmd/postscript/misc/pscrypt.c plan9/sys/src/cmd/postscript/misc/macfont.c plan9/sys/src/cmd/postscript/misc/setbaud.ps plan9/sys/src/cmd/postscript/misc/laserbar.c plan9/sys/src/9/pc/a100p.cp plan9/sys/src/NOTICE plan9/sys/doc/sam/refs plan9/sys/doc/sam/fig7.pic plan9/sys/doc/sam/sam.ms plan9/sys/doc/sam/sam.tut plan9/sys/doc/sam/fig5.pic plan9/sys/doc/sam/fig6.pic plan9/sys/doc/sam/fig3.bm plan9/sys/doc/sam/fig1.bm plan9/sys/doc/sam/fig2.bm plan9/sys/doc/sam/fig4.bm plan9/sys/lib/postscript/font/NOTICE plan9/sys/lib/webls.denied plan9/sys/lib/ghostscript/font/README plan9/sys/lib/astar/a100p.cp plan9/LICENSE so, to uncompress the archive in linux (or osx, or bsd, i presume) do: $ tar jxvf plan9.tar.bz2 plan9/mnt/cons plan9/mnt/exportfs --mode 755 > /dev/null [messages about ignored headers] $ tar jxvf plan9.tar.bz2 --exclude plan9/mnt/cons --exclude plan9/mnt/exportfs > /dev/null [messages about ignored headers] and to fix the files (until they are fixed in the original archive) do: $ find plan9 -not -perm -200 -print0 | xargs -0 chmod u+w at this point if you have p9p installed you can run the following command to ensure that you have everything uncompressed without any errors: $ 9 bunzip2 < plan9.tar.bz2 | 9 tar xv