УРА! УРА! УРА!
ДРУЗЬЯ! Новый релиз CRUX 3.7 вышел из стадии глубокого тестирования, пакетная база заморожена, а это значит... Это значит, что мы теперь можем более точно увидеть diff нового выпуска этого замурррчательного дистрибутива CRUX 3.7! УРА!
>>> CRUX 3.7 RC2 (1.1GB) — Скачать официальную сборку CRUX 3.7 RC2 с сайта автора.
Но у нас свой, особый путь, за что мы все так любим CRUX — за сорц-базед и красоту дистрибутива в своей простоте, в том числе за счёт элементарной пересборки пакетной базы. prt-get update -fr `prt-get listinst`
Поэтому... Поэтому прямо сейчас.
https://www.netboot.ru/Screenshot_2022-07-28_08-45-28.png — Прямо сейчас я с пылу-жару собираю новенькую пакетную базу на двух AMD EPYC 7742 [128 / 256] загрузившись в tmpfs!
>>> Скачать LIVE ISO (260MB) — Загрузочный ISO собранный при помощи моего booty, на последнем ядре Linux 5.18.14, который загрузит свеженький CRUX 3.7 прямо в tmpfs или overlayfs+squashfs на ваш выбор!
На секундочку, у меня есть последний CRUX 3.6 который мы хотим обновить до CRUX 3.7, какие различия версий пакетов?
# ports -d
Collection Name Port Installed
core bash 5.1.16-2 5.1.16-1
core binutils 2.38-1 2.35.2-1
core dhcpcd 9.4.1-2 9.4.1-1
core exim 4.96-1 4.95-1
core filesystem 3.7-2 3.6-2
core gcc 12.1.0-1 10.4.0-1
core glibc 2.35-2 2.32-7
core glibc-32 2.35-1 2.32-7
core less 608-1 590-1
core libffi 3.4.2-1 3.3-1
core libnsl 2.0.0-1 1.3.0-1
core libtirpc 1.3.2-2 1.3.2-1
core mlocate 0.26-3 0.26-2
core openssl 3.0.5-1 1.1.1q-1
core perl 5.36.0-1 5.32.1-1
core pkgutils 5.40.9-1 5.40.7-1
core ports 1.6-3 1.6-2
core procps 4.0.0-1 3.3.17-1
core prt-get 5.19.6-1 5.19.5-2
core python3 3.10.5-1 3.9.13-1
core python3-setuptools 63.1.0-1 63.2.0-1
core rc 2.32-2 2.31-3
core rdate 0.10-1 0.9-1
core signify 0.10-1 20200707-1
opt wget 1.21.2-1 1.21.3-1
Более детально посмотрим различия CRUX 3.6 и грядущего CRUX 3.7!
# ls /tmp/tmp.O3X39q7qQf/usr/ports/core/ > /tmp/3.7
# ls ports-3.6.1/core/ > /tmp/3.6
# diff /tmp/3.6 /tmp/3.7
12a13
> cmake
20a22
> dumb_runtime_dir
46a49,50
> jansson
> jsoncpp
52a57
> libedit
54a60
> libmnl
56a63,64
> libnftnl
> libnghttp2
58a67
> libpcre2
62a72
> libuv
63a74
> lzlib
68a80
> meson
72a85,86
> nftables
> ninja
78c92
< pkg-config
---
> pkgconf
84a99
> python3-setuptools
87a103
> rhash
Добавлено в core:
- cmake
- dumb_runtime_dir
- jansson
- jsoncpp
- libedit
- libmnl
- libnftnl
- libnghttp2
- libpcre2
- libuv
- lzlib
- meson
- nftables
- ninja
- pkgconf
- python3-setuptools
- rhash
Удалено из core:
- pkg-config
- wget
Насколько же новый CRUX 3.7 стал жирнее в сравнении с предыдущим CRUX 3.6?
Установим оба!
Правила следующие: установки одного core недостаточно для работы CRUX, если речь не идёт об chroot, мы же хотим загружаться в установленную систему? Поэтому ставить мы будем не только core, а дополнительно возьмём загрузчик grub2 в качестве обязательного к установке пакета.
CRUX 3.6
# mkdir /tmp/crux36 ; mount -t tmpfs tmpfs /tmp/crux36 ; mkdir -p /tmp/crux36/var/lib/pkg ; touch /tmp/crux36/var/lib/pkg/db ; for pkg in ports-3.6.1/*/*/*.pkg.tar.xz ; do echo Install $pkg ... ; pkgadd --root /tmp/crux36 $pkg ; done
Install ports-3.6.1/core/acl/acl#2.3.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/attr/attr#2.5.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/autoconf/autoconf#2.71-1.pkg.tar.xz ...
Install ports-3.6.1/core/automake/automake#1.16.5-1.pkg.tar.xz ...
Install ports-3.6.1/core/bash/bash#5.1.16-1.pkg.tar.xz ...
Install ports-3.6.1/core/bc/bc#1.07.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/binutils/binutils#2.35.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/bison/bison#3.8.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/bzip2/bzip2#1.0.8-3.pkg.tar.xz ...
Install ports-3.6.1/core/ca-certificates/ca-certificates#20220719-1.pkg.tar.xz ...
Install ports-3.6.1/core/coreutils/coreutils#9.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/cpio/cpio#2.13-2.pkg.tar.xz ...
Install ports-3.6.1/core/curl/curl#7.84.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/dash/dash#0.5.11.5-1.pkg.tar.xz ...
Install ports-3.6.1/core/db/db#5.3.28-2.pkg.tar.xz ...
Install ports-3.6.1/core/dcron/dcron#4.5-3.pkg.tar.xz ...
Install ports-3.6.1/core/dhcpcd/dhcpcd#9.4.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/diffutils/diffutils#3.8-1.pkg.tar.xz ...
Install ports-3.6.1/core/e2fsprogs/e2fsprogs#1.46.5-1.pkg.tar.xz ...
Install ports-3.6.1/core/ed/ed#1.18-1.pkg.tar.xz ...
Install ports-3.6.1/core/elfutils/elfutils#0.187-1.pkg.tar.xz ...
Install ports-3.6.1/core/eudev/eudev#3.2.11-1.pkg.tar.xz ...
Install ports-3.6.1/core/exim/exim#4.95-1.pkg.tar.xz ...
Install ports-3.6.1/core/expat/expat#2.4.8-1.pkg.tar.xz ...
Install ports-3.6.1/core/file/file#5.42-1.pkg.tar.xz ...
Install ports-3.6.1/core/filesystem/filesystem#3.6-2.pkg.tar.xz ...
Install ports-3.6.1/core/findutils/findutils#4.9.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/flex/flex#2.6.4-2.pkg.tar.xz ...
Install ports-3.6.1/core/gawk/gawk#5.1.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/gcc/gcc#10.4.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/gdbm/gdbm#1.23-1.pkg.tar.xz ...
Install ports-3.6.1/core/gettext/gettext#0.21-1.pkg.tar.xz ...
Install ports-3.6.1/core/glibc-32/glibc-32#2.32-7.pkg.tar.xz ...
Install ports-3.6.1/core/glibc/glibc#2.32-7.pkg.tar.xz ...
Install ports-3.6.1/core/gperf/gperf#3.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/grep/grep#3.7-1.pkg.tar.xz ...
Install ports-3.6.1/core/groff/groff#1.22.4-1.pkg.tar.xz ...
Install ports-3.6.1/core/gzip/gzip#1.12-1.pkg.tar.xz ...
Install ports-3.6.1/core/hdparm/hdparm#9.64-1.pkg.tar.xz ...
Install ports-3.6.1/core/httpup/httpup#0.5.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/iana-etc/iana-etc#20220719-1.pkg.tar.xz ...
Install ports-3.6.1/core/inetutils/inetutils#2.3-1.pkg.tar.xz ...
Install ports-3.6.1/core/iproute2/iproute2#5.18.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/iptables/iptables#1.8.8-1.pkg.tar.xz ...
Install ports-3.6.1/core/kbd/kbd#2.5.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/kmod/kmod#30-1.pkg.tar.xz ...
Install ports-3.6.1/core/less/less#590-1.pkg.tar.xz ...
Install ports-3.6.1/core/libarchive/libarchive#3.6.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/libcap/libcap#2.65-1.pkg.tar.xz ...
Install ports-3.6.1/core/libdevmapper/libdevmapper#1.02.185-1.pkg.tar.xz ...
Install ports-3.6.1/core/libffi/libffi#3.3-1.pkg.tar.xz ...
Install ports-3.6.1/core/libgmp/libgmp#6.2.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/libmpc/libmpc#1.2.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/libmpfr/libmpfr#4.1.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/libnsl/libnsl#1.3.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/libpcre/libpcre#8.45-1.pkg.tar.xz ...
Install ports-3.6.1/core/libpipeline/libpipeline#1.5.6-1.pkg.tar.xz ...
Install ports-3.6.1/core/libtirpc/libtirpc#1.3.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/libtool/libtool#2.4.7-1.pkg.tar.xz ...
Install ports-3.6.1/core/libusb/libusb#1.0.26-1.pkg.tar.xz ...
Install ports-3.6.1/core/linux-pam/linux-pam#1.5.2-3.pkg.tar.xz ...
Install ports-3.6.1/core/lzo/lzo#2.10-1.pkg.tar.xz ...
Install ports-3.6.1/core/m4/m4#1.4.19-1.pkg.tar.xz ...
Install ports-3.6.1/core/make/make#4.3-1.pkg.tar.xz ...
Install ports-3.6.1/core/man-db/man-db#2.10.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/man-pages/man-pages#5.13-1.pkg.tar.xz ...
Install ports-3.6.1/core/mlocate/mlocate#0.26-2.pkg.tar.xz ...
Install ports-3.6.1/core/mpdecimal/mpdecimal#2.5.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/nasm/nasm#2.15.05-1.pkg.tar.xz ...
Install ports-3.6.1/core/ncurses/ncurses#6.3-1.pkg.tar.xz ...
Install ports-3.6.1/core/openssh/openssh#9.0p1-1.pkg.tar.xz ...
Install ports-3.6.1/core/openssl/openssl#1.1.1q-1.pkg.tar.xz ...
Install ports-3.6.1/core/patch/patch#2.7.6.17-9c98-1.pkg.tar.xz ...
Install ports-3.6.1/core/pciutils/pciutils#3.8.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/perl/perl#5.32.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/pkg-config/pkg-config#0.29.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/pkgutils/pkgutils#5.40.7-1.pkg.tar.xz ...
Install ports-3.6.1/core/ports/ports#1.6-2.pkg.tar.xz ...
Install ports-3.6.1/core/procps/procps#3.3.17-1.pkg.tar.xz ...
Install ports-3.6.1/core/prt-get/prt-get#5.19.5-2.pkg.tar.xz ...
Install ports-3.6.1/core/psmisc/psmisc#23.5-1.pkg.tar.xz ...
Install ports-3.6.1/core/python3/python3#3.9.13-1.pkg.tar.xz ...
Install ports-3.6.1/core/rc/rc#2.31-3.pkg.tar.xz ...
Install ports-3.6.1/core/rdate/rdate#0.9-1.pkg.tar.xz ...
Install ports-3.6.1/core/readline/readline#8.1.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/rsync/rsync#3.2.4-1.pkg.tar.xz ...
Install ports-3.6.1/core/sed/sed#4.8-1.pkg.tar.xz ...
Install ports-3.6.1/core/shadow/shadow#4.11.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/signify/signify#20200707-1.pkg.tar.xz ...
Install ports-3.6.1/core/sqlite3/sqlite3#3.39.2-1.pkg.tar.xz ...
Install ports-3.6.1/core/start-stop-daemon/start-stop-daemon#20210417-1.pkg.tar.xz ...
Install ports-3.6.1/core/sudo/sudo#1.9.11p3-1.pkg.tar.xz ...
Install ports-3.6.1/core/sysfsutils/sysfsutils#2.1.1-1.pkg.tar.xz ...
Install ports-3.6.1/core/sysklogd/sysklogd#2.4.0-1.pkg.tar.xz ...
Install ports-3.6.1/core/sysvinit/sysvinit#3.04-1.pkg.tar.xz ...
Install ports-3.6.1/core/tar/tar#1.34-1.pkg.tar.xz ...
Install ports-3.6.1/core/time/time#1.9-1.pkg.tar.xz ...
Install ports-3.6.1/core/tzdata/tzdata#2022a-1.pkg.tar.xz ...
Install ports-3.6.1/core/usbutils/usbutils#014-1.pkg.tar.xz ...
Install ports-3.6.1/core/util-linux/util-linux#2.38-1.pkg.tar.xz ...
Install ports-3.6.1/core/vim/vim#9.0.0054-1.pkg.tar.xz ...
Install ports-3.6.1/core/wget/wget#1.21.3-1.pkg.tar.xz ...
Install ports-3.6.1/core/which/which#2.21-2.pkg.tar.xz ...
Install ports-3.6.1/core/xz/xz#5.2.5-1.pkg.tar.xz ...
Install ports-3.6.1/core/zlib/zlib#1.2.12-1.pkg.tar.xz ...
Install ports-3.6.1/core/zstd/zstd#1.5.2-1.pkg.tar.xz ...
Install ports-3.6.1/opt/fakeroot/fakeroot#1.29-1.pkg.tar.xz ...
Install ports-3.6.1/opt/freetype/freetype#2.12.1-1.pkg.tar.xz ...
Install ports-3.6.1/opt/grub2-efi/grub2-efi#2.06-1.pkg.tar.xz ...
Install ports-3.6.1/opt/grub2/grub2#2.06-2.pkg.tar.xz ...
Install ports-3.6.1/opt/iputils/iputils#20211215-1.pkg.tar.xz ...
Install ports-3.6.1/opt/libpng/libpng#1.6.37-1.pkg.tar.xz ...
Install ports-3.6.1/opt/meson/meson#0.63.0-1.pkg.tar.xz ...
Install ports-3.6.1/opt/ninja/ninja#1.11.0-1.pkg.tar.xz ...
Install ports-3.6.1/opt/python3-setuptools/python3-setuptools#63.2.0-1.pkg.tar.xz ...
# df -h /tmp/crux36
Filesystem Size Used Avail Use% Mounted on
tmpfs 40G 761M 39G 2% /tmp/crux36
761МБ занимает обновлённый CRUX 3.6 в установленном виде!
CRUX 3.7
# mkdir /tmp/crux37 ; mount -t tmpfs tmpfs /tmp/crux37 ; mkdir -p /tmp/crux37/var/lib/pkg ; touch /tmp/crux37/var/lib/pkg/db ; for pkg in ports-3.7/*/*/*.pkg.tar.xz ; do echo Install $pkg ... ; pkgadd --root /tmp/crux37 $pkg ; done
Install ports-3.7/core/acl/acl#2.3.1-1.pkg.tar.xz ...
Install ports-3.7/core/attr/attr#2.5.1-1.pkg.tar.xz ...
Install ports-3.7/core/autoconf/autoconf#2.71-1.pkg.tar.xz ...
Install ports-3.7/core/automake/automake#1.16.5-1.pkg.tar.xz ...
Install ports-3.7/core/bash/bash#5.1.16-2.pkg.tar.xz ...
Install ports-3.7/core/bc/bc#1.07.1-1.pkg.tar.xz ...
Install ports-3.7/core/binutils/binutils#2.38-1.pkg.tar.xz ...
Install ports-3.7/core/bison/bison#3.8.2-1.pkg.tar.xz ...
Install ports-3.7/core/bzip2/bzip2#1.0.8-3.pkg.tar.xz ...
Install ports-3.7/core/ca-certificates/ca-certificates#20220719-1.pkg.tar.xz ...
Install ports-3.7/core/cmake/cmake#3.23.2-1.pkg.tar.xz ...
Install ports-3.7/core/coreutils/coreutils#9.1-1.pkg.tar.xz ...
Install ports-3.7/core/cpio/cpio#2.13-2.pkg.tar.xz ...
Install ports-3.7/core/curl/curl#7.84.0-1.pkg.tar.xz ...
Install ports-3.7/core/dash/dash#0.5.11.5-1.pkg.tar.xz ...
Install ports-3.7/core/db/db#5.3.28-2.pkg.tar.xz ...
Install ports-3.7/core/dcron/dcron#4.5-3.pkg.tar.xz ...
Install ports-3.7/core/dhcpcd/dhcpcd#9.4.1-2.pkg.tar.xz ...
Install ports-3.7/core/diffutils/diffutils#3.8-1.pkg.tar.xz ...
Install ports-3.7/core/dumb_runtime_dir/dumb_runtime_dir#1.0.4-1.pkg.tar.xz ...
Install ports-3.7/core/e2fsprogs/e2fsprogs#1.46.5-1.pkg.tar.xz ...
Install ports-3.7/core/ed/ed#1.18-1.pkg.tar.xz ...
Install ports-3.7/core/elfutils/elfutils#0.187-1.pkg.tar.xz ...
Install ports-3.7/core/eudev/eudev#3.2.11-1.pkg.tar.xz ...
Install ports-3.7/core/exim/exim#4.96-1.pkg.tar.xz ...
Install ports-3.7/core/expat/expat#2.4.8-1.pkg.tar.xz ...
Install ports-3.7/core/file/file#5.42-1.pkg.tar.xz ...
Install ports-3.7/core/filesystem/filesystem#3.7-2.pkg.tar.xz ...
Install ports-3.7/core/findutils/findutils#4.9.0-1.pkg.tar.xz ...
Install ports-3.7/core/flex/flex#2.6.4-2.pkg.tar.xz ...
Install ports-3.7/core/gawk/gawk#5.1.1-1.pkg.tar.xz ...
Install ports-3.7/core/gcc/gcc#12.1.0-1.pkg.tar.xz ...
Install ports-3.7/core/gdbm/gdbm#1.23-1.pkg.tar.xz ...
Install ports-3.7/core/gettext/gettext#0.21-1.pkg.tar.xz ...
Install ports-3.7/core/glibc-32/glibc-32#2.35-1.pkg.tar.xz ...
Install ports-3.7/core/glibc/glibc#2.35-2.pkg.tar.xz ...
Install ports-3.7/core/gperf/gperf#3.1-1.pkg.tar.xz ...
Install ports-3.7/core/grep/grep#3.7-1.pkg.tar.xz ...
Install ports-3.7/core/groff/groff#1.22.4-1.pkg.tar.xz ...
Install ports-3.7/core/gzip/gzip#1.12-1.pkg.tar.xz ...
Install ports-3.7/core/hdparm/hdparm#9.64-1.pkg.tar.xz ...
Install ports-3.7/core/httpup/httpup#0.5.0-1.pkg.tar.xz ...
Install ports-3.7/core/iana-etc/iana-etc#20220719-1.pkg.tar.xz ...
Install ports-3.7/core/inetutils/inetutils#2.3-1.pkg.tar.xz ...
Install ports-3.7/core/iproute2/iproute2#5.18.0-1.pkg.tar.xz ...
Install ports-3.7/core/iptables/iptables#1.8.8-1.pkg.tar.xz ...
Install ports-3.7/core/jansson/jansson#2.14-1.pkg.tar.xz ...
Install ports-3.7/core/jsoncpp/jsoncpp#1.9.5-1.pkg.tar.xz ...
Install ports-3.7/core/kbd/kbd#2.5.1-1.pkg.tar.xz ...
Install ports-3.7/core/kmod/kmod#30-1.pkg.tar.xz ...
Install ports-3.7/core/less/less#608-1.pkg.tar.xz ...
Install ports-3.7/core/libarchive/libarchive#3.6.1-1.pkg.tar.xz ...
Install ports-3.7/core/libcap/libcap#2.65-1.pkg.tar.xz ...
Install ports-3.7/core/libdevmapper/libdevmapper#1.02.185-1.pkg.tar.xz ...
Install ports-3.7/core/libedit/libedit#20210910_3.1-1.pkg.tar.xz ...
Install ports-3.7/core/libffi/libffi#3.4.2-1.pkg.tar.xz ...
Install ports-3.7/core/libgmp/libgmp#6.2.1-1.pkg.tar.xz ...
Install ports-3.7/core/libmnl/libmnl#1.0.5-1.pkg.tar.xz ...
Install ports-3.7/core/libmpc/libmpc#1.2.1-1.pkg.tar.xz ...
Install ports-3.7/core/libmpfr/libmpfr#4.1.0-1.pkg.tar.xz ...
Install ports-3.7/core/libnftnl/libnftnl#1.2.2-1.pkg.tar.xz ...
Install ports-3.7/core/libnghttp2/libnghttp2#1.48.0-1.pkg.tar.xz ...
Install ports-3.7/core/libnsl/libnsl#2.0.0-1.pkg.tar.xz ...
Install ports-3.7/core/libpcre/libpcre#8.45-1.pkg.tar.xz ...
Install ports-3.7/core/libpcre2/libpcre2#10.40-1.pkg.tar.xz ...
Install ports-3.7/core/libpipeline/libpipeline#1.5.6-1.pkg.tar.xz ...
Install ports-3.7/core/libtirpc/libtirpc#1.3.2-2.pkg.tar.xz ...
Install ports-3.7/core/libtool/libtool#2.4.7-1.pkg.tar.xz ...
Install ports-3.7/core/libusb/libusb#1.0.26-1.pkg.tar.xz ...
Install ports-3.7/core/libuv/libuv#1.44.1-1.pkg.tar.xz ...
Install ports-3.7/core/linux-pam/linux-pam#1.5.2-3.pkg.tar.xz ...
Install ports-3.7/core/lzlib/lzlib#1.12-1.pkg.tar.xz ...
Install ports-3.7/core/lzo/lzo#2.10-1.pkg.tar.xz ...
Install ports-3.7/core/m4/m4#1.4.19-1.pkg.tar.xz ...
Install ports-3.7/core/make/make#4.3-1.pkg.tar.xz ...
Install ports-3.7/core/man-db/man-db#2.10.2-1.pkg.tar.xz ...
Install ports-3.7/core/man-pages/man-pages#5.13-1.pkg.tar.xz ...
Install ports-3.7/core/meson/meson#0.63.0-1.pkg.tar.xz ...
Install ports-3.7/core/mlocate/mlocate#0.26-3.pkg.tar.xz ...
Install ports-3.7/core/mpdecimal/mpdecimal#2.5.1-1.pkg.tar.xz ...
Install ports-3.7/core/nasm/nasm#2.15.05-1.pkg.tar.xz ...
Install ports-3.7/core/ncurses/ncurses#6.3-1.pkg.tar.xz ...
Install ports-3.7/core/nftables/nftables#1.0.4-1.pkg.tar.xz ...
Install ports-3.7/core/ninja/ninja#1.11.0-1.pkg.tar.xz ...
Install ports-3.7/core/openssh/openssh#9.0p1-1.pkg.tar.xz ...
Install ports-3.7/core/openssl/openssl#3.0.5-1.pkg.tar.xz ...
Install ports-3.7/core/patch/patch#2.7.6.17-9c98-1.pkg.tar.xz ...
Install ports-3.7/core/pciutils/pciutils#3.8.0-1.pkg.tar.xz ...
Install ports-3.7/core/perl/perl#5.36.0-1.pkg.tar.xz ...
Install ports-3.7/core/pkgconf/pkgconf#1.8.0-1.pkg.tar.xz ...
Install ports-3.7/core/pkgutils/pkgutils#5.40.9-1.pkg.tar.xz ...
Install ports-3.7/core/ports/ports#1.6-3.pkg.tar.xz ...
Install ports-3.7/core/procps/procps#4.0.0-1.pkg.tar.xz ...
Install ports-3.7/core/prt-get/prt-get#5.19.6-1.pkg.tar.xz ...
Install ports-3.7/core/psmisc/psmisc#23.5-1.pkg.tar.xz ...
Install ports-3.7/core/python3-setuptools/python3-setuptools#63.1.0-1.pkg.tar.xz ...
Install ports-3.7/core/python3/python3#3.10.5-1.pkg.tar.xz ...
Install ports-3.7/core/rc/rc#2.32-2.pkg.tar.xz ...
Install ports-3.7/core/rdate/rdate#0.10-1.pkg.tar.xz ...
Install ports-3.7/core/readline/readline#8.1.2-1.pkg.tar.xz ...
Install ports-3.7/core/rhash/rhash#1.4.3-1.pkg.tar.xz ...
Install ports-3.7/core/rsync/rsync#3.2.4-1.pkg.tar.xz ...
Install ports-3.7/core/sed/sed#4.8-1.pkg.tar.xz ...
Install ports-3.7/core/shadow/shadow#4.11.1-1.pkg.tar.xz ...
Install ports-3.7/core/signify/signify#0.10-1.pkg.tar.xz ...
Install ports-3.7/core/sqlite3/sqlite3#3.39.2-1.pkg.tar.xz ...
Install ports-3.7/core/start-stop-daemon/start-stop-daemon#20210417-1.pkg.tar.xz ...
Install ports-3.7/core/sudo/sudo#1.9.11p3-1.pkg.tar.xz ...
Install ports-3.7/core/sysfsutils/sysfsutils#2.1.1-1.pkg.tar.xz ...
Install ports-3.7/core/sysklogd/sysklogd#2.4.0-1.pkg.tar.xz ...
Install ports-3.7/core/sysvinit/sysvinit#3.04-1.pkg.tar.xz ...
Install ports-3.7/core/tar/tar#1.34-1.pkg.tar.xz ...
Install ports-3.7/core/time/time#1.9-1.pkg.tar.xz ...
Install ports-3.7/core/tzdata/tzdata#2022a-1.pkg.tar.xz ...
Install ports-3.7/core/usbutils/usbutils#014-1.pkg.tar.xz ...
Install ports-3.7/core/util-linux/util-linux#2.38-1.pkg.tar.xz ...
Install ports-3.7/core/vim/vim#9.0.0054-1.pkg.tar.xz ...
Install ports-3.7/core/which/which#2.21-2.pkg.tar.xz ...
Install ports-3.7/core/xz/xz#5.2.5-1.pkg.tar.xz ...
Install ports-3.7/core/zlib/zlib#1.2.12-1.pkg.tar.xz ...
Install ports-3.7/core/zstd/zstd#1.5.2-1.pkg.tar.xz ...
Install ports-3.7/opt/fakeroot/fakeroot#1.29-1.pkg.tar.xz ...
Install ports-3.7/opt/freetype/freetype#2.12.1-1.pkg.tar.xz ...
Install ports-3.7/opt/grub2-efi/grub2-efi#2.06-1.pkg.tar.xz ...
Install ports-3.7/opt/grub2/grub2#2.06-2.pkg.tar.xz ...
Install ports-3.7/opt/libpng/libpng#1.6.37-1.pkg.tar.xz ...
# df -h /tmp/crux37
Filesystem Size Used Avail Use% Mounted on
tmpfs 40G 833M 39G 3% /tmp/crux37
833M занимает последний CRUX 3.7 в установленном виде!
Даже не смотря на то, что часть ключевых пакетов из opt была перемещена в core, форы новому CRUX 3.7 это не дало.
Факт! CRUX 3.7 стал жирнее на 72 мегабайта!
Но это ещё не всё, давайте проведём другой более интересный эксперимент, всё таки нам нужно установить CRUX как операционную систему.
Для этого мы создадим образ виртуальной машины размером ровно 1,000,000,000 Байт == 1 ГБайт! Поместится ли наш жирненький пингвин в ней?
Почему выбран именно такой размер файла образа? Да всё просто. Для установки системы на VDS намного проще сперва развернуть систему локально в виртуальной машине, настроить её, а затем этот образ с системой целиком залить по сети на диск VDS, используя команду wget -qO - site/raw_image | dd of=/dev/vda status=progress
, поэтому в наших интересах получить оптимальный размер для такого образа диска.
Почему жирненький пингвин может не поместиться? Потому что 1 Гбайт будет занимать не столько сам пингвин, сколько мета-информация о разделах диска, файловая система и тому подобное. Может и не влезть. Да.
И так, погнали!
# qemu-img create -f raw vm/CRUX-3-6.img 1000000000
Formatting 'vm/CRUX-3-6.img', fmt=raw size=1000000000
# qemu-img create -f raw vm/CRUX-3-7.img 1000000000
Formatting 'vm/CRUX-3-7.img', fmt=raw size=1000000000
# ls -la vm/
total 81261288
drwxr-xr-x 3 root root 4096 Jul 28 06:40 .
drwxr-x--- 9 root root 4096 Jul 27 13:24 ..
-rw-r--r-- 1 root root 1000000000 Jul 28 06:41 CRUX-3-6.img
-rw-r--r-- 1 root root 1000000000 Jul 28 06:41 CRUX-3-7.img
-rw-r--r-- 1 root root 30000000000 Jul 28 06:41 CRUX-CorePorts.img
-rw-r--r-- 1 root root 50000000000 Jul 28 06:35 CRUX-DocumentsAndSettings.img
-rw-r--r-- 1 root root 10000000000 Jul 19 08:37 CRUX-WebServer-RootServer.img
drwxr-xr-x 2 root root 4096 Jul 18 14:37 old
Абсолютно все те же самые пакеты будут установлены в виртуальных машинах.
Произведём установку CRUX 3.6 и CRUX 3.7 на образы виртуалок как в chroot, а затем установим загрузчик grub2 и подготовим образы дисков к загрузке внутри уже собственных виртуальных машин!
# qemu-system-x86_64 \
-enable-kvm \
-smp $(nproc) \
-m 12G \
-nic tap,ifname=tap1,mac=52:54:00:00:00:01 \
-daemonize \
-vnc :0,to=99,id=default \
-drive file=vm/CRUX-CorePorts.img,format=raw \
-drive file=vm/CRUX-3-6.img,format=raw \
-drive file=vm/CRUX-3-7.img,format=raw
VNC server running on 0.0.0.0:5900
Для этого я запускаю свою основную виртуалку с CRUX, куда подключаю диски, на которые будут установлены другие системы.
Зайдём на виртуалку, разметим диски, создадим один корневой раздел под ext4.
# fdisk -l /dev/sdb /dev/sdc
Disk /dev/sdb: 953.67 MiB, 1000000000 bytes, 1953125 sectors
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 1953124 1951077 952.7M 83 Linux
Disk /dev/sdc: 953.67 MiB, 1000000000 bytes, 1953125 sectors
Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 2048 1953124 1951077 952.7M 83 Linux
Обратите внимание! В реальности 952M нам доступно, а мы ещё даже не создали файловую систему.
# mke2fs -t ext4 /dev/sdb1
# mount /dev/sdb1 /mnt
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 920M 24K 856M 1% /mnt
Уже 856M нам осталось доступно!
# mkdir -p /mnt/var/lib/pkg ; touch /mnt/var/lib/pkg/db ; for pkg in ports-3.6.1/*/*/*.pkg.tar.xz ; do pkgadd -r /mnt $pkg ; done
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 920M 766M 91M 90% /mnt
Вот и приехали!
CRUX 3.6, из одного гигабайта (1,000,000,000 байт) образа диска у нас осталось 91 мегабайт свободного пространства, это пока ещё без ядра.
Проделаем тоже самое с CRUX 3.7.
# mke2fs -t ext4 /dev/sdc1
# mount /dev/sdc1 /mnt
# mkdir -p /mnt/var/lib/pkg ; touch /mnt/var/lib/pkg/db ; for pkg in ports-3.7/*/*/*.pkg.tar.xz ; do pkgadd -r /mnt $pkg ; done
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 920M 838M 18M 98% /mnt
Установленный CRUX 3.7 на диск размером 1,000,000,000 байт оставил нам всего 18 мегабайт свободного пространства!
Для обеих систем соберём последнее ванильное ядро Linux 5.18.14
# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.18.14.tar.xz
# tar xf linux-5.18.14.tar.xz
# cd linux-5.18.14
# make mrproper
# make defconfig
# make kvm_guest.config
# scripts/config -e CONFIG_CRYPTO_ECDSA
# scripts/config -e CONFIG_WIREGUARD
# make olddefconfig
kvm_guest.config
включает все необходимые драйверы для системы, которая будет работать в виртуальной машине. Для себя включил Wireguard.
# make -j$(nproc)
# make tarxz-pkg
# tar tvf linux-5.18.14-x86.tar.xz
drwxr-xr-x root/root 0 2022-07-28 07:36 boot/
-rw-r--r-- root/root 133768 2022-07-28 07:36 boot/config-5.18.14
-rw-r--r-- root/root 11202432 2022-07-28 07:36 boot/vmlinuz-5.18.14
-rwxr-xr-x root/root 73921096 2022-07-28 07:36 boot/vmlinux-5.18.14
-rw-r--r-- root/root 5670638 2022-07-28 07:36 boot/System.map-5.18.14
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/
-rw-r--r-- root/root 331 2022-07-28 07:36 lib/modules/5.18.14/modules.order
-rw-r--r-- root/root 862 2022-07-28 07:36 lib/modules/5.18.14/modules.alias
-rw-r--r-- root/root 11704 2022-07-28 07:36 lib/modules/5.18.14/modules.builtin
-rw-r--r-- root/root 12 2022-07-28 07:36 lib/modules/5.18.14/modules.symbols.bin
-rw-r--r-- root/root 106167 2022-07-28 07:36 lib/modules/5.18.14/modules.builtin.modinfo
-rw-r--r-- root/root 1528 2022-07-28 07:36 lib/modules/5.18.14/modules.alias.bin
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/
-rw-r--r-- root/root 11256 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/xt_nat.ko
-rw-r--r-- root/root 7200 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/xt_LOG.ko
-rw-r--r-- root/root 31152 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/nf_log_syslog.ko
-rw-r--r-- root/root 6216 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/xt_mark.ko
-rw-r--r-- root/root 11440 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/xt_addrtype.ko
-rw-r--r-- root/root 7360 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/netfilter/xt_MASQUERADE.ko
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/ipv4/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/ipv4/netfilter/
-rw-r--r-- root/root 9264 2022-07-28 07:36 lib/modules/5.18.14/kernel/net/ipv4/netfilter/iptable_nat.ko
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/fs/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/fs/efivarfs/
-rw-r--r-- root/root 20504 2022-07-28 07:36 lib/modules/5.18.14/kernel/fs/efivarfs/efivarfs.ko
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/drivers/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/drivers/thermal/
drwxr-xr-x root/root 0 2022-07-28 07:36 lib/modules/5.18.14/kernel/drivers/thermal/intel/
-rw-r--r-- root/root 20984 2022-07-28 07:36 lib/modules/5.18.14/kernel/drivers/thermal/intel/x86_pkg_temp_thermal.ko
-rw-r--r-- root/root 0 2022-07-28 07:36 lib/modules/5.18.14/modules.devname
-rw-r--r-- root/root 10944 2022-07-28 07:36 lib/modules/5.18.14/modules.builtin.alias.bin
-rw-r--r-- root/root 49 2022-07-28 07:36 lib/modules/5.18.14/modules.symbols
-rw-r--r-- root/root 975 2022-07-28 07:36 lib/modules/5.18.14/modules.dep.bin
-rw-r--r-- root/root 340 2022-07-28 07:36 lib/modules/5.18.14/modules.dep
lrwxrwxrwx root/root 0 2022-07-28 07:36 lib/modules/5.18.14/build -> /usr/src/linux-5.18.14
-rw-r--r-- root/root 89 2022-07-28 07:36 lib/modules/5.18.14/modules.softdep
lrwxrwxrwx root/root 0 2022-07-28 07:36 lib/modules/5.18.14/source -> /usr/src/linux-5.18.14
-rw-r--r-- root/root 14623 2022-07-28 07:36 lib/modules/5.18.14/modules.builtin.bin
Мдя...
Вот и всё.
Больше нельзя установить CRUX 3.7 в чистом виде на диск размером 1,000,000,000 байт чтобы запускать его на VDS.
Придётся делать обрезание пингвину! Например, мы можем выиграть немного свободного места, если затюним файловую систему, ну хотя бы tune2fs -m 1 /dev/sdb1
— зарезервируем для root'а 1% свободного пространства, вместо 5%.
Отключать насовсем этот резерв нельзя, иначе вы не сможете даже зайти по ssh, когда логи в /var/log съедят всё оставшееся место на диске.
# umount /mnt
# tune2fs -m 1 /dev/sdb1
# tune2fs -m 1 /dev/sdc1
CRUX 3.6
mount /dev/sdb1 /mnt
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 920M 766M 129M 86% /mnt
CRUX 3.7
# mount /dev/sdc1 /mnt/
# df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 920M 838M 57M 94% /mnt
Иии... Ядро по-прежнему нельзя установить, недостаточно места.
Другой вариант, немного покромсать файлы ядра, ведь на самом деле для работы системы нам нужно только само ядро vmlinuz и папка /lib.
Давайте сделаем так и извлечём только эти файлы.
# tar xvf linux-5.18.14-x86.tar.xz -C /mnt boot/vmlinuz-5.18.14 lib/
После установки ядра, оставшееся место для CRUX 3.6
# df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 920M 777M 80M 91% /mnt
И оставшееся место для CRUX 3.7
# df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 920M 849M 6.9M 100% /mnt
Загрузчик, финальная настройка системы!
# mount /dev/sdb1 /mnt/
# mount --bind /dev /mnt/dev
# mount -t proc proc /mnt/proc
# mount -t sysfs none /mnt/sys
# chroot /mnt/ /bin/bash
# localedef -i en_US -f UTF-8 en_US.UTF-8
# passwd
# grub-install /dev/sdb
# grub-mkconfig -o /boot/grub/grub.cfg
# umount -R /mnt
Аналогично делаем с /dev/sdc1, где у нас установлен CRUX 3.7
# mount /dev/sdc1 /mnt
# mount --bind /dev /mnt/dev
# mount -t proc proc /mnt/proc
# mount -t sysfs none /mnt/sys
# chroot /mnt/ /bin/bash
# localedef -i en_US -f UTF-8 en_US.UTF-8
# passwd
New password:
Retype new password:
passwd: password updated successfully
# grub-install /dev/sdc
Installing for i386-pc platform.
Installation finished. No error reported.
# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.18.14
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
done
Не забудьте в grub.cfg заменить все /dev/sdb и /dev/sdc устройства на /dev/sda т.к. загрузка будет происходить именно с /dev/sda.
В финале, у нас осталось 1.6 мегабайт свободного пространства после установки CRUX 3.7 на 1,000,000,000-байтный диск!
# df -h /mnt/
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 920M 855M 1.6M 100% /mnt
Для работы системы это не критично, всё свободное место съедят логи в /var/log, а система продолжит работу.
И в завершении всего, я выложил образы виртуальных машин обновлённых версий CRUX 3.6 и CRUX 3.7
>>> Скачать CRUX 3.6 IMG (1,000,000,000b)
>>> Скачать CRUX 3.7 IMG (1,000,000,000b)
Логин root пароль toor, чтобы вы могли просто скачать образы и пощупать систему CRUX GNU/Linux вживую!