Design: Use busybox as the UnifyFS shell
Open
Nobody has claimed this yet.
question
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
In light of the https://github.com/LLNL/UnifyFS/pull/425, I wanted to offer an alternative idea for a UnifyFS shell. I'd like to propose building busybox (https://en.wikipedia.org/wiki/BusyBox) against UnifyFS and using that as our shell. Benefits:
- It gives us all the unix commands, with all their command line options, and a shell (ash), in a single binary, allowing us to run commands directly in /unifyfs. This gives us a lot of power. For example:
$ echo "hello world" > /unifyfs/helloworld.txt
$ ls -lStr /unifyfs
/unifyfs $ tar -cf mycheckpoints.tar.gz checkpoints/*
$ wget -O /unifyfs/file https://path/to/file
$ grep foo /unifyfs/checkpoints*
- Effectively removes the need for a FUSE driver
- Gives us the option to write shell scripts for our automated tests.
- Gives our users a familiar shell environment to manipulate their files.
- Saves us from having to write, test, document, maintain, and support a custom shell for the lifetime of the UnifyFS project.
- Gives us the ability to build other commands against Unifyfs and use them with the busybox commands. For example, we could build bash against Unify, and have it use the busybox commands.
Thoughts?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading pull request #425 and the BusyBox proposal in this issue, focusing on how the proposed ash shell would interact with UnifyFS. Done means reaching a project decision on whether to pursue this design and documenting the resulting implementation scope or rejection rationale.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, shell
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100