Przejdź do treści
Tomasz Wyderka Tomasz Wyderka
PL / EN
Powrót do projektów

OtterLinux

W rozwoju

Minimalistyczna dystrybucja kontenerowa z własnym menedżerem pakietów OtterPkg napisanym w Rust.

Linux Container Rust musl busybox DevOps
OtterLinux - minimalistyczna dystrybucja kontenerowa

O projekcie

OtterLinux to minimalistyczna dystrybucja Linux przeznaczona do środowisk kontenerowych. Wzorowana na Alpine Linux, ale z autorskim menedżerem pakietów OtterPkg napisanym w Rust.

Projekt powstał jako eksperyment edukacyjny i platforma do nauki niskopoziomowego programowania systemowego.

Kluczowe cechy

  • Minimalizm - bazuje na musl i busybox zamiast glibc i GNU coreutils
  • Lekkość - obraz bazowy poniżej 10 MB
  • OtterPkg - własny menedżer pakietów w Rust
  • Konteneryzacja - zoptymalizowany pod Docker/Podman

Stack technologiczny

  • musl - lekkie libc (zamiast glibc)
  • busybox - zestaw narzędzi Unix w jednym binarnym pliku
  • OtterPkg - menedżer pakietów napisany w Rust
  • Podman/Docker - środowisko uruchomieniowe

Budowanie

Tworzenie rootfs

mkdir -p build/rootfs
cd build

# Kompilacja musl
curl -O https://musl.libc.org/releases/musl-1.2.4.tar.gz
tar xzf musl-1.2.4.tar.gz
cd musl-1.2.4
./configure --prefix=/usr --disable-shared
make -j$(nproc)
make install DESTDIR=../rootfs

# Kompilacja busybox
cd ..
curl -O https://busybox.net/downloads/busybox-1.36.0.tar.bz2
tar xjf busybox-1.36.0.tar.bz2
cd busybox-1.36.0
make defconfig
sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config
make -j$(nproc)
make install CONFIG_PREFIX=../rootfs

Budowanie obrazu kontenera

tar -C build/rootfs -czf build/otterlinux-rootfs.tar.gz .

cat <<EOF > Containerfile
FROM scratch
ADD otterlinux-rootfs.tar.gz /
CMD ["/bin/sh"]
EOF

podman build -t otterlinux .
podman run --rm -it otterlinux

Status projektu

Projekt w fazie aktywnego rozwoju. Planowane funkcje:

  • Repozytorium pakietów
  • System aktualizacji
  • Wsparcie dla LXC na Proxmox
  • Dokumentacja i przewodniki

Licencja

Projekt udostępniony na licencji GPL-3.0.