add tmpfs/ramfs options, fix typos

This commit is contained in:
postscriptum 2025-10-09 06:02:54 +03:00
parent 3c0d0080c4
commit 0dbdfd7f21

View file

@ -90,7 +90,7 @@ YOUR_PASSWORD="Pa55w0rd"
echo $YOUR_PASSWORD | pyseeder reseed --netdb /path/to/netDb --private-key /path/to/priv_key.pem --outfile /var/www/pyseeder/i2pseeds.su3 --signer-id noreply@localhost echo $YOUR_PASSWORD | pyseeder reseed --netdb /path/to/netDb --private-key /path/to/priv_key.pem --outfile /var/www/pyseeder/i2pseeds.su3 --signer-id noreply@localhost
``` ```
* `YOUR_PASSWORD` - пароль, який було вказано при `pyseeder keygen` (або кропаємо все до `|` та додаємо аргумент `--no-encryption` якщо пароль відсутній) * `YOUR_PASSWORD` - пароль, який було вказано при `pyseeder keygen` (або кропаємо все до `|` та додаємо аргумент `--no-encryption` якщо пароль відсутній)
* `--netdb` - шлях до бази мережі I2P, це може бути відвільтрована скриптом або "жива" база вузла * `--netdb` - шлях до бази мережі I2P, це може бути відфільтрована скриптом або "жива" база вузла
* `--outfile` - публічна тека на Веб-сервері, звідки інші піри зможуть її забрати * `--outfile` - публічна тека на Веб-сервері, звідки інші піри зможуть її забрати
* `--signer-id` - той само, що вказувався при генерації ключів * `--signer-id` - той само, що вказувався при генерації ключів
@ -128,7 +128,7 @@ crontab -e
Перед його запуском, важливо актуалізувати в ньому наступні шляхи: Перед його запуском, важливо актуалізувати в ньому наступні шляхи:
* `netdb` - донор: ймовірно, база активного вузла `/var/lib/i2pd/netDb` * `netdb` - донор: ймовірно, база активного вузла `/var/lib/i2pd/netDb`
* `outdb` - не публічна копія з відфільтрованими резултатами роботи `y2r.sh` * `outdb` - не публічна копія з відфільтрованими результатами роботи `y2r.sh`
* `sed -i "s/>[0-9]\{1,1000\}</>$yggaddr</" /srv/pyseeder/output/seed.html` * `sed -i "s/>[0-9]\{1,1000\}</>$yggaddr</" /srv/pyseeder/output/seed.html`
* інші можна лишити як є (тимчасові файли стандартно зберігатимуться в `/tmp/*`) * інші можна лишити як є (тимчасові файли стандартно зберігатимуться в `/tmp/*`)
@ -136,17 +136,32 @@ crontab -e
### Збереження тимчасових файлів в оперативній пам'яті ### Збереження тимчасових файлів в оперативній пам'яті
Оскільки pyseeder зберігає тимчасові дампи netDb в файл, щоб не зношувати SSD, я монтую локації y2r.sh в ramfs. Для цього в `/etc/fstab` додаю: Оскільки pyseeder зберігає тимчасові дампи netDb в файл, щоб не зношувати SSD, я монтую локації y2r.sh в оперативну пам'ять. Для цього в `/etc/fstab` додаю на вибір:
1) tmpfs
Цей варіант дозволяє коректно розставити права на запис і вказати потрібні опції. Також він передбачає розширення пам'яті за рахунок swap у разі перевищення фізичного простору:
``` /etc/fstab ``` /etc/fstab
ramfs /path/to/tmp-net-db ramfs defaults,noatime,nosuid,nofail,size=64M 0 0 tmpfs /path/to/tmp-net-db tmpfs defaults 0 0
``` ```
Зміни вступають в силу після перезапуску системи, якщо потрібно в рамках поточної сесії - монтуємо: Зміни вступають в силу після перезапуску системи, якщо потрібно в рамках поточної сесії - монтуємо:
``` bash ``` bash
mount -t ramfs -o size=64M ramfs /path/to/tmp-net-db mount -t tmpfs -o defaults tmpfs /path/to/tmp-net-db
``` ```
* опції `defaults` можуть розширюватись, наприклад `..,noatime,nosuid,nofail,size=64M`
2) ramfs
У такому випадку, використовується лише фізична пам'ять, але для неї буде не доступний запис від користувача (crontab.sh). Змінити права після монтування можна командою `crontab -e` (від root):
``` bash
@reboot chown USER:GROUP /path/to/tmp-net-db
```
але наскільки безпечним такий сценарій буде для динамічних даних ресіда - вирішуйте самостійно.
## Тестування ## Тестування