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.