私はDebian 9システムで作業しています。パッケージをインストールしようとすると、dpkg
次のエラーで失敗します。
Selecting previously unselected package mariadb-server-10.1.
Preparing to unpack .../3-mariadb-server-10.1_10.1.38-0+deb9u1_amd64.deb ...
/var/lib/mysql: found previous version 10.1
ERROR: There's not enough space in /var/lib/mysql/
dpkg: error processing archive /tmp/apt-dpkg-install-ShVFUI/3-mariadb-server-10.1_10.1.38-0+deb9u1_amd64.deb (--unpack):
これはdf -h
:
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 791M 9.1M 782M 2% /run
/dev/sda2 55G 9.8G 43G 19% /
tmpfs 3.9G 158M 3.8G 4% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 511M 132K 511M 1% /boot/efi
/dev/sda5 844G 540G 261G 68% /home
/dev/sda3 9.2G 8.7G 32K 100% /var
tmpfs 791M 12K 791M 1% /run/user/1001
fdisk -l
出力:
Disk /dev/sda: 931.5 GiB, Disklabel type: gpt
Disk identifier: AAF695F1-3DA1-4E89-86F4-59439A75BCBB
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 118237183 117186560 55.9G Linux filesystem
/dev/sda3 1933993984 1953523711 19529728 9.3G Linux filesystem
/dev/sda4 1917392896 1933993983 16601088 7.9G Linux swap
/dev/sda5 118237184 1917392895 1799155712 857.9G Linux filesystem
/var
(可能であれば)広いパーティションに移動するには?それともサイズを/dev/sda3
30Gに増やすには?
答え1
ファイルシステムは論理ボリューム管理(lvm)や他の柔軟な構成システムではなくディスクパーティションにあるため、パーティションを移動/サイズ調整しないことをお勧めします。あまりにもトリッキーで危険です。
/var
別のパーティションに移動する方法:
最初のソリューション
ルートファイルシステムには空き容量がかなりあるため、再度/
移動できます。/var
残念ながら、システムの実行中に/ varをアンマウントまたは変更することはできません。私の提案は、USBドライブまたはCDにあるリカバリライブLinuxディストリビューションを使用してシステムを起動することです。割れた、シェルを開き、次の手順に従ってハードドライブのシステム設定を変更します。
mkdir /tmp/root
mkdir /tmp/var
# mount the filesystems
mount /dev/sda2 /tmp/root
mount /dev/sda3 /tmp/var
# copy everything in /var
# do not forget the / after var in /tmp/var/
rsync -aHXA /tmp/var/ /tmp/root/var
#
次に、テキストエディタを使用して、静的マウントリストから/ dev / sda3 / varに関連する行をコメントアウトまたは削除します/tmp/root/var/etc/fstab
。ライブシステムでは、デバイスがメインシステムのデバイスと異なる場合がありますので、sda
問題が発生する場合がありますので、sdb
修正前にご確認ください。
修正後、/dev/sda3 は空き領域がある未使用パーティションです。
2番目の解決策
以下のスペース要件が主にmariadbパッケージとすべての関連データベースファイルで発生すると予想される場合は、2番目のハードドライブまたはSSDをマウントし、そのディスク/パーティションのディレクトリのみを移動する/var/
ことが賢明でしょう。/var/lib/mysql
この場合、データを移動するためにシステムを停止し、他のディストリビューションから起動する必要はありませんが、mariadbサービス(インストールしてアクティブな場合)を停止するだけです。
貴重なファイルを含むmariadbまたはmysqlパッケージをインストールしたかどうかは、あなたの投稿では明確ではありません。/var/lib/mysql
なぜなら、一方ではをSelecting previously unselected package mariadb-server-10.1.
他方では見ることができるからです/var/lib/mysql: found previous version 10.1
。すでに持っていると仮定すると、
# prepare and format somehow a new disk/partition, let's call it $MYSQLDEV
# mount it in a temporary place
mkdir /tmp/mysql
mount $MYSQLDEV /tmp/mysql
# copy existing data on new partition
rsync -aHXA /var/lib/mysql /tmp/mysql
# if you are really sure you have copied everything,
# type with care and double check
rm -rf /var/lib/mysql/*
# mount filesystem in the final position
umount $MYSQLDEV
rm -f /tmp/mysql
mount $MYSQLDEV /var/lib/mysql/
その後、起動するたびに新しいパーティションをマウントする必要があることをシステムに通知する行をyoutファイルに追加する必要があります。これを置き換えてext4でフォーマットすると仮定すると、/etc/fstab
次のようになります。$MYSQLDEV
$MYSQLDEV /var/lib/mysql ext4 defaults 1 2