SystemdDoctor
служба не работает прокси кеш права

Прокси не запускается: каталоги кеша не созданы

Прокси требует заранее размеченных каталогов кеша: их создаёт отдельная команда, а не сама служба при запуске. После установки, смены пути или увеличения размера кеша разметку нужно выполнить снова.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Каталоги кеша не размечены

    Служба ожидает готовую структуру каталогов. Пустой каталог её не устраивает.

  2. Каталог кеша принадлежит не пользователю службы

    Служба переходит на своего пользователя и не может писать в каталог, созданный от root.

  3. Размер кеша больше доступного места

    Служба размечает кеш на заявленный размер. Если места меньше, разметка отказывает или кеш ломается при заполнении.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Сообщения службы при запуске.

journalctl -u squid -n 30 --no-pager

Каталог кеша, его владелец и место на разделе.

sudo ls -ld /var/spool/squid && df -h /var/spool/squid

Проверка настроек прокси без запуска.

sudo squid -k parse 2>&1 | tail -10

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Каталоги кеша не размечены
Почему происходит
Служба ожидает готовую структуру каталогов. Пустой каталог её не устраивает.
Как проверить
Посмотрите сообщение службы и содержимое каталога.
journalctl -u squid -n 20 --no-pager | grep -iE "cache_dir|swap"
sudo ls /var/spool/squid 2>/dev/null | head
Как исправить
Выполните разметку каталогов кеша штатной командой службы и запустите её заново. Разметка нужна и после увеличения размера кеша.
sudo squid -z && sudo systemctl start squid
2. Каталог кеша принадлежит не пользователю службы
Почему происходит
Служба переходит на своего пользователя и не может писать в каталог, созданный от root.
Как проверить
Посмотрите владельца каталога и пользователя службы.
sudo ls -ld /var/spool/squid 2>/dev/null
systemctl show squid -p User -p CacheDirectory 2>/dev/null
Как исправить
Передайте каталог пользователю службы либо объявите его через CacheDirectory=: systemd создаст его с верным владельцем.
3. Размер кеша больше доступного места
Почему происходит
Служба размечает кеш на заявленный размер. Если места меньше, разметка отказывает или кеш ломается при заполнении.
Как проверить
Сравните заявленный размер и свободное место.
grep -iE "^cache_dir" /etc/squid/squid.conf 2>/dev/null
df -h /var/spool/squid 2>/dev/null
Как исправить
Приведите заявленный размер кеша в соответствие с разделом, оставив запас. Кеш, занимающий раздел целиком, приводит к отказам при заполнении.

Пример вывода

Каталоги кеша не размечены. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

squid[7600]: FATAL: Failed to verify one of the swap directories, Check cache.log
squid[7600]:        for details.  Run 'squid -z' to create swap directories
squid[7600]:        if needed, or if running Squid for the first time.
systemd[1]: squid.service: Main process exited, code=exited, status=1/FAILURE

Связанные ошибки

Источники

  • Документация Squid документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено запуском службы с пустым каталогом кеша.
    собственная проверка, systemd 255
    сверено 15 сентября 2026