r_kawai
2022年5月18日 15時31分
お世話になっております。
現在御社提供のサンプルコンテナイメージ
https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/co…
を使用してコンテナを起動し、その上でfirefoxを動作させたいと考えておりますが、
コンテナ上でapt installにてfirefox-esrをインストールしようとしたところ、
「After this operation, 575 MB of additional disk space will be used.
E: You don't have enough free space in /var/cache/apt/archives/.」
とエラーが発生し、インストールに失敗します。
コンテナ上のディスク容量を確認すると、
root@51800c820937:/# df Filesystem 1K-blocks Used Available Use% Mounted on overlay 340144 249188 90956 74% / tmpfs 65536 0 65536 0% /dev /dev/mmcblk2p4 24448 24448 0 100% /opt/firmware tmpfs 340144 249188 90956 74% /run/udev shm 64000 0 64000 0% /dev/shm cgroup 1024 0 1024 0% /sys/fs/cgroup devtmpfs 10240 0 10240 0% /proc/keys
となっていることから、ルートディレクトリ配下の容量が足りないことが原因と考えていますが、コンテナ上でルートディレクトリ配下の容量を増やす方法はありますでしょうか。
apt installの失敗を回避できる方法についてご教示頂けますと幸いです。
以下に一連の手順のログを貼付いたします。
armadillo:~/work# podman load -i at-debian-image-v1.0.5.tar Getting image source signatures … … … … Writing manifest to image destination Storing signatures Getting image source signatures … … … … Writing manifest to image destination Storing signatures Loaded image(s): localhost/at-debian-image:latest,localhost/at-debian-image:v1.0.5 armadillo:~/work# podman run -itd --name=xwayland_example \ > --env=XDG_RUNTIME_DIR=/tmp \ > --device=/dev/dri \ > --device=/dev/galcore \ > --device=/dev/input \ > --device=/dev/tty1 \ > --volume=/run/udev:/run/udev:ro \ > --volume=/opt/firmware:/opt/firmware:ro \ > --cap-add=SYS_TTY_CONFIG \ > localhost/at-debian-image:latest /bin/bash [ 2090.764331] IPv6: ADDRCONF(NETDEV_CHANGE): veth18c7c5fb: link becomes ready [ 2090.771434] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 2090.778001] cni-podman0: port 1(veth18c7c5fb) entered blocking state [ 2090.784422] cni-podman0: port 1(veth18c7c5fb) entered disabled state [ 2090.790953] device veth18c7c5fb entered promiscuous mode [ 2090.796356] cni-podman0: port 1(veth18c7c5fb) entered blocking state [ 2090.802721] cni-podman0: port 1(veth18c7c5fb) entered forwarding state 51800c820937353130dc7ba3ceb405f56d5cc7797dfb27bd7f84beee61d283d7 armadillo:~/work# podman attach xwayland_example root@51800c820937:/# apt update && apt upgrade Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB] Hit:2 http://deb.debian.org/debian bullseye InRelease Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB] Ign:4 http://download.atmark-techno.com/debian bullseye InRelease Get:5 http://download.atmark-techno.com/debian bullseye Release [11.0 kB] Get:6 http://download.atmark-techno.com/debian bullseye Release.gpg [833 B] Get:7 http://security.debian.org/debian-security bullseye-security/main arm64 Packages [145 kB] Get:8 http://download.atmark-techno.com/debian bullseye/main Sources [12.2 kB] Get:9 http://download.atmark-techno.com/debian bullseye/main arm64 Packages [64.8 kB] Fetched 317 kB in 2s (201 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 1 package can be upgraded. Run 'apt list --upgradable' to see it. Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libssl1.1 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 1388 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://security.debian.org/debian-security bullseye-security/main arm64 libssl1.1 arm64 1.1.1n-0+deb11u2 [1388 kB] Fetched 1388 kB in 0s (5388 kB/s) debconf: delaying package configuration, since apt-utils is not installed (Reading database ... 8735 files and directories currently installed.) Preparing to unpack .../libssl1.1_1.1.1n-0+deb11u2_arm64.deb ... Unpacking libssl1.1:arm64 (1.1.1n-0+deb11u2) over (1.1.1n-0+deb11u1) ... Setting up libssl1.1:arm64 (1.1.1n-0+deb11u2) ... debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 78.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/aarch64-linux-gnu/perl5/5.32 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.) debconf: falling back to frontend: Teletype Processing triggers for libc-bin (2.31-13+deb11u3) ... root@51800c820937:/# apt install -y locales firefox-esr xwayland Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: adwaita-icon-theme at-spi2-core dbus-user-session dconf-gsettings-backend dconf-service dmsetup glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme libaom0 libargon2-1 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libavcodec58 libavutil56 libc-l10n libcairo-gobject2 libcap2 libcodec2-0.9 libcolord2 libcryptsetup12 libcups2 libdav1d4 libdbus-glib-1-2 libdconf1 libdeflate0 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libedit2 libelf1 libepoxy0 libevent-2.1-7 libfontenc1 libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgomp1 libgpm2 libgsm1 libgtk-3-0 libgtk-3-bin libgtk-3-common libice6 libip4tc2 libjbig0 libjson-c5 libjson-glib-1.0-0 libjson-glib-1.0-common libkmod2 liblcms2-2 libllvm11 libmp3lame0 libncurses6 libncursesw6 libnss-systemd libnuma1 libogg0 libopenjp2-7 libopus0 libpam-systemd libprocps8 libproxy1v5 libpsl5 librest-0.7-0 librsvg2-2 librsvg2-common libsensors-config libsensors5 libshine3 libsm6 libsnappy1v5 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libsqlite3-0 libswresample3 libtheora0 libtiff5 libtwolame0 libunwind8 libva-drm2 libva-x11-2 libva2 libvdpau-va-gl1 libvdpau1 libvorbis0a libvorbisenc2 libvpx6 libvulkan1 libwavpack1 libwebp6 libwebpmux3 libx11-xcb1 libx264-160 libx265-192 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-sync1 libxcomposite1 libxdamage1 libxfont2 libxi6 libxinerama1 libxkbfile1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxshmfence1 libxt6 libxtst6 libxvidcore4 libxxf86vm1 libz3-4 libzvbi-common libzvbi0 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers ocl-icd-libopencl1 procps psmisc publicsuffix systemd systemd-sysv systemd-timesyncd va-driver-all vdpau-driver-all x11-common x11-xkb-utils xauth xfonts-base xfonts-encodings xfonts-utils xserver-common Suggested packages: fonts-stix | otf-stix fonts-lmodern libcanberra0 pulseaudio colord cups-common gpm gvfs liblcms2-utils opus-tools librsvg2-bin lm-sensors speex opencl-icd systemd-container policykit-1 nvidia-vdpau-driver xfs | xserver The following NEW packages will be installed: adwaita-icon-theme at-spi2-core dbus-user-session dconf-gsettings-backend dconf-service dmsetup firefox-esr glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme libaom0 libargon2-1 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libavcodec58 libavutil56 libc-l10n libcairo-gobject2 libcap2 libcodec2-0.9 libcolord2 libcryptsetup12 libcups2 libdav1d4 libdbus-glib-1-2 libdconf1 libdeflate0 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libedit2 libelf1 libepoxy0 libevent-2.1-7 libfontenc1 libgbm1 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libgomp1 libgpm2 libgsm1 libgtk-3-0 libgtk-3-bin libgtk-3-common libice6 libip4tc2 libjbig0 libjson-c5 libjson-glib-1.0-0 libjson-glib-1.0-common libkmod2 liblcms2-2 libllvm11 libmp3lame0 libncurses6 libncursesw6 libnss-systemd libnuma1 libogg0 libopenjp2-7 libopus0 libpam-systemd libprocps8 libproxy1v5 libpsl5 librest-0.7-0 librsvg2-2 librsvg2-common libsensors-config libsensors5 libshine3 libsm6 libsnappy1v5 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspeex1 libsqlite3-0 libswresample3 libtheora0 libtiff5 libtwolame0 libunwind8 libva-drm2 libva-x11-2 libva2 libvdpau-va-gl1 libvdpau1 libvorbis0a libvorbisenc2 libvpx6 libvulkan1 libwavpack1 libwebp6 libwebpmux3 libx11-xcb1 libx264-160 libx265-192 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-sync1 libxcomposite1 libxdamage1 libxfont2 libxi6 libxinerama1 libxkbfile1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxshmfence1 libxt6 libxtst6 libxvidcore4 libxxf86vm1 libz3-4 libzvbi-common libzvbi0 locales mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers ocl-icd-libopencl1 procps psmisc publicsuffix systemd systemd-sysv systemd-timesyncd va-driver-all vdpau-driver-all x11-common x11-xkb-utils xauth xfonts-base xfonts-encodings xfonts-utils xserver-common xwayland 0 upgraded, 160 newly installed, 0 to remove and 0 not upgraded. Need to get 159 MB of archives. After this operation, 575 MB of additional disk space will be used. E: You don't have enough free space in /var/cache/apt/archives/. root@51800c820937:/# df Filesystem 1K-blocks Used Available Use% Mounted on overlay 340144 249188 90956 74% / tmpfs 65536 0 65536 0% /dev /dev/mmcblk2p4 24448 24448 0 100% /opt/firmware tmpfs 340144 249188 90956 74% /run/udev shm 64000 0 64000 0% /dev/shm cgroup 1024 0 1024 0% /sys/fs/cgroup devtmpfs 10240 0 10240 0% /proc/keys
コメント
r_kawai
マルティネ様
迅速かつ詳細なご回答を頂きましてありがとうございます。
podman_switch_storage --disk
を実行した上で
podman load -i at-debian-image-v1.0.5.tar
を行うことで、以下のようにコンテナ内の容量が増加することを確認いたしました。
また、firefoxのインストールに成功し、firefoxからウエブを閲覧できることも確認いたしました。
root@9d3f04c7d075:/# df Filesystem 1K-blocks Used Available Use% Mounted on overlay 9441260 630184 8322296 8% / tmpfs 65536 0 65536 0% /dev tmpfs 340144 1144 339000 1% /run/udev /dev/mmcblk2p4 24448 24448 0 100% /opt/firmware shm 64000 0 64000 0% /dev/shm cgroup 1024 0 1024 0% /sys/fs/cgroup devtmpfs 10240 0 10240 0% /proc/keys
お忙しいところご対応いただきありがとうございました。
at_dominique.m…
2022年5月18日 15時52分
r_kawaiさん、
お世話になっています、
アットマークテクノのマルティネです。
Armadillo Base OS では、故障を防ぐために /rootを含め / ファイルシステムも、(デフォルトの)コンテナのストレージも overlay で tmpfs (メモリ上)になっていますので、このやり方ではメモリの容量に制限されています。
以下のディレクトリはディスクになっています:
- /var/tmp (コンテナアーカイブの一時的なデータ)
- /var/lib/containers/storage_readonly (swupdateと abos-ctrl podman-rwで操作できるコンテナイメージのストレージ)
- /var/app/volumes (コンテナでボリュームマウントに使える、アップデートの時に変更しない)
- /var/app/rollback/volumes (コンテナでボリュームマウントに使える、アップデートの時にシステムとコンテナーイメージを二重化される)
さらに、「開発モード」という、「abos-ctrl podman-storage --disk」(OSをまだ更新してなかったら「podman_switch_storage --disk」)を実行すると /var/lib/containers/storage もディスクに切り替えます。
今回はいくつかやり方ありますが、上記のコマンドでディスクに切り替えていただけたらコンテナ内の容量はeMMCの容量を使えるようになりますので、やろうとしている firefox のインストールはできると思います。
その後に swupdate でコンテナの送信などを行う予定であれば swupdate が readonly の部分しか見てないので、その時に tmpfs に戻していただいた方が上手く使えると思いますが、試す分には disk で使っていただいても問題ないです。
よろしくお願いします。