
Я последовал заэтотруководство по превращению моего raspberry pi в мой резервный сервер. В нем есть SD-карта на 16 ГБ и установлен Raspbian (на основе Debian buster). Когда я пытаюсь обновиться с помощью sudo apt upgrade
, он возвращает ошибку:
Error writing to output file - write (28: No space left on device) [IP: 93.93.135.141 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.
Это говорит мне о том, что SD-карта заполнена, хотя на ней по сути только система.
Вот вывод sudo du -hs /*
:
646G /backupdrive
9.3M /bin
52M /boot
0 /dev
3.4M /etc
780K /home
348M /lib
16K /lost+found
4.0K /media
4.0K /mnt
41M /opt
du: cannot access '/proc/5385/task/5385/fd/3': No such file or directory
du: cannot access '/proc/5385/task/5385/fdinfo/3': No such file or directory
du: cannot access '/proc/5385/fd/3': No such file or directory
du: cannot access '/proc/5385/fdinfo/3': No such file or directory
0 /proc
24K /root
6.2M /run
8.8M /sbin
4.0K /srv
0 /sys
32K /tmp
625M /usr
167M /var
Вот вывод lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 931.5G 0 part /backupdrive
`-sda2 8:2 0 512B 0 part
mmcblk0 179:0 0 14.9G 0 disk
|-mmcblk0p1 179:1 0 256M 0 part /boot
`-mmcblk0p2 179:2 0 14.6G 0 part /
Мне кажется, что внешний жесткий диск ( sda
) смонтирован на /
, но часть данных все еще хранится на обычной SD-карте. Есть ли у кого-нибудь идеи, почему так?
**Редактировать: **
Вывод:df /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 15023184 14381088 0 100% /
решение1
@PhilipCouling это именно то, что нужно, он использует SD-карту по какой-то причине для /backudrive. Вот почему она заполнена. Вы можете увидеть это в выводе
sudo du -hs /*
в вопросе выше
Если это действительно так, то вам следует unmount /backupdrive
удалить все файлы, оставшиеся там после размонтирования. /backupdrive имеет размер 646 ГБ, так что очевидно, что что-то осталось на вашем большом жестком диске, а не на SD-карте.
Вы, вероятно, не хотите уничтожить вашу резервную копию в процессе, поэтому не удаляйте все, /backupdrive
что хранится на SD, не скопировав сначала на большой жесткий диск. Вы можете смонтировать ваш большой резервный жесткий диск на /mnt
и затем использоватьэтот ответдля копирования-объединения с вашей SD-карты (все еще в /backupdrive
) на ваш резервный жесткий диск (теперь /mnt
).
Когда закончите, просто umount /mnt
смонтируйте жесткий диск обратно в /backupdrive
.
Возникнет очевидный последующий вопрос: как это произошло? Вполне вероятно, что задание резервного копирования каким-то образом выполнялось, пока резервный жесткий диск был размонтирован.
Если это повторится снова, и вы уверены, что резервный диск был всегда правильно подключен, проверьте эту проблему, которая может быть обозначена по-разному:
- Что может привести к тому, что разные процессы будут видеть разные точки монтирования?
- Задания cron и atd не видят смонтированные вручную файловые системы (смонтированные по ssh)
Эта ошибка была исправлена (глянь сюда), но поскольку это произошло один раз, об этом стоит упомянуть, поскольку я столкнулся с этой ошибкой с симптомами, похожими на те, что указаны в вашем вопросе.