---
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.
