Bitcoin Forum

Local => Новички => Topic started by: sanya_chernov on November 07, 2011, 12:53:45 AM



Title: хранение блоков на внешнем носителе?
Post by: sanya_chernov on November 07, 2011, 12:53:45 AM
использую ubuntu

перед первым запуском bitcoin, возможно задать такую команду:

mount --bind /media/usb_hdd /home/user_folder/.bitcoin

после которой все блоки начинают записываться на внешний носитель usb_hdd

но проблема в том что эта команда действует только до первой перезагрузки

как навсегда перенаправить запись блоков на внешний носитель?


Title: Re: хранение блоков на внешнем носителе?
Post by: LZ on November 07, 2011, 05:34:31 AM
1 вариант: слинковать дирикторию .bitcoin на нужный накопитель
2 вариант: прописать команду монтирования в файле /etc/rc.local


Title: Re: хранение блоков на внешнем носителе?
Post by: sanya_chernov on November 07, 2011, 07:47:04 AM
насчет второго варианта все понятно

насчет первого варианта: разве симлинк будет действовать после перезагрузки? надо тоже прописывать в /etc/rc.local?


Title: Re: хранение блоков на внешнем носителе?
Post by: LZ on November 07, 2011, 11:19:04 AM
Симлинк - это запись в файловой системе. Если это жесткий диск, а не ОЗУ, то не пропадет.

Code:
Команды стер, так как нашел логическую ошибку. Исправленный вариант распишу ниже.


Title: Re: хранение блоков на внешнем носителе?
Post by: sanya_chernov on November 09, 2011, 06:20:11 AM
объясните плиз подробно что делает каждая команда? их все в терминале выполнять однократно или прописывать где-нибудь?
это хороший способ?
какой способ лучше? кто как отделяет блоки от системного раздела?


Title: Re: хранение блоков на внешнем носителе?
Post by: LZ on November 09, 2011, 02:24:22 PM
объясните плиз подробно что делает каждая команда?

Все команды выполняйте от имени пользователя, под которым запускаете Bitcoin.
Не запускайте под пользователем root (в том числе через запрос прав sudo и su).

Code:
kill -s SIGTERM $(pidof bitcoin bitcoin-qt bitcoind)
Первым делом убеждаемся, что Bitcoin точно закрыт, чтоб не повредить кошелек.

Code:
su -mc 'umount ~/.bitcoin/'
Отмонтируем ~/.bitcoin от внешнего жесткого диска с запросом пароля root.
Не переходим к следующему этапу, пока пароль не будет принят - повторяем.

Code:
pushd /media/usb_hdd/
mkdir .bitcoin/
Переходим в дирикторию /media/usb_hdd/ и создаем .bitcoin дирикторию.
Основная проблема в том, что у Вас файлы Bitcoin расположены в корне раздела.

Code:
mv -v blk*.dat debug.log db.log .bitcoin/
Переносим цепочку блоков и логи с корня внешнего HDD в поддирикторию.

Code:
cp -vpL ./wallet.dat .bitcoin/
[ -f .bitcoin/wallet.dat ] && shred -fuvz ./wallet.dat
Копируем файл wallet.dat и затем уничтожаем файл с его старого места.

Code:
for file in database/log.00* __db.0??; do shred -fuz $file; done
rmdir database/
rm -f .lock
Уничтожаем временные файлы базы данных кошелька (но не сам кошелек).

Code:
[ -d ~/.bitcoin/ ] && mv -v ~/.bitcoin/ ~/.bitcoin.old/
ln -s /media/usb_hdd/.bitcoin/ ~/.bitcoin
popd; sync
Делаем симлинк /media/usb_hdd/.bitcoin/ в дирикторию пользователя.

их все в терминале выполнять однократно или прописывать где-нибудь?
Выполнить один раз под тем же пользователем что и Bitcoin без прав root.

это хороший способ?
Нормальный. Так много команд получилось, потому что у Вас файлы
прямо в корне внешнего HDD, а не в поддириктории. Так-то было
бы команды три всего. Я сначала было не учел этот момент выше.
И да... Команда shred необратимо уничтожает файлы, осторожнее.

какой способ лучше? кто как отделяет блоки от системного раздела?
Думаю, лучше создать отдельный раздел или non-sparse файл, отформатировать
в любую шуструю файловую систему и прописать монтирование в /etc/fstab файле.