ラズパイ 3A+ で apt upgrade ができない件
問題発生
余っていた Raspberry Pi3 Model A+ に、Raspberry OS (Bulleye 32bit) を新規インストールし、apt upgrade するも進捗が69%で止まったまま一向に進まない・・・。再度やっても状況は同じ。
原因は?
SD カードの不具合かと思い、別のカードに交換しても改善せず。
Raspberry Pi3 Model B で試したところ、こちらは問題は発生しない。モデル間の主な違いはメインメモリの容量で、A は 512MB、B は1GB。なのでメモリ不足が原因かも?
ラズパイはメインメモリは増やせませんが、SDカードをスワップメモリとして利用することはできます。現状のスワップを free コマンドで確認したところ、デフォルトで 99Mi 確保されているスワップは 100% 使われている状態でした。
試しにスワップサイズを増やしてみたところ、無事に upgrade できました!
スワップの設定方法
/etc/dphys-swapfile の CONF_SWAPSIZE を変更します。単位は MB でデフォルトは100。今回はメインメモリと同じ 512 にしました。
# /etc/dphys-swapfile - user settings for dphys-swapfile package
# author Neil Franklin, last modification 2010.05.05
# copyright ETH Zuerich Physics Departement
# use under either modified/non-advertising BSD or GPL license
# this file is sourced with . so full normal sh syntax applies
# the default settings are added as commented out CONF_*=* lines
# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap
# set size to absolute value, leaving empty (default) then uses computed value
# you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=512
# set size to computed value, this times RAM size, dynamically adapts,
# guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2
# restrict size (computed and absolute!) to maximally this limit
# can be set to empty for no limit, but beware of filled partitions!
# this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
# but is also sensible on 64bit to prevent filling /var or even / partition
#CONF_MAXSWAP=2048
修正後、再起動すれば完了です。
free コマンドでちゃんと変更されているか確認。
ryo@v2:~ $ free -h
total used free shared buff/cache available
Mem: 426Mi 142Mi 198Mi 4.0Mi 86Mi 225Mi
Swap: 511Mi 0B 511Mi
ラズパイ 3A+
Model B に比べ、小さく安いんのがメリット。デスクトップとして使うなら B 一択ですが、それ以外の IoT 用途等では A で必要十分。
パワー的に Zero 2 W で足りるならそちらを。
この記事が気に入ったらサポートをしてみませんか?