mirror of
https://git.selfprivacy.org/SelfPrivacy/selfprivacy.org.git
synced 2024-11-14 12:43:17 +00:00
130 lines
7.4 KiB
Markdown
130 lines
7.4 KiB
Markdown
|
---
|
|||
|
title: "Как вручную освободить место на сервере"
|
|||
|
linkTitle: "Ручное освобождение места на диске"
|
|||
|
weight: 2
|
|||
|
date: 2023-04-21
|
|||
|
description: >
|
|||
|
Ручная очистка может потребоваться, если вам нужно больше свободного места на системном разделе.
|
|||
|
---
|
|||
|
|
|||
|
|
|||
|
{{% pageinfo color="warning" %}}
|
|||
|
Все команды в этом руководстве выполняются от имени root через подключение SSH.
|
|||
|
Если у вас нет прав root, смотрите [это руководство](/docs/how-to-guides/root_ssh/) для получения дополнительной информации.
|
|||
|
|
|||
|
Если у вас не осталось свободного места, вы сможете использовать только те SSH-ключи, которые вы ранее добавили.
|
|||
|
Если у вас закончилось место на диске и вы не добавили ни одного SSH-ключа, обратитесь в службу поддержки SelfPrivacy за дальнейшей помощью.
|
|||
|
{{% /pageinfo %}}
|
|||
|
|
|||
|
Существует несколько способов очистки дискового пространства вашего сервера.
|
|||
|
|
|||
|
Чтобы проверить, сколько у вас дискового пространства, выполните следующую команду:
|
|||
|
|
|||
|
```bash
|
|||
|
df -h
|
|||
|
```
|
|||
|
|
|||
|
В результате будет выведена таблица следующего вида:
|
|||
|
|
|||
|
```
|
|||
|
Filesystem Size Used Avail Use% Mounted on
|
|||
|
devtmpfs 97M 0 97M 0% /dev
|
|||
|
tmpfs 969M 52K 969M 1% /dev/shm
|
|||
|
tmpfs 485M 3.8M 481M 1% /run
|
|||
|
tmpfs 969M 432K 968M 1% /run/wrappers
|
|||
|
/dev/sda1 19G 8.2G 9.5G 47% /
|
|||
|
/dev/sdb 18G 62M 17G 1% /volumes/sdb
|
|||
|
tmpfs 194M 0 194M 0% /run/user/0
|
|||
|
```
|
|||
|
|
|||
|
Здесь файловая система, смонтированная на `/` - это ваш системный том.
|
|||
|
|
|||
|
## Удаление старых состояний NixOS
|
|||
|
|
|||
|
{{% alert title="Предупреждение о нулевом пространстве" color="warning" %}}
|
|||
|
Этот метод не сработает, если у вас **нет свободного места** на системном томе. Сначала используйте другие методы.
|
|||
|
{{% /alert %}}
|
|||
|
|
|||
|
NixOS позволяет вам в любое время откатиться к предыдущим состояниям системы за счет дискового пространства.
|
|||
|
Серверы SelfPrivacy настроены на восстановление дискового пространства путем автоматического удаления старых состояний системы, но удаляются только состояния старше 7 дней, поэтому вы все еще можете использовать функцию отката.
|
|||
|
|
|||
|
Можно вручную удалить все старые состояния системы, и это может дать вам больше столь необходимого дискового пространства.
|
|||
|
Для этого просто выполните следующую команду от имени root:
|
|||
|
|
|||
|
```bash
|
|||
|
nix-collect-garbage -d
|
|||
|
```
|
|||
|
|
|||
|
Эта операция может занять некоторое время, в зависимости от количества состояний системы.
|
|||
|
После ее завершения вы увидите, сколько места на диске освободилось.
|
|||
|
|
|||
|
## Удаление старых журналов
|
|||
|
|
|||
|
Журналы иногда могут занимать довольно много места на диске.
|
|||
|
На серверах SelfPrivacy системные журналы всегда ограничены 500MiB, но это не единственные файлы журналов на вашем сервере.
|
|||
|
|
|||
|
Чтобы проверить, сколько места на диске занимают журналы, выполните следующую команду:
|
|||
|
|
|||
|
```bash
|
|||
|
du -h --max-depth=1 /var/log
|
|||
|
```
|
|||
|
|
|||
|
Результат будет выглядеть примерно так:
|
|||
|
|
|||
|
```
|
|||
|
4.0K /var/log/private
|
|||
|
14M /var/log/nginx
|
|||
|
499M /var/log/journal
|
|||
|
587M /var/log
|
|||
|
```
|
|||
|
|
|||
|
### Системный журнал
|
|||
|
|
|||
|
Здесь `/var/log/journal` - это системный журнал, куда обычно записывают свои журналы все приложения. Как вы можете видеть в этом примере, они соблюдают ограничение в 500MiB.
|
|||
|
|
|||
|
Если вы хотите очистить *все* системные журналы, выполните следующую команду:
|
|||
|
|
|||
|
```bash
|
|||
|
journalctl --rotate && journalctl --vacuum-time=1s
|
|||
|
```
|
|||
|
|
|||
|
Это обычно дает вам около 450 Мб свободного дискового пространства, но ненадолго.
|
|||
|
Однако этого может быть достаточно для выполнения некоторых команд, которые освободят больше места.
|
|||
|
|
|||
|
### Журналы Nginx
|
|||
|
|
|||
|
Каталог `/var/log/nginx` содержит журналы веб-сервера Nginx. Если они стали слишком большими, вы можете очистить их, выполнив команду:
|
|||
|
|
|||
|
```bash
|
|||
|
rm /var/log/nginx/* && systemctl reload nginx
|
|||
|
```
|
|||
|
|
|||
|
Как вы видите, мы не просто удаляем файлы, но и перезагружаем Nginx.
|
|||
|
Это происходит потому, что Nginx запутается в отсутствующих лог-файлах, и они не будут воссозданы, пока Nginx не будет перезагружен.
|
|||
|
|
|||
|
## Удаление старой системы
|
|||
|
|
|||
|
{{% alert color="warning" %}}
|
|||
|
Эта операция может быть выполнена только один раз за все время существования вашего сервера.
|
|||
|
|
|||
|
Если вы установили SelfPrivacy на собственное оборудование, это может привести к некоторой потере данных.
|
|||
|
{{% /alert %}}
|
|||
|
|
|||
|
Когда вы устанавливаете SelfPrivacy на сервер, существующая система заменяется на NixOS. Но старая система все еще существует и занимает место на диске, поэтому вы можете откатиться к ней, если захотите.
|
|||
|
|
|||
|
Чтобы определить, сколько места на диске занимает старая система, выполните следующую команду:
|
|||
|
|
|||
|
```bash
|
|||
|
du -h --max-depth=1 /old-root/
|
|||
|
```
|
|||
|
|
|||
|
Если старой системы нет, вы увидите сообщение `du: cannot access '/old-root/': No such file or directory`.
|
|||
|
|
|||
|
Но если у вас есть старая система, вы можете удалить ее, выполнив следующую команду:
|
|||
|
|
|||
|
```bash
|
|||
|
rm -rf /old-root/
|
|||
|
```
|
|||
|
|
|||
|
Это обычно освобождает около 1,8 Гб дискового пространства на типичных серверах SelfPrivacy.
|