school-brainhack / school-brainhack/school-brainhack.github.io

Revise content of CONTAINERS module

Open
#361 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

maintainence
Dominant language
Jupyter Notebook
Stars
42
Forks
185
PR merge metrics
No merged PRs in 30d

Description

Module to maintain

Website: Brainhack Containers module
Code: Jupyter Notebook

Work to be done

I took the module this year and the code provided in the jupyter notebook is not working if you don't have a linux distribution. I'm working on a:
Darwin MacBook-Pro-3.local 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:28:58 PST 2023; root:xnu-10002.81.5~7/RELEASE_X86_64 x86_64

And when I run the code I get:


(base) thomasdagonneau@MacBook-Pro-3 ~ % wget bit.ly/fish-container -O fish.tar mkdir -p container-root && (cd container-root && tar xf ../fish.tar) 
 
WARNING: combining -O with -r or -p will mean that all downloaded content
will be placed in the single file you specified.

Prepended http:// to 'bit.ly/fish-container'
--2025-06-04 10:12:46--  http://bit.ly/fish-container
Resolving bit.ly (bit.ly)... 67.199.248.10, 67.199.248.11
Connecting to bit.ly (bit.ly)|67.199.248.10|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://gist.github.com/jvns/1e8b2dcc2c9afac04acc4701112e3512/raw/5ef7f88cd089a70605b301cdd43f388d728f6817/fish.tar [following]
--2025-06-04 10:12:46--  https://gist.github.com/jvns/1e8b2dcc2c9afac04acc4701112e3512/raw/5ef7f88cd089a70605b301cdd43f388d728f6817/fish.tar
Resolving gist.github.com (gist.github.com)... 140.82.113.3
Connecting to gist.github.com (gist.github.com)|140.82.113.3|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://gist.githubusercontent.com/jvns/1e8b2dcc2c9afac04acc4701112e3512/raw/5ef7f88cd089a70605b301cdd43f388d728f6817/fish.tar [following]
--2025-06-04 10:12:46--  https://gist.githubusercontent.com/jvns/1e8b2dcc2c9afac04acc4701112e3512/raw/5ef7f88cd089a70605b301cdd43f388d728f6817/fish.tar
Resolving gist.githubusercontent.com (gist.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to gist.githubusercontent.com (gist.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16999936 (16M) [application/octet-stream]
Saving to: ‘fish.tar’

fish.tar                                           100%[================================================================================================================>]  16,21M  15,0MB/s    in 1,1s    

2025-06-04 10:12:47 (15,0 MB/s) - ‘fish.tar’ saved [16999936/16999936]

Prepended http:// to 'mkdir'
--2025-06-04 10:12:47--  http://mkdir/
Resolving mkdir (mkdir)... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address ‘mkdir’
Prepended http:// to 'container-root'
--2025-06-04 10:12:47--  http://container-root/
Resolving container-root (container-root)... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address ‘container-root’
FINISHED --2025-06-04 10:12:47--
Total wall clock time: 1,9s
Downloaded: 1 files, 16M in 1,1s (15,0 MB/s)


(base) thomasdagonneau@MacBook-Pro-3 ~ % mkdir -p container-root && (cd container-root && tar xf ../fish.tar)                  
usr/share/terminfo/l/lft-pc850: Can't create 'usr/share/terminfo/l/lft-pc850'
usr/share/terminfo/n/ncr260vt300wpp: Can't create 'usr/share/terminfo/n/ncr260vt300wpp'
usr/share/terminfo/n/ncrvt100wpp: Can't create 'usr/share/terminfo/n/ncrvt100wpp'
usr/share/terminfo/p/p12: Can't create 'usr/share/terminfo/p/p12'
usr/share/terminfo/p/p12-m: Can't create 'usr/share/terminfo/p/p12-m'
usr/share/terminfo/p/p12-m-w: Can't create 'usr/share/terminfo/p/p12-m-w'
usr/share/terminfo/p/p12-w: Can't create 'usr/share/terminfo/p/p12-w'
usr/share/terminfo/p/p14: Can't create 'usr/share/terminfo/p/p14'
usr/share/terminfo/p/p14-m: Can't create 'usr/share/terminfo/p/p14-m'
usr/share/terminfo/p/p14-m-w: Can't create 'usr/share/terminfo/p/p14-m-w'
usr/share/terminfo/p/p14-w: Can't create 'usr/share/terminfo/p/p14-w'
usr/share/terminfo/p/p4: Can't create 'usr/share/terminfo/p/p4'
usr/share/terminfo/p/p5: Can't create 'usr/share/terminfo/p/p5'
usr/share/terminfo/p/p7: Can't create 'usr/share/terminfo/p/p7'
usr/share/terminfo/p/p8: Can't create 'usr/share/terminfo/p/p8'
usr/share/terminfo/p/p8-w: Can't create 'usr/share/terminfo/p/p8-w'
usr/share/terminfo/p/p9: Can't create 'usr/share/terminfo/p/p9'
usr/share/terminfo/p/p9-8: Can't create 'usr/share/terminfo/p/p9-8'
usr/share/terminfo/p/p9-8-w: Can't create 'usr/share/terminfo/p/p9-8-w'
usr/share/terminfo/p/p9-w: Can't create 'usr/share/terminfo/p/p9-w'
usr/share/terminfo/p/prism12: Hard-link target 'usr/share/terminfo/P/P12' does not exist.
usr/share/terminfo/p/prism12-m: Hard-link target 'usr/share/terminfo/P/P12-M' does not exist.
usr/share/terminfo/p/prism12-m-w: Hard-link target 'usr/share/terminfo/P/P12-M-W' does not exist.
usr/share/terminfo/p/prism12-w: Hard-link target 'usr/share/terminfo/P/P12-W' does not exist.
usr/share/terminfo/p/prism14: Hard-link target 'usr/share/terminfo/P/P14' does not exist.
usr/share/terminfo/p/prism14-m: Hard-link target 'usr/share/terminfo/P/P14-M' does not exist.
usr/share/terminfo/p/prism14-m-w: Hard-link target 'usr/share/terminfo/P/P14-M-W' does not exist.
usr/share/terminfo/p/prism14-w: Hard-link target 'usr/share/terminfo/P/P14-W' does not exist.
usr/share/terminfo/p/prism4: Hard-link target 'usr/share/terminfo/P/P4' does not exist.
usr/share/terminfo/p/prism5: Hard-link target 'usr/share/terminfo/P/P5' does not exist.
usr/share/terminfo/p/prism7: Hard-link target 'usr/share/terminfo/P/P7' does not exist.
usr/share/terminfo/p/prism8: Hard-link target 'usr/share/terminfo/P/P8' does not exist.
usr/share/terminfo/p/prism8-w: Hard-link target 'usr/share/terminfo/P/P8-W' does not exist.
usr/share/terminfo/p/prism9: Hard-link target 'usr/share/terminfo/P/P9' does not exist.
usr/share/terminfo/p/prism9-8: Hard-link target 'usr/share/terminfo/P/P9-8' does not exist.
usr/share/terminfo/p/prism9-8-w: Hard-link target 'usr/share/terminfo/P/P9-8-W' does not exist.
usr/share/terminfo/p/prism9-w: Hard-link target 'usr/share/terminfo/P/P9-W' does not exist.
tar: Error exit delayed from previous errors.

(base) thomasdagonneau@MacBook-Pro-3 ~ % sudo chroot $PWD/container-root /bin/sh -c "/bin/mount -t proc proc /proc && /bin/zsh"
Password:
chroot: /bin/sh: Exec format error

I think it doesn't work because I'm not with a linux user but instead a x86_64 mac user.
I couldn't test it but I think the issue would probably apply on a windows OS.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the Brainhack Containers module and the linked “Containers are not magic.ipynb” notebook, starting with the wget, tar, and chroot commands shown in the report. Reproduce the documented steps on the supported platforms and revise the module so its platform requirements, limitations, and expected outcome are clear for macOS and Windows users.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
documentation, operating-systems
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.