ybox 0.9.8__py3-none-any.whl → 0.9.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ybox/__init__.py +1 -1
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/METADATA +47 -34
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/RECORD +7 -7
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/LICENSE +0 -0
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/WHEEL +0 -0
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/entry_points.txt +0 -0
- {ybox-0.9.8.dist-info → ybox-0.9.8.1.dist-info}/top_level.txt +0 -0
ybox/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
"""`ybox` is a tool to easily manage linux distributions in containers"""
|
2
|
-
__version__ = "0.9.8"
|
2
|
+
__version__ = "0.9.8.1"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ybox
|
3
|
-
Version: 0.9.8
|
3
|
+
Version: 0.9.8.1
|
4
4
|
Summary: Securely run Linux distribution inside a container
|
5
5
|
Author-email: Sumedh Wale <sumwale@yahoo.com>, Vishal Rao <vishalrao@gmail.com>
|
6
6
|
License: Copyright (c) 2024-2025 Sumedh Wale and contributors
|
@@ -101,7 +101,7 @@ you can simply launch it from your desktop environment's applications as usual.
|
|
101
101
|
|
102
102
|
In this way this acts as a complete replacement of flatpak/snap while being able to choose
|
103
103
|
from way bigger software repositories, and with applications configured the way they are
|
104
|
-
supposed to be in the original Linux distribution
|
104
|
+
supposed to be in the original Linux distribution.
|
105
105
|
The big difference being that these are just containers where you can open a shell
|
106
106
|
(using `ybox-cmd`) and learn/play as required, or micro-configure stuff. The shell will
|
107
107
|
behave quite like a full Linux installation apart from missing system-level stuff like systemd.
|
@@ -109,37 +109,50 @@ behave quite like a full Linux installation apart from missing system-level stuf
|
|
109
109
|
|
110
110
|
## Installation
|
111
111
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
112
|
+
First install the requirements:
|
113
|
+
|
114
|
+
- Python version 3.9 or higher. All recent Linux distributions should satisfy
|
115
|
+
this but still confirm with `python3 --version`.
|
116
|
+
- Rootless podman or docker. Podman is recommended as it works out of the box for most
|
117
|
+
distributions and container runs as normal non-root user unlike docker that
|
118
|
+
needs to run as root in the container that may break some applications.
|
119
|
+
* For podman this needs installation of `podman` and `slirp4netns` (or `passt` with
|
120
|
+
podman >= 5) packages. Then setup /etc/subuid and /etc/subgid as noted here:
|
121
|
+
[/etc/subuid and /etc/subgid configuration](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md#etcsubuid-and-etcsubgid-configuration).
|
122
|
+
Most distributions will set up subuid/subgid for current user automatically
|
123
|
+
and rootless podman works out of the box after installation (tested on Ubuntu,
|
124
|
+
Arch and Debian). Check with `podman unshare cat /proc/self/uid_map` which
|
125
|
+
should show an output like:
|
126
|
+
```
|
127
|
+
0 1000 1
|
128
|
+
1 100000 65536
|
129
|
+
```
|
130
|
+
where `1000` is the current user's ID (output of `id -u`).
|
131
|
+
* For docker follow the instructions in the official [docs](https://docs.docker.com/engine/security/rootless/).
|
132
|
+
|
133
|
+
Finally install the `ybox` package for the current user using `pip` (`pip` is installed
|
134
|
+
on most Linux distributions by default, or install from your distribution's
|
135
|
+
repository e.g. `python3-pip` for Debian/Ubuntu based distros, `python-pip` on Arch):
|
136
|
+
|
137
|
+
```sh
|
138
|
+
pip install ybox --user
|
139
|
+
```
|
140
|
+
|
141
|
+
Note that newer versions of `pip` disallow installing packages directly and instead
|
142
|
+
require you to install in a custom virtual environment which can be done manually
|
143
|
+
(e.g. bash/zsh: `python3 -m venv ybox-venv && source ybox-env/bin/activate`,
|
144
|
+
fish: `python3 -m venv ybox-venv && source ybox-env/bin/activate.fish`)
|
145
|
+
or automatically using `pipx`. Alternatively you can add `--break-system-packages`
|
146
|
+
flag to the `pip` command above or add it globally for all future packages using
|
147
|
+
`python3 -m pip config set global.break-system-packages true`. The alternative
|
148
|
+
approach works well for `ybox` which has a very minimal set of dependencies but
|
149
|
+
in the rare case you see any issues due to package conflicts, use `pipx` or
|
150
|
+
manual virtual environment.
|
151
|
+
|
152
|
+
Now you can run the `ybox-create` and other utilities that are normally installed
|
153
|
+
in your `~/.local/bin` directory which should be in PATH for modern Linux distributions.
|
154
|
+
If not, then add it to your PATH in your `.bashrc` (for bash) or the configuration
|
155
|
+
file of your login shell.
|
143
156
|
|
144
157
|
All the `ybox-*` utilities will show detailed help with the `-h`/`--help` option.
|
145
158
|
|
@@ -182,7 +195,7 @@ e.g. `~/.local/share/ybox/ybox-arch_apps/home` for the above example.
|
|
182
195
|
|
183
196
|
When shared root directory is enabled (which is the default in the shipped profiles), then
|
184
197
|
it uses the common distribution path in `~/.local/share/ybox/SHARED_ROOTS/<distribution>`
|
185
|
-
by default
|
198
|
+
by default e.g. `~/.local/share/ybox/SHARED_ROOTS/arch` for the Arch Linux guests.
|
186
199
|
|
187
200
|
For more advanced usage, you can copy from the available profiles in `src/ybox/conf/profiles`
|
188
201
|
into `~/.config/ybox/profiles`, then edit as required. The `basic.ini` profile lists
|
@@ -1,4 +1,4 @@
|
|
1
|
-
ybox/__init__.py,sha256=
|
1
|
+
ybox/__init__.py,sha256=kl9lbkmRtTLHzBTo46cujYUSW33NWkFAXy2YJ9KXVzQ,98
|
2
2
|
ybox/cmd.py,sha256=49a1Oo1YgLbXlHqZ1PL1okKGtxlXya1DClM-uh1TuKI,14213
|
3
3
|
ybox/config.py,sha256=bFz6MIVCEbwOjG0m6L5JPngQqta5J9aXU4osKtD2QDE,9632
|
4
4
|
ybox/env.py,sha256=vfHuvTOpApR4fLx1vePWRrTYxzo50c-7dFcnm1-vDHo,8738
|
@@ -68,9 +68,9 @@ ybox/schema/migrate/0.9.0:0.9.1.sql,sha256=e9JGwrjFZXdWKGv2JQZlKcWz8DmOuUARpToSs
|
|
68
68
|
ybox/schema/migrate/0.9.1:0.9.2.sql,sha256=X5J3unDS0eLeVvYKxQgx-iUBoAOk9T2suO34pWlQ-lE,362
|
69
69
|
ybox/schema/migrate/0.9.2:0.9.3.sql,sha256=Y7GeBSuEEs7Hs9hh-KYDARgeeMgwQwercvTB5P_-k6I,102
|
70
70
|
ybox/schema/migrate/0.9.5:0.9.6.sql,sha256=wqYhmputlUQzBI5zfP7O5kqIFWAbZQ05kolyHK4714A,70
|
71
|
-
ybox-0.9.8.dist-info/LICENSE,sha256=7GbFgERMXSwD1VyLA5bo_XHvJipmNEUhDW5Sy51TFeY,1077
|
72
|
-
ybox-0.9.8.dist-info/METADATA,sha256=
|
73
|
-
ybox-0.9.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
74
|
-
ybox-0.9.8.dist-info/entry_points.txt,sha256=xDlI_84Hl3ytYO_ERyt0rkJ4ioUF8Z1r49Hx1xL28Rk,243
|
75
|
-
ybox-0.9.8.dist-info/top_level.txt,sha256=DYX7jvndHcBaJXLJ8vDyKrq0_KWoSeXXFq8r0d5L6Nk,5
|
76
|
-
ybox-0.9.8.dist-info/RECORD,,
|
71
|
+
ybox-0.9.8.1.dist-info/LICENSE,sha256=7GbFgERMXSwD1VyLA5bo_XHvJipmNEUhDW5Sy51TFeY,1077
|
72
|
+
ybox-0.9.8.1.dist-info/METADATA,sha256=spbTqpj_dPdL2S9_17cmeiPcDuvFTY0mGzq0XMYvRcw,23682
|
73
|
+
ybox-0.9.8.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
74
|
+
ybox-0.9.8.1.dist-info/entry_points.txt,sha256=xDlI_84Hl3ytYO_ERyt0rkJ4ioUF8Z1r49Hx1xL28Rk,243
|
75
|
+
ybox-0.9.8.1.dist-info/top_level.txt,sha256=DYX7jvndHcBaJXLJ8vDyKrq0_KWoSeXXFq8r0d5L6Nk,5
|
76
|
+
ybox-0.9.8.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|