[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/disk-space-management":3,"mdc--tel7m8-key":927,"mdc-56idwh-key":946,"mdc--g5aix7-key":963,"mdc-s1all0-key":980,"mdc--zhxvel-key":1004,"mdc-26husy-key":1021,"mdc--xrob80-key":1050,"mdc--jadxpf-key":1081,"mdc-wyj2nt-key":1112,"mdc-rqkk9b-key":1149,"related-/guides/linux/cleanup-apt-cache,/guides/linux/remove-old-kernels,/guides/linux/log-rotation":1174},{"id":4,"title":5,"appliesTo":6,"author":11,"body":12,"canonical":855,"code":855,"createdAt":856,"description":857,"difficulty":858,"draft":859,"estimatedTime":860,"extension":861,"faq":862,"howToSteps":875,"howToTotalTime":894,"image":855,"keywords":895,"locale":906,"meta":907,"navigation":452,"path":908,"platform":909,"related":910,"section":914,"seo":915,"severity":855,"stem":916,"summary":917,"tags":918,"twitterCreator":855,"twitterSite":855,"type":925,"updatedAt":856,"__hash__":926},"content_ru/guides/linux/disk-space-management.md","Управление дисковым пространством в Linux: полное руководство",[7,8,9,10],"Ubuntu 20.04+","Debian 10+","CentOS 7+","Fedora 35+","FixPedia Team",{"type":13,"value":14,"toc":841},"minimark",[15,20,36,40,43,105,109,114,120,141,144,163,166,174,181,185,191,234,237,268,277,292,295,299,302,307,322,329,334,352,355,371,374,378,385,404,485,488,508,519,523,534,581,588,606,619,623,626,631,683,688,702,712,716,719,729,742,746,831,837],[16,17,19],"h2",{"id":18},"введение-зачем-это-нужно","Введение / Зачем это нужно",[21,22,23,24,28,29,28,32,35],"p",{},"Дисковое пространство на серверах и рабочих станциях Linux часто заканчивается из-за накопления временных файлов, кэша пакетов, старых журналов и ненужных пакетов. Этот гайд поможет вам быстро диагностировать, какие данные занимают больше всего места, и безопасно освободить gigabytes без потери важной информации. Вы научитесь использовать стандартные утилиты (",[25,26,27],"code",{},"df",", ",[25,30,31],{},"du",[25,33,34],{},"find",") и пакетные менеджеры для поддержания системы в чистоте.",[16,37,39],{"id":38},"требования-подготовка","Требования / Подготовка",[21,41,42],{},"Перед началом убедитесь, что:",[44,45,46,55,71,86],"ul",{},[47,48,49,50,54],"li",{},"У вас есть доступ к терминалу Linux с правами ",[51,52,53],"strong",{},"sudo"," (администратора) для выполнения команд удаления и анализа системных каталогов.",[47,56,57,58,28,60,28,62,28,64,28,67,70],{},"Установлены базовые утилиты: ",[25,59,27],{},[25,61,31],{},[25,63,34],{},[25,65,66],{},"sort",[25,68,69],{},"grep",". Они есть в любом стандартном установленном дистрибутиве.",[47,72,73,74,77,78,81,82,85],{},"Для удобства анализа рекомендуется установить ",[25,75,76],{},"ncdu"," (",[25,79,80],{},"sudo apt install ncdu"," или ",[25,83,84],{},"sudo dnf install ncdu","), но это необязательно.",[47,87,88,91,92,28,95,28,98,28,101,104],{},[51,89,90],{},"Внимание:"," Не удаляйте файлы в системных каталогах (",[25,93,94],{},"/bin",[25,96,97],{},"/sbin",[25,99,100],{},"/usr",[25,102,103],{},"/etc","), если не уверены в их назначении.",[16,106,108],{"id":107},"пошаговая-инструкция","Пошаговая инструкция",[110,111,113],"h3",{"id":112},"шаг-1-проверка-текущего-использования-диска","Шаг 1: Проверка текущего использования диска",[21,115,116,117,119],{},"Сначала определите, какие разделы диска заполнены. Команда ",[25,118,27],{}," (disk free) показывает использование каждого смонтированного раздела.",[121,122,127],"pre",{"className":123,"code":124,"language":125,"meta":126,"style":126},"language-bash shiki shiki-themes github-light github-dark","df -h\n","bash","",[25,128,129],{"__ignoreMap":126},[130,131,134,137],"span",{"class":132,"line":133},"line",1,[130,135,27],{"class":136},"sScJk",[130,138,140],{"class":139},"sj4cs"," -h\n",[21,142,143],{},"Ключи:",[44,145,146,152],{},[47,147,148,151],{},[25,149,150],{},"-h"," — human-readable, показывает размеры в MB, GB.",[47,153,154,155,158,159,162],{},"Вывод: ",[25,156,157],{},"Filesystem Size Used Avail Use% Mounted on",". Обращайте внимание на ",[25,160,161],{},"Use%"," — если значение близко к 100%, это критично.",[21,164,165],{},"Пример вывода:",[121,167,172],{"className":168,"code":170,"language":171},[169],"language-text","Filesystem      Size  Used Avail Use% Mounted on\n/dev/sda1        50G   48G  2.0G  96% /\n","text",[25,173,170],{"__ignoreMap":126},[21,175,176,177,180],{},"В этом случае корневой раздел ",[25,178,179],{},"/"," заполнен на 96%. Дальнейшие действия сосредоточим на нём.",[110,182,184],{"id":183},"шаг-2-поиск-самых-больших-каталогов","Шаг 2: Поиск самых больших каталогов",[21,186,187,188,190],{},"Теперь нужно найти, какие каталоги занимают больше всего места. Начнём с корня ",[25,189,179],{},".",[121,192,194],{"className":123,"code":193,"language":125,"meta":126,"style":126},"sudo du -h --max-depth=1 / | sort -rh | head -n 20\n",[25,195,196],{"__ignoreMap":126},[130,197,198,200,204,207,210,213,217,220,223,225,228,231],{"class":132,"line":133},[130,199,53],{"class":136},[130,201,203],{"class":202},"sZZnC"," du",[130,205,206],{"class":139}," -h",[130,208,209],{"class":139}," --max-depth=1",[130,211,212],{"class":202}," /",[130,214,216],{"class":215},"szBVR"," |",[130,218,219],{"class":136}," sort",[130,221,222],{"class":139}," -rh",[130,224,216],{"class":215},[130,226,227],{"class":136}," head",[130,229,230],{"class":139}," -n",[130,232,233],{"class":139}," 20\n",[21,235,236],{},"Пояснение:",[44,238,239,244,250,256,262],{},[47,240,241,243],{},[25,242,53],{}," — требуется для доступа к некоторым системным каталогам.",[47,245,246,249],{},[25,247,248],{},"du -h"," — вычисляет использование диска каталогами.",[47,251,252,255],{},[25,253,254],{},"--max-depth=1"," — показывает только первый уровень вложенности (только подкаталоги корня).",[47,257,258,261],{},[25,259,260],{},"sort -rh"," — сортирует по убыванию размера (human-readable numeric).",[47,263,264,267],{},[25,265,266],{},"head -n 20"," — выводит топ-20 самых больших.",[21,269,270,271,273,274,276],{},"Если ",[25,272,31],{}," работает медленно на большом разделе, используйте ",[25,275,76],{}," (интерактивный инструмент):",[121,278,280],{"className":123,"code":279,"language":125,"meta":126,"style":126},"sudo ncdu /\n",[25,281,282],{"__ignoreMap":126},[130,283,284,286,289],{"class":132,"line":133},[130,285,53],{"class":136},[130,287,288],{"class":202}," ncdu",[130,290,291],{"class":202}," /\n",[21,293,294],{},"Он позволяет перемещаться по каталогам и видеть размеры в реальном времени.",[110,296,298],{"id":297},"шаг-3-очистка-кэша-пакетного-менеджера","Шаг 3: Очистка кэша пакетного менеджера",[21,300,301],{},"Пакетные менеджеры хранят скачанные архивы пакетов в кэше. За годы они могут накопиться в несколько gigabytes.",[21,303,304],{},[51,305,306],{},"Для Ubuntu/Debian (apt):",[121,308,310],{"className":123,"code":309,"language":125,"meta":126,"style":126},"sudo apt clean\n",[25,311,312],{"__ignoreMap":126},[130,313,314,316,319],{"class":132,"line":133},[130,315,53],{"class":136},[130,317,318],{"class":202}," apt",[130,320,321],{"class":202}," clean\n",[21,323,324,325,328],{},"Удаляет все файлы из ",[25,326,327],{},"/var/cache/apt/archives",". Безопасно, так как пакеты уже установлены.",[21,330,331],{},[51,332,333],{},"Для Fedora/CentOS/RHEL (dnf/yum):",[121,335,337],{"className":123,"code":336,"language":125,"meta":126,"style":126},"sudo dnf clean all\n",[25,338,339],{"__ignoreMap":126},[130,340,341,343,346,349],{"class":132,"line":133},[130,342,53],{"class":136},[130,344,345],{"class":202}," dnf",[130,347,348],{"class":202}," clean",[130,350,351],{"class":202}," all\n",[21,353,354],{},"или для старых версий:",[121,356,358],{"className":123,"code":357,"language":125,"meta":126,"style":126},"sudo yum clean all\n",[25,359,360],{"__ignoreMap":126},[130,361,362,364,367,369],{"class":132,"line":133},[130,363,53],{"class":136},[130,365,366],{"class":202}," yum",[130,368,348],{"class":202},[130,370,351],{"class":202},[372,373],"in-article-ad",{},[110,375,377],{"id":376},"шаг-4-удаление-старых-журналов-и-логов","Шаг 4: Удаление старых журналов и логов",[21,379,380,381,384],{},"Журналы в ",[25,382,383],{},"/var/log"," могут разрастаться, особенно если есть ошибки в системе. Очистите старые или сжатые логи.",[21,386,387,389,390,28,393,396,397,28,400,403],{},[51,388,90],{}," Не удаляйте файлы, которые активно используются (например, ",[25,391,392],{},"syslog",[25,394,395],{},"auth.log"," без сжатия). Лучше удалять только архивы (",[25,398,399],{},"*.gz",[25,401,402],{},"*.old",") и логи старше определённого срока.",[121,405,407],{"className":123,"code":406,"language":125,"meta":126,"style":126},"# Удалить сжатые логи старше 30 дней\nsudo find /var/log -type f -name \"*.gz\" -mtime +30 -delete\n\n# Удалить обычные логи (не сжатые) старше 7 дней (осторожно!)\nsudo find /var/log -type f -name \"*.log\" -mtime +7 -delete\n",[25,408,409,415,447,454,460],{"__ignoreMap":126},[130,410,411],{"class":132,"line":133},[130,412,414],{"class":413},"sJ8bj","# Удалить сжатые логи старше 30 дней\n",[130,416,418,420,423,426,429,432,435,438,441,444],{"class":132,"line":417},2,[130,419,53],{"class":136},[130,421,422],{"class":202}," find",[130,424,425],{"class":202}," /var/log",[130,427,428],{"class":139}," -type",[130,430,431],{"class":202}," f",[130,433,434],{"class":139}," -name",[130,436,437],{"class":202}," \"*.gz\"",[130,439,440],{"class":139}," -mtime",[130,442,443],{"class":202}," +30",[130,445,446],{"class":139}," -delete\n",[130,448,450],{"class":132,"line":449},3,[130,451,453],{"emptyLinePlaceholder":452},true,"\n",[130,455,457],{"class":132,"line":456},4,[130,458,459],{"class":413},"# Удалить обычные логи (не сжатые) старше 7 дней (осторожно!)\n",[130,461,463,465,467,469,471,473,475,478,480,483],{"class":132,"line":462},5,[130,464,53],{"class":136},[130,466,422],{"class":202},[130,468,425],{"class":202},[130,470,428],{"class":139},[130,472,431],{"class":202},[130,474,434],{"class":139},[130,476,477],{"class":202}," \"*.log\"",[130,479,440],{"class":139},[130,481,482],{"class":202}," +7",[130,484,446],{"class":139},[21,486,487],{},"Также проверьте размер конкретных логов:",[121,489,491],{"className":123,"code":490,"language":125,"meta":126,"style":126},"sudo du -sh /var/log/*\n",[25,492,493],{"__ignoreMap":126},[130,494,495,497,499,502,505],{"class":132,"line":133},[130,496,53],{"class":136},[130,498,203],{"class":202},[130,500,501],{"class":139}," -sh",[130,503,504],{"class":202}," /var/log/",[130,506,507],{"class":139},"*\n",[21,509,510,511,514,515,518],{},"Если видите огромные файлы (например, ",[25,512,513],{},"kern.log","), возможно, стоит настроить ",[25,516,517],{},"logrotate"," (обычно он уже есть).",[110,520,522],{"id":521},"шаг-5-очистка-временных-файлов","Шаг 5: Очистка временных файлов",[21,524,525,526,529,530,533],{},"Временные каталоги ",[25,527,528],{},"/tmp"," и ",[25,531,532],{},"/var/tmp"," часто содержат ненужные данные. Очистите их, но убедитесь, что нет важных файлов.",[121,535,537],{"className":123,"code":536,"language":125,"meta":126,"style":126},"# Очистка /tmp\nsudo rm -rf /tmp/*\n\n# Очистка /var/tmp\nsudo rm -rf /var/tmp/*\n",[25,538,539,544,559,563,568],{"__ignoreMap":126},[130,540,541],{"class":132,"line":133},[130,542,543],{"class":413},"# Очистка /tmp\n",[130,545,546,548,551,554,557],{"class":132,"line":417},[130,547,53],{"class":136},[130,549,550],{"class":202}," rm",[130,552,553],{"class":139}," -rf",[130,555,556],{"class":202}," /tmp/",[130,558,507],{"class":139},[130,560,561],{"class":132,"line":449},[130,562,453],{"emptyLinePlaceholder":452},[130,564,565],{"class":132,"line":456},[130,566,567],{"class":413},"# Очистка /var/tmp\n",[130,569,570,572,574,576,579],{"class":132,"line":462},[130,571,53],{"class":136},[130,573,550],{"class":202},[130,575,553],{"class":139},[130,577,578],{"class":202}," /var/tmp/",[130,580,507],{"class":139},[21,582,583,584,587],{},"Также проверьте ",[25,585,586],{},"/var/cache"," — там могут быть кэши приложений:",[121,589,591],{"className":123,"code":590,"language":125,"meta":126,"style":126},"sudo du -sh /var/cache/*\n",[25,592,593],{"__ignoreMap":126},[130,594,595,597,599,601,604],{"class":132,"line":133},[130,596,53],{"class":136},[130,598,203],{"class":202},[130,600,501],{"class":139},[130,602,603],{"class":202}," /var/cache/",[130,605,507],{"class":139},[21,607,608,609,28,612,28,615,618],{},"Если видите крупные каталоги (например, ",[25,610,611],{},"man",[25,613,614],{},"apt",[25,616,617],{},"yum","), их можно очистить аналогично шагу 3.",[110,620,622],{"id":621},"шаг-6-удаление-ненужных-пакетов-и-зависимостей","Шаг 6: Удаление ненужных пакетов и зависимостей",[21,624,625],{},"Со временем в системе накапливаются пакеты, которые были установлены как зависимости, но больше не нужны. Удалите их.",[21,627,628],{},[51,629,630],{},"Для Ubuntu/Debian:",[121,632,634],{"className":123,"code":633,"language":125,"meta":126,"style":126},"# Показать пакеты, которые можно удалить (зависимости)\nsudo apt autoremove --purge\n\n# Также проверьте список установленных пакетов и удалите ненужные вручную:\napt list --installed | less\n# Затем: sudo apt remove package-name\n",[25,635,636,641,653,657,662,677],{"__ignoreMap":126},[130,637,638],{"class":132,"line":133},[130,639,640],{"class":413},"# Показать пакеты, которые можно удалить (зависимости)\n",[130,642,643,645,647,650],{"class":132,"line":417},[130,644,53],{"class":136},[130,646,318],{"class":202},[130,648,649],{"class":202}," autoremove",[130,651,652],{"class":139}," --purge\n",[130,654,655],{"class":132,"line":449},[130,656,453],{"emptyLinePlaceholder":452},[130,658,659],{"class":132,"line":456},[130,660,661],{"class":413},"# Также проверьте список установленных пакетов и удалите ненужные вручную:\n",[130,663,664,666,669,672,674],{"class":132,"line":462},[130,665,614],{"class":136},[130,667,668],{"class":202}," list",[130,670,671],{"class":139}," --installed",[130,673,216],{"class":215},[130,675,676],{"class":136}," less\n",[130,678,680],{"class":132,"line":679},6,[130,681,682],{"class":413},"# Затем: sudo apt remove package-name\n",[21,684,685],{},[51,686,687],{},"Для Fedora/CentOS:",[121,689,691],{"className":123,"code":690,"language":125,"meta":126,"style":126},"sudo dnf autoremove\n",[25,692,693],{"__ignoreMap":126},[130,694,695,697,699],{"class":132,"line":133},[130,696,53],{"class":136},[130,698,345],{"class":202},[130,700,701],{"class":202}," autoremove\n",[21,703,704,707,708,711],{},[51,705,706],{},"Важно:"," Не удаляйте пакеты вручную, если не уверены, что они не нужны системе. Команда ",[25,709,710],{},"autoremove"," безопасна.",[16,713,715],{"id":714},"проверка-результата","Проверка результата",[21,717,718],{},"После выполнения всех шагов снова проверьте использование диска:",[121,720,721],{"className":123,"code":124,"language":125,"meta":126,"style":126},[25,722,723],{"__ignoreMap":126},[130,724,725,727],{"class":132,"line":133},[130,726,27],{"class":136},[130,728,140],{"class":139},[21,730,731,732,529,735,738,739,741],{},"Сравните значения ",[25,733,734],{},"Used",[25,736,737],{},"Avail"," с первоначальными. Вы должны увидеть рост свободного места (",[25,740,737],{},"). Также можно повторить анализ каталогов (шаг 2) для подтверждения.",[16,743,745],{"id":744},"возможные-проблемы","Возможные проблемы",[747,748,749,766,783,800,814],"ol",{},[47,750,751,754],{},[51,752,753],{},"Ошибка доступа (Permission denied)",[44,755,756],{},[47,757,758,759,761,762,765],{},"Решение: используйте ",[25,760,53],{}," для команд, требующих прав администратора. Не запускайте ",[25,763,764],{},"rm -rf"," без понимания, что удаляете.",[47,767,768,771],{},[51,769,770],{},"Место не освобождается после удаления файлов",[44,772,773,776],{},[47,774,775],{},"Причина: процесс всё ещё держит открытый дескриптор удалённого файла.",[47,777,778,779,782],{},"Решение: найдите процесс: ",[25,780,781],{},"sudo lsof | grep '(deleted)'",". Затем перезапустите соответствующий процесс (например, службу) или завершите его.",[47,784,785,788],{},[51,786,787],{},"Система стала работать нестабильно после удаления пакетов",[44,789,790,793],{},[47,791,792],{},"Причина: случайно удалён критичный пакет.",[47,794,795,796,799],{},"Решение: восстановите пакет через ",[25,797,798],{},"sudo apt install package-name"," (или аналог). Имея резервную копию списка пакетов, можно восстановить систему.",[47,801,802,805],{},[51,803,804],{},"Критически важные логи удалены",[44,806,807],{},[47,808,809,810,813],{},"Решение: если удалили активный лог, перезапустите службу, которая его пишет (например, ",[25,811,812],{},"sudo systemctl restart rsyslog","), чтобы создать новый файл. Старые данные могут быть потеряны.",[47,815,816,819],{},[51,817,818],{},"Недостаточно места даже после очистки",[44,820,821],{},[47,822,823,824,28,827,830],{},"Возможно, есть большие файлы, которые не были учтены (например, дампы баз данных, виртуальные машины). Проверьте домашние каталоги пользователей и каталоги приложений (",[25,825,826],{},"/opt",[25,828,829],{},"/var/lib/docker"," если используется Docker).",[21,832,833,836],{},[51,834,835],{},"Рекомендация:"," Регулярно выполняйте очистку кэша пакетов и журналов (раз в месяц) для поддержания здоровья системы.",[838,839,840],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":126,"searchDepth":417,"depth":417,"links":842},[843,844,845,853,854],{"id":18,"depth":417,"text":19},{"id":38,"depth":417,"text":39},{"id":107,"depth":417,"text":108,"children":846},[847,848,849,850,851,852],{"id":112,"depth":449,"text":113},{"id":183,"depth":449,"text":184},{"id":297,"depth":449,"text":298},{"id":376,"depth":449,"text":377},{"id":521,"depth":449,"text":522},{"id":621,"depth":449,"text":622},{"id":714,"depth":417,"text":715},{"id":744,"depth":417,"text":745},null,"2026-02-16 18:42:51","Пошаговая инструкция по анализу и освобождению места на диске в Linux. Проверьте использование, очистите кэш и временные файлы за 15 минут.","medium",false,"10-15 мин","md",[863,866,869,872],{"answer":864,"question":865},"Используйте `sudo du -h --max-depth=1 / | sort -rh | head -n 20` — это покажет топ-20 самых больших каталогов в корневой файловой системе.","Как быстро проверить, какие каталоги занимают больше всего места?",{"answer":867,"question":868},"Да, но только если они не используются текущими процессами. Лучше использовать `sudo rm -rf /tmp/*` после остановки сервисов, которые могут там хранить данные.","Безопасно ли удалять файлы в /tmp вручную?",{"answer":870,"question":871},"Возможно, процесс всё ещё держит дескриптор удалённого файла. Найдите его через `lsof | grep '(deleted)'` и перезапустите процесс или освободите дескриптор.","Что делать, если место не освобождается после удаления больших файлов?",{"answer":873,"question":874},"Настройте задачу cron для регулярной очистки кэша пакетов (`apt clean`), старых журналов (`logrotate`) и файлов в /tmp старше 10 дней.","Как автоматизировать очистку, чтобы место не заканчивалось снова?",[876,879,882,885,888,891],{"name":877,"text":878},"Проверка текущего использования диска","Определите, какие разделы заполнены, с помощью команды `df -h`. Она покажет использование каждого монтированного раздела в удобочитаемом формате.",{"name":880,"text":881},"Поиск самых больших каталогов","Используйте `du` для анализа использования каталогов. Например, `sudo du -sh /*` покажет размер каждого каталога в корне. Для более детального анализа используйте `ncdu`.",{"name":883,"text":884},"Очистка кэша пакетного менеджера","Освободите место, удалив скачанные, но не установленные пакеты. Для apt-based систем (Ubuntu/Debian): `sudo apt clean`. Для dnf/yum (Fedora/CentOS): `sudo dnf clean all` или `sudo yum clean all`.",{"name":886,"text":887},"Удаление старых журналов и логов","Очистите журналы в `/var/log`, которые могут разрастаться. Будьте осторожны: удаляйте только старые или сжатые файлы (например, `*.gz`). Используйте `sudo find /var/log -type f -name \"*.log\" -mtime +30 -delete` для логов старше 30 дней.",{"name":889,"text":890},"Очистка временных файлов","Удалите содержимое `/tmp` и `/var/tmp`, но убедитесь, что нет важных временных данных. Команда: `sudo rm -rf /tmp/* /var/tmp/*`. Также проверьте `/var/cache` на наличие ненужных данных.",{"name":892,"text":893},"Удаление ненужных пакетов и зависимостей","Удалите автоматически установленные зависимости, которые больше не нужны: `sudo apt autoremove --purge` (Ubuntu/Debian) или `sudo dnf autoremove` (Fedora/CentOS). Также проверьте список установленных пакетов и удалите ненужные.","PT15M",[896,897,898,899,900,901,902,903,904,905],"управление дисковым пространством linux","проверить свободное место linux","очистить диск linux","анализ использования диска linux","освободить место на диске linux","команда df linux","команда du linux","очистка кэша пакетов ubuntu","удаление журналов linux","диск полный linux","ru_RU",{},"/guides/linux/disk-space-management","linux",[911,912,913],"/guides/linux/cleanup-apt-cache","/guides/linux/remove-old-kernels","/guides/linux/log-rotation","Гайды Linux",{"title":5,"description":857},"guides/linux/disk-space-management","Этот гайд поможет вам диагностировать использование дискового пространства и безопасно очистить систему Linux от ненужных данных, вернув gigabytes свободного места.",[909,919,920,921,922,923,924],"disk","space","управление","очистка","sysadmin","disk-usage","guide","e_j1i51kqjSCzngJMLsMJzikAXXb9cF6HZAn-szepec",{"data":928,"body":929},{},{"type":930,"children":931},"root",[932],{"type":933,"tag":21,"props":934,"children":935},"element",{},[936,938,944],{"type":171,"value":937},"Используйте ",{"type":933,"tag":25,"props":939,"children":941},{"className":940},[],[942],{"type":171,"value":943},"sudo du -h --max-depth=1 / | sort -rh | head -n 20",{"type":171,"value":945}," — это покажет топ-20 самых больших каталогов в корневой файловой системе.",{"data":947,"body":948},{},{"type":930,"children":949},[950],{"type":933,"tag":21,"props":951,"children":952},{},[953,955,961],{"type":171,"value":954},"Да, но только если они не используются текущими процессами. Лучше использовать ",{"type":933,"tag":25,"props":956,"children":958},{"className":957},[],[959],{"type":171,"value":960},"sudo rm -rf /tmp/*",{"type":171,"value":962}," после остановки сервисов, которые могут там хранить данные.",{"data":964,"body":965},{},{"type":930,"children":966},[967],{"type":933,"tag":21,"props":968,"children":969},{},[970,972,978],{"type":171,"value":971},"Возможно, процесс всё ещё держит дескриптор удалённого файла. Найдите его через ",{"type":933,"tag":25,"props":973,"children":975},{"className":974},[],[976],{"type":171,"value":977},"lsof | grep '(deleted)'",{"type":171,"value":979}," и перезапустите процесс или освободите дескриптор.",{"data":981,"body":982},{},{"type":930,"children":983},[984],{"type":933,"tag":21,"props":985,"children":986},{},[987,989,995,997,1002],{"type":171,"value":988},"Настройте задачу cron для регулярной очистки кэша пакетов (",{"type":933,"tag":25,"props":990,"children":992},{"className":991},[],[993],{"type":171,"value":994},"apt clean",{"type":171,"value":996},"), старых журналов (",{"type":933,"tag":25,"props":998,"children":1000},{"className":999},[],[1001],{"type":171,"value":517},{"type":171,"value":1003},") и файлов в /tmp старше 10 дней.",{"data":1005,"body":1006},{},{"type":930,"children":1007},[1008],{"type":933,"tag":21,"props":1009,"children":1010},{},[1011,1013,1019],{"type":171,"value":1012},"Определите, какие разделы заполнены, с помощью команды ",{"type":933,"tag":25,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":171,"value":1018},"df -h",{"type":171,"value":1020},". Она покажет использование каждого монтированного раздела в удобочитаемом формате.",{"data":1022,"body":1023},{},{"type":930,"children":1024},[1025],{"type":933,"tag":21,"props":1026,"children":1027},{},[1028,1029,1034,1036,1042,1044,1049],{"type":171,"value":937},{"type":933,"tag":25,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":171,"value":31},{"type":171,"value":1035}," для анализа использования каталогов. Например, ",{"type":933,"tag":25,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":171,"value":1041},"sudo du -sh /*",{"type":171,"value":1043}," покажет размер каждого каталога в корне. Для более детального анализа используйте ",{"type":933,"tag":25,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":171,"value":76},{"type":171,"value":190},{"data":1051,"body":1052},{},{"type":930,"children":1053},[1054],{"type":933,"tag":21,"props":1055,"children":1056},{},[1057,1059,1065,1067,1073,1074,1080],{"type":171,"value":1058},"Освободите место, удалив скачанные, но не установленные пакеты. Для apt-based систем (Ubuntu/Debian): ",{"type":933,"tag":25,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":171,"value":1064},"sudo apt clean",{"type":171,"value":1066},". Для dnf/yum (Fedora/CentOS): ",{"type":933,"tag":25,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":171,"value":1072},"sudo dnf clean all",{"type":171,"value":81},{"type":933,"tag":25,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":171,"value":1079},"sudo yum clean all",{"type":171,"value":190},{"data":1082,"body":1083},{},{"type":930,"children":1084},[1085],{"type":933,"tag":21,"props":1086,"children":1087},{},[1088,1090,1095,1097,1102,1104,1110],{"type":171,"value":1089},"Очистите журналы в ",{"type":933,"tag":25,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":171,"value":383},{"type":171,"value":1096},", которые могут разрастаться. Будьте осторожны: удаляйте только старые или сжатые файлы (например, ",{"type":933,"tag":25,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":171,"value":399},{"type":171,"value":1103},"). Используйте ",{"type":933,"tag":25,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":171,"value":1109},"sudo find /var/log -type f -name \"*.log\" -mtime +30 -delete",{"type":171,"value":1111}," для логов старше 30 дней.",{"data":1113,"body":1114},{},{"type":930,"children":1115},[1116],{"type":933,"tag":21,"props":1117,"children":1118},{},[1119,1121,1126,1127,1132,1134,1140,1142,1147],{"type":171,"value":1120},"Удалите содержимое ",{"type":933,"tag":25,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":171,"value":528},{"type":171,"value":529},{"type":933,"tag":25,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":171,"value":532},{"type":171,"value":1133},", но убедитесь, что нет важных временных данных. Команда: ",{"type":933,"tag":25,"props":1135,"children":1137},{"className":1136},[],[1138],{"type":171,"value":1139},"sudo rm -rf /tmp/* /var/tmp/*",{"type":171,"value":1141},". Также проверьте ",{"type":933,"tag":25,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":171,"value":586},{"type":171,"value":1148}," на наличие ненужных данных.",{"data":1150,"body":1151},{},{"type":930,"children":1152},[1153],{"type":933,"tag":21,"props":1154,"children":1155},{},[1156,1158,1164,1166,1172],{"type":171,"value":1157},"Удалите автоматически установленные зависимости, которые больше не нужны: ",{"type":933,"tag":25,"props":1159,"children":1161},{"className":1160},[],[1162],{"type":171,"value":1163},"sudo apt autoremove --purge",{"type":171,"value":1165}," (Ubuntu/Debian) или ",{"type":933,"tag":25,"props":1167,"children":1169},{"className":1168},[],[1170],{"type":171,"value":1171},"sudo dnf autoremove",{"type":171,"value":1173}," (Fedora/CentOS). Также проверьте список установленных пакетов и удалите ненужные.",[1175,2080],{"id":1176,"title":1177,"appliesTo":1178,"author":11,"body":1180,"canonical":855,"code":855,"createdAt":2023,"description":2024,"difficulty":2025,"draft":859,"estimatedTime":860,"extension":861,"faq":2026,"howToSteps":2039,"howToTotalTime":894,"image":855,"keywords":2055,"locale":906,"meta":2065,"navigation":452,"path":912,"platform":909,"related":2066,"section":914,"seo":2070,"severity":858,"stem":2071,"summary":2072,"tags":2073,"twitterCreator":855,"twitterSite":855,"type":925,"updatedAt":2023,"__hash__":2079},"content_ru/guides/linux/remove-old-kernels.md","Удаление старых ядер Linux: освободите место и улучшите систему",[7,8,10,1179],"другие дистрибутивы на базе apt/dpkg",{"type":13,"value":1181,"toc":2003},[1182,1184,1191,1211,1214,1216,1218,1240,1242,1246,1253,1274,1276,1282,1289,1309,1316,1320,1323,1336,1338,1344,1350,1353,1357,1366,1372,1387,1394,1403,1410,1431,1436,1439,1626,1631,1650,1654,1657,1669,1679,1683,1686,1698,1701,1703,1705,1797,1799,1803,1815,1820,1852,1855,1859,1864,1868,1910,1914,1919,1923,1941,1948,1956,1960,1976,1980,2000],[16,1183,19],{"id":18},[21,1185,1186,1187,1190],{},"После обновлений системы в Linux накапливается множество старых версий ядра. Каждое ядро занимает 100–300 МБ на системном разделе ",[25,1188,1189],{},"/boot",". Со временем это может привести к заполнению раздела, что вызовет ошибки при установке обновлений или даже помешает загрузке системы. Удаление ненужных ядер:",[44,1192,1193,1199,1205],{},[47,1194,1195,1198],{},[51,1196,1197],{},"Освобождает место"," на диске.",[47,1200,1201,1204],{},[51,1202,1203],{},"Снижает риски безопасности",", так как в старых ядрах могут оставаться уязвимости.",[47,1206,1207,1210],{},[51,1208,1209],{},"Упрощает меню загрузчика",", оставляя только актуальные варианты.",[21,1212,1213],{},"В этом гайде вы научитесь безопасно удалять старые ядра в дистрибутивах на базе Debian/Ubuntu (а также получите общие рекомендации для других систем).",[16,1215,39],{"id":38},[21,1217,42],{},[747,1219,1220,1226,1233],{},[47,1221,1222,1223,1225],{},"У вас есть доступ к терминалу с правами ",[51,1224,53],{}," (или root).",[47,1227,1228,1229,1232],{},"Вы ",[51,1230,1231],{},"знаете текущую версию ядра"," (см. шаг 2), чтобы не удалить его.",[47,1234,1235,1236,1239],{},"Рекомендуется оставить ",[51,1237,1238],{},"хотя бы одно предыдущее ядро"," на случай, если новое ядро вызовет проблемы с оборудованием или драйверами.",[16,1241,108],{"id":107},[110,1243,1245],{"id":1244},"шаг-1-проверьте-установленные-ядра","Шаг 1: Проверьте установленные ядра",[21,1247,1248,1249,1252],{},"Сначала просмотрите список всех установленных ядер. Для дистрибутивов на базе ",[51,1250,1251],{},"Debian/Ubuntu"," выполните:",[121,1254,1256],{"className":123,"code":1255,"language":125,"meta":126,"style":126},"dpkg --list | grep linux-image\n",[25,1257,1258],{"__ignoreMap":126},[130,1259,1260,1263,1266,1268,1271],{"class":132,"line":133},[130,1261,1262],{"class":136},"dpkg",[130,1264,1265],{"class":139}," --list",[130,1267,216],{"class":215},[130,1269,1270],{"class":136}," grep",[130,1272,1273],{"class":202}," linux-image\n",[21,1275,165],{},[121,1277,1280],{"className":1278,"code":1279,"language":171},[169],"ii  linux-image-5.4.0-100-generic   5.4.0-100.112   amd64   Signed kernel image generic\nii  linux-image-5.4.0-99-generic    5.4.0-99.111    amd64   Signed kernel image generic\n",[25,1281,1279],{"__ignoreMap":126},[21,1283,1284,1285,1288],{},"Для ",[51,1286,1287],{},"Fedora/CentOS/RHEL"," используйте:",[121,1290,1292],{"className":123,"code":1291,"language":125,"meta":126,"style":126},"rpm -qa | grep kernel\n",[25,1293,1294],{"__ignoreMap":126},[130,1295,1296,1299,1302,1304,1306],{"class":132,"line":133},[130,1297,1298],{"class":136},"rpm",[130,1300,1301],{"class":139}," -qa",[130,1303,216],{"class":215},[130,1305,1270],{"class":136},[130,1307,1308],{"class":202}," kernel\n",[21,1310,1311,1312,1315],{},"Обратите внимание на версии ядер (например, ",[25,1313,1314],{},"5.4.0-100-generic","). Это пакеты, которые можно удалить.",[110,1317,1319],{"id":1318},"шаг-2-определите-текущее-ядро","Шаг 2: Определите текущее ядро",[21,1321,1322],{},"Чтобы не удалить активное ядро, узнайте его версию:",[121,1324,1326],{"className":123,"code":1325,"language":125,"meta":126,"style":126},"uname -r\n",[25,1327,1328],{"__ignoreMap":126},[130,1329,1330,1333],{"class":132,"line":133},[130,1331,1332],{"class":136},"uname",[130,1334,1335],{"class":139}," -r\n",[21,1337,165],{},[121,1339,1342],{"className":1340,"code":1341,"language":171},[169],"5.4.0-100-generic\n",[25,1343,1341],{"__ignoreMap":126},[21,1345,1346,1349],{},[51,1347,1348],{},"Запишите эту версию."," Удалять пакет с такой версией нельзя, иначе система не запустится.",[21,1351,1352],{},"Также можно проверить, какие ядра доступны в меню GRUB, но это необязательно.",[110,1354,1356],{"id":1355},"шаг-3-удалите-старые-ядра","Шаг 3: Удалите старые ядра",[1358,1359,1361,1362,1365],"h4",{"id":1360},"способ-a-использование-apt-autoremove-ubuntudebian","Способ A: Использование ",[25,1363,1364],{},"apt autoremove"," (Ubuntu/Debian)",[21,1367,1368,1369,1371],{},"Команда ",[25,1370,1364],{}," удаляет пакеты, установленные как зависимости и больше не нужные. Иногда она удаляет и старые ядра:",[121,1373,1375],{"className":123,"code":1374,"language":125,"meta":126,"style":126},"sudo apt autoremove --purge\n",[25,1376,1377],{"__ignoreMap":126},[130,1378,1379,1381,1383,1385],{"class":132,"line":133},[130,1380,53],{"class":136},[130,1382,318],{"class":202},[130,1384,649],{"class":202},[130,1386,652],{"class":139},[21,1388,1389,1390,1393],{},"Флаг ",[25,1391,1392],{},"--purge"," также удаляет конфигурационные файлы. После выполнения проверьте, остались ли старые ядра (шаг 1). Если да — перейдите к способу B.",[1358,1395,1397,1398,179,1400],{"id":1396},"способ-b-ручное-удаление-через-dpkgapt-purge","Способ B: Ручное удаление через ",[25,1399,1262],{},[25,1401,1402],{},"apt purge",[21,1404,1405,1406,1409],{},"Удалите конкретные пакеты старых ядер и соответствующие заголовки (headers). Например, для версии ",[25,1407,1408],{},"5.4.0-99",":",[121,1411,1413],{"className":123,"code":1412,"language":125,"meta":126,"style":126},"sudo apt-get purge linux-image-5.4.0-99-generic linux-headers-5.4.0-99-generic\n",[25,1414,1415],{"__ignoreMap":126},[130,1416,1417,1419,1422,1425,1428],{"class":132,"line":133},[130,1418,53],{"class":136},[130,1420,1421],{"class":202}," apt-get",[130,1423,1424],{"class":202}," purge",[130,1426,1427],{"class":202}," linux-image-5.4.0-99-generic",[130,1429,1430],{"class":202}," linux-headers-5.4.0-99-generic\n",[21,1432,1433,1435],{},[51,1434,706],{}," не удаляйте пакеты текущего ядра (из шага 2). Также рекомендуется оставить хотя бы одно резервное ядро (например, предыдущую версию).",[21,1437,1438],{},"Если нужно удалить все ядра, кроме текущего, можно использовать такой скрипт (для Debian/Ubuntu):",[121,1440,1442],{"className":123,"code":1441,"language":125,"meta":126,"style":126},"#!/bin/bash\n# Получаем текущую версию ядра (без архитектуры)\ncurrent_kernel=$(uname -r | grep -oE '^[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+')\n# Получаем список установленных версий ядер (из пакетов linux-image)\ninstalled_kernels=$(dpkg --list | grep linux-image | awk '{print $2}' | grep -oE '[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+')\n# Удаляем все, кроме текущего\nfor kernel in $installed_kernels; do\n  if [ \"$kernel\" != \"$current_kernel\" ]; then\n    sudo apt-get purge -y \"linux-image-$kernel-generic\" \"linux-headers-$kernel-generic\"\n  fi\ndone\n",[25,1443,1444,1449,1454,1484,1489,1528,1533,1551,1585,1614,1620],{"__ignoreMap":126},[130,1445,1446],{"class":132,"line":133},[130,1447,1448],{"class":413},"#!/bin/bash\n",[130,1450,1451],{"class":132,"line":417},[130,1452,1453],{"class":413},"# Получаем текущую версию ядра (без архитектуры)\n",[130,1455,1456,1460,1463,1466,1468,1471,1473,1475,1478,1481],{"class":132,"line":449},[130,1457,1459],{"class":1458},"sVt8B","current_kernel",[130,1461,1462],{"class":215},"=",[130,1464,1465],{"class":1458},"$(",[130,1467,1332],{"class":136},[130,1469,1470],{"class":139}," -r",[130,1472,216],{"class":215},[130,1474,1270],{"class":136},[130,1476,1477],{"class":139}," -oE",[130,1479,1480],{"class":202}," '^[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+'",[130,1482,1483],{"class":1458},")\n",[130,1485,1486],{"class":132,"line":456},[130,1487,1488],{"class":413},"# Получаем список установленных версий ядер (из пакетов linux-image)\n",[130,1490,1491,1494,1496,1498,1500,1502,1504,1506,1509,1511,1514,1517,1519,1521,1523,1526],{"class":132,"line":462},[130,1492,1493],{"class":1458},"installed_kernels",[130,1495,1462],{"class":215},[130,1497,1465],{"class":1458},[130,1499,1262],{"class":136},[130,1501,1265],{"class":139},[130,1503,216],{"class":215},[130,1505,1270],{"class":136},[130,1507,1508],{"class":202}," linux-image",[130,1510,216],{"class":215},[130,1512,1513],{"class":136}," awk",[130,1515,1516],{"class":202}," '{print $2}'",[130,1518,216],{"class":215},[130,1520,1270],{"class":136},[130,1522,1477],{"class":139},[130,1524,1525],{"class":202}," '[0-9]+\\.[0-9]+\\.[0-9]+-[0-9]+'",[130,1527,1483],{"class":1458},[130,1529,1530],{"class":132,"line":679},[130,1531,1532],{"class":413},"# Удаляем все, кроме текущего\n",[130,1534,1536,1539,1542,1545,1548],{"class":132,"line":1535},7,[130,1537,1538],{"class":215},"for",[130,1540,1541],{"class":1458}," kernel ",[130,1543,1544],{"class":215},"in",[130,1546,1547],{"class":1458}," $installed_kernels; ",[130,1549,1550],{"class":215},"do\n",[130,1552,1554,1557,1560,1563,1566,1568,1571,1574,1577,1579,1582],{"class":132,"line":1553},8,[130,1555,1556],{"class":215},"  if",[130,1558,1559],{"class":1458}," [ ",[130,1561,1562],{"class":202},"\"",[130,1564,1565],{"class":1458},"$kernel",[130,1567,1562],{"class":202},[130,1569,1570],{"class":215}," !=",[130,1572,1573],{"class":202}," \"",[130,1575,1576],{"class":1458},"$current_kernel",[130,1578,1562],{"class":202},[130,1580,1581],{"class":1458}," ]; ",[130,1583,1584],{"class":215},"then\n",[130,1586,1588,1591,1593,1595,1598,1601,1603,1606,1609,1611],{"class":132,"line":1587},9,[130,1589,1590],{"class":136},"    sudo",[130,1592,1421],{"class":202},[130,1594,1424],{"class":202},[130,1596,1597],{"class":139}," -y",[130,1599,1600],{"class":202}," \"linux-image-",[130,1602,1565],{"class":1458},[130,1604,1605],{"class":202},"-generic\"",[130,1607,1608],{"class":202}," \"linux-headers-",[130,1610,1565],{"class":1458},[130,1612,1613],{"class":202},"-generic\"\n",[130,1615,1617],{"class":132,"line":1616},10,[130,1618,1619],{"class":215},"  fi\n",[130,1621,1623],{"class":132,"line":1622},11,[130,1624,1625],{"class":215},"done\n",[21,1627,1628],{},[51,1629,1630],{},"Для других дистрибутивов:",[44,1632,1633,1642],{},[47,1634,1635,1638,1639],{},[51,1636,1637],{},"Fedora:"," ",[25,1640,1641],{},"sudo dnf remove kernel-версия",[47,1643,1644,1638,1647],{},[51,1645,1646],{},"Arch Linux:",[25,1648,1649],{},"sudo pacman -R linux-версия",[110,1651,1653],{"id":1652},"шаг-4-обновите-конфигурацию-загрузчика","Шаг 4: Обновите конфигурацию загрузчика",[21,1655,1656],{},"После удаления ядер обновите конфигурацию GRUB, чтобы меню загрузки не содержало удалённых записей:",[121,1658,1660],{"className":123,"code":1659,"language":125,"meta":126,"style":126},"sudo update-grub\n",[25,1661,1662],{"__ignoreMap":126},[130,1663,1664,1666],{"class":132,"line":133},[130,1665,53],{"class":136},[130,1667,1668],{"class":202}," update-grub\n",[21,1670,1671,1672,1675,1676,190],{},"Для систем, использующих ",[51,1673,1674],{},"systemd-boot",", обновление может не потребоваться, но проверьте конфигурацию в ",[25,1677,1678],{},"/boot/loader/entries/",[110,1680,1682],{"id":1681},"шаг-5-перезагрузите-систему","Шаг 5: Перезагрузите систему",[21,1684,1685],{},"Перезагрузите компьютер, чтобы убедиться, что система загружается с текущего ядра:",[121,1687,1689],{"className":123,"code":1688,"language":125,"meta":126,"style":126},"sudo reboot\n",[25,1690,1691],{"__ignoreMap":126},[130,1692,1693,1695],{"class":132,"line":133},[130,1694,53],{"class":136},[130,1696,1697],{"class":202}," reboot\n",[21,1699,1700],{},"После перезагрузки проверьте, что система работает корректно (сеть, графический интерфейс и т.д.).",[372,1702],{},[16,1704,715],{"id":714},[747,1706,1707,1733,1775,1791],{},[47,1708,1709,1712,1713,1409,1715,1729,1732],{},[51,1710,1711],{},"Освобождённое место:"," проверьте, сколько места теперь занимает раздел ",[25,1714,1189],{},[121,1716,1718],{"className":123,"code":1717,"language":125,"meta":126,"style":126},"df -h /boot\n",[25,1719,1720],{"__ignoreMap":126},[130,1721,1722,1724,1726],{"class":132,"line":133},[130,1723,27],{"class":136},[130,1725,206],{"class":139},[130,1727,1728],{"class":202}," /boot\n",[1730,1731],"br",{},"Вы должны увидеть значительное увеличение свободного места.",[47,1734,1735,1738,1739],{},[51,1736,1737],{},"Список ядер:"," убедитесь, что старые ядра удалены:",[121,1740,1742],{"className":123,"code":1741,"language":125,"meta":126,"style":126},"dpkg --list | grep linux-image   # Debian/Ubuntu\nrpm -qa | grep kernel           # Fedora/CentOS\n",[25,1743,1744,1759],{"__ignoreMap":126},[130,1745,1746,1748,1750,1752,1754,1756],{"class":132,"line":133},[130,1747,1262],{"class":136},[130,1749,1265],{"class":139},[130,1751,216],{"class":215},[130,1753,1270],{"class":136},[130,1755,1508],{"class":202},[130,1757,1758],{"class":413},"   # Debian/Ubuntu\n",[130,1760,1761,1763,1765,1767,1769,1772],{"class":132,"line":417},[130,1762,1298],{"class":136},[130,1764,1301],{"class":139},[130,1766,216],{"class":215},[130,1768,1270],{"class":136},[130,1770,1771],{"class":202}," kernel",[130,1773,1774],{"class":413},"           # Fedora/CentOS\n",[47,1776,1777,1780,1781],{},[51,1778,1779],{},"Текущее ядро:"," проверьте, что активное ядро не изменилось:",[121,1782,1783],{"className":123,"code":1325,"language":125,"meta":126,"style":126},[25,1784,1785],{"__ignoreMap":126},[130,1786,1787,1789],{"class":132,"line":133},[130,1788,1332],{"class":136},[130,1790,1335],{"class":139},[47,1792,1793,1796],{},[51,1794,1795],{},"Меню загрузчика:"," при следующей перезагрузке убедитесь, что в меню GRUB нет удалённых версий ядра.",[16,1798,745],{"id":744},[110,1800,1802],{"id":1801},"проблема-случайное-удаление-текущего-ядра","Проблема: Случайное удаление текущего ядра",[21,1804,1805,1808,1809,81,1812,190],{},[51,1806,1807],{},"Симптом:"," система не загружается, появляется ошибка ",[25,1810,1811],{},"grub rescue>",[25,1813,1814],{},"no such device",[21,1816,1817],{},[51,1818,1819],{},"Решение:",[747,1821,1822,1825,1845],{},[47,1823,1824],{},"Перезагрузите компьютер и в меню GRUB выберите предыдущее ядро (если оно есть).",[47,1826,1827,1828],{},"Загрузитесь с ним и переустановите нужное ядро, например:",[121,1829,1831],{"className":123,"code":1830,"language":125,"meta":126,"style":126},"sudo apt install linux-image-5.4.0-100-generic\n",[25,1832,1833],{"__ignoreMap":126},[130,1834,1835,1837,1839,1842],{"class":132,"line":133},[130,1836,53],{"class":136},[130,1838,318],{"class":202},[130,1840,1841],{"class":202}," install",[130,1843,1844],{"class":202}," linux-image-5.4.0-100-generic\n",[47,1846,1847,1848,1851],{},"Обновите GRUB (",[25,1849,1850],{},"sudo update-grub",") и перезагрузитесь.",[21,1853,1854],{},"Если предыдущего ядра нет, потребуется загрузка с LiveCD, монтирование корневой файловой системы и chroot для восстановления.",[110,1856,1858],{"id":1857},"проблема-grub-не-обновляется","Проблема: GRUB не обновляется",[21,1860,1861,1863],{},[51,1862,1807],{}," после удаления ядер в меню загрузки всё ещё отображаются удалённые записи.",[21,1865,1866],{},[51,1867,1819],{},[44,1869,1870,1875,1882],{},[47,1871,1872,1873,190],{},"Убедитесь, что вы выполнили ",[25,1874,1850],{},[47,1876,1877,1878,1881],{},"Проверьте, что пакет ",[25,1879,1880],{},"grub-common"," установлен.",[47,1883,1884,1885],{},"В редких случаях может потребоваться переустановка GRUB:",[121,1886,1888],{"className":123,"code":1887,"language":125,"meta":126,"style":126},"sudo apt install --reinstall grub-pc\nsudo update-grub\n",[25,1889,1890,1904],{"__ignoreMap":126},[130,1891,1892,1894,1896,1898,1901],{"class":132,"line":133},[130,1893,53],{"class":136},[130,1895,318],{"class":202},[130,1897,1841],{"class":202},[130,1899,1900],{"class":139}," --reinstall",[130,1902,1903],{"class":202}," grub-pc\n",[130,1905,1906,1908],{"class":132,"line":417},[130,1907,53],{"class":136},[130,1909,1668],{"class":202},[110,1911,1913],{"id":1912},"проблема-ошибки-зависимостей-при-удалении","Проблема: Ошибки зависимостей при удалении",[21,1915,1916,1918],{},[51,1917,1807],{}," команда удаления завершается с ошибками о неудовлетворённых зависимостях.",[21,1920,1921],{},[51,1922,1819],{},[44,1924,1925,1928,1934],{},[47,1926,1927],{},"Удаляйте ядра вместе с заголовками (headers) и модулями (modules), как показано выше.",[47,1929,1930,1931,1933],{},"После ручного удаления запустите ",[25,1932,1163],{},", чтобы очистить оставшиеся зависимости.",[47,1935,1936,1937,1940],{},"Если проблема persists, используйте ",[25,1938,1939],{},"sudo apt-get -f install"," для исправления.",[110,1942,1944,1945,1947],{"id":1943},"проблема-раздел-boot-снова-заполняется","Проблема: Раздел ",[25,1946,1189],{}," снова заполняется",[21,1949,1950,1952,1953,1955],{},[51,1951,1807],{}," через некоторое время после очистки раздел ",[25,1954,1189],{}," снова заполняется.",[21,1957,1958],{},[51,1959,1819],{},[44,1961,1962,1965],{},[47,1963,1964],{},"Это нормально: новые обновления ядра будут устанавливаться. Настройте регулярную проверку (например, раз в месяц).",[47,1966,1967,1968,1971,1972,1975],{},"Для автоматизации можно использовать инструменты вроде ",[25,1969,1970],{},"byobu"," (с опцией ",[25,1973,1974],{},"purge-old-kernels","), но будьте осторожны — настройте их на сохранение хотя бы одного резервного ядра.",[110,1977,1979],{"id":1978},"проблема-удаление-ядер-в-нестандартных-конфигурациях","Проблема: Удаление ядер в нестандартных конфигурациях",[21,1981,1982,1983,81,1986,1989,1990,1992,1993,1995,1996,1999],{},"Если вы используете ",[51,1984,1985],{},"кастомные ядра",[51,1987,1988],{},"нестандартные пути",", убедитесь, что удаляете правильные пакеты. Вместо ",[25,1991,1262],{}," можно удалять файлы вручную из ",[25,1994,1189],{},", но это ",[51,1997,1998],{},"крайне не рекомендуется"," — лучше использовать менеджер пакетов.",[838,2001,2002],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":126,"searchDepth":417,"depth":417,"links":2004},[2005,2006,2007,2014,2015],{"id":18,"depth":417,"text":19},{"id":38,"depth":417,"text":39},{"id":107,"depth":417,"text":108,"children":2008},[2009,2010,2011,2012,2013],{"id":1244,"depth":449,"text":1245},{"id":1318,"depth":449,"text":1319},{"id":1355,"depth":449,"text":1356},{"id":1652,"depth":449,"text":1653},{"id":1681,"depth":449,"text":1682},{"id":714,"depth":417,"text":715},{"id":744,"depth":417,"text":745,"children":2016},[2017,2018,2019,2020,2022],{"id":1801,"depth":449,"text":1802},{"id":1857,"depth":449,"text":1858},{"id":1912,"depth":449,"text":1913},{"id":1943,"depth":449,"text":2021},"Проблема: Раздел /boot снова заполняется",{"id":1978,"depth":449,"text":1979},"2026-02-16 20:01:19","Пошаговая инструкция по безопасному удалению старых ядер Linux. Освободите место на диске, снизьте риски безопасности. Подходит для Ubuntu, Debian, Fedora и других.","easy",[2027,2030,2033,2036],{"question":2028,"answer":2029},"Как узнать, какое ядро сейчас используется?","Выполните команду `uname -r` в терминале. Она покажет версию активного ядра.",{"question":2031,"answer":2032},"Можно ли удалить все ядра, кроме текущего?","Да, но рекомендуется оставить хотя бы одно предыдущее ядро на случай проблем с текущей версией.",{"question":2034,"answer":2035},"Что делать, если после удаления ядра система не загружается?","В меню GRUB выберите предыдущее ядро, загрузитесь с ним и переустановите нужное ядро.",{"question":2037,"answer":2038},"Почему команда `apt autoremove` не удаляет старые ядра?","Иногда ядра помечены как 'вручную установленные'. В таком случае удаляйте их через dpkg/apt purge.",[2040,2043,2046,2049,2052],{"name":2041,"text":2042},"Проверьте установленные ядра","Просмотрите список всех установленных ядер, чтобы понять, какие можно удалить.",{"name":2044,"text":2045},"Определите текущее ядро","Узнайте версию активного ядра, чтобы случайно его не удалить.",{"name":2047,"text":2048},"Удалите старые ядра","Удалите ненужные версии ядра с помощью apt autoremove или ручного purge.",{"name":2050,"text":2051},"Обновите конфигурацию загрузчика","Обновите GRUB, чтобы меню загрузки не содержало удалённых записей.",{"name":2053,"text":2054},"Перезагрузите систему","Перезагрузите компьютер, чтобы убедиться в корректной работе.",[2056,2057,2058,2059,2060,2061,2062,2063,2064],"удалить старые ядра linux","очистить старые ядра ubuntu","как удалить ядро linux","освободить место на boot","apt autoremove старые ядра","безопасное удаление ядер","старые версии ядра debian","удаление ядер через dpkg","обновление загрузчика grub",{},[2067,2068,2069],"/guides/linux/update-grub","/guides/linux/check-kernel-version","/errors/linux/boot-failure",{"title":1177,"description":2024},"guides/linux/remove-old-kernels","В этом гайде вы узнаете, как безопасно удалить старые версии ядра Linux, чтобы освободить место на системном разделе и уменьшить риски обновления. Инструкция для Debian/Ubuntu и других дистрибутивов.",[909,2074,2075,2076,2077,2078,614],"ядро","администрирование","ubuntu","debian","grub","IPlxZr6oSYaZwWZd7zAxnQ6-z-nXeffO_nYhGDJJKTY",{"id":2081,"title":2082,"appliesTo":2083,"author":11,"body":2087,"canonical":855,"code":855,"createdAt":3019,"description":3020,"difficulty":858,"draft":859,"estimatedTime":3021,"extension":861,"faq":3022,"howToSteps":3035,"howToTotalTime":3051,"image":855,"keywords":3052,"locale":906,"meta":3063,"navigation":452,"path":913,"platform":909,"related":3064,"section":914,"seo":3068,"severity":3069,"stem":3070,"summary":3071,"tags":3072,"twitterCreator":855,"twitterSite":855,"type":925,"updatedAt":3019,"__hash__":3076},"content_ru/guides/linux/log-rotation.md","Настройка ротации логов в Linux: пошаговое руководство",[2084,2085,2086,10],"Ubuntu 22.04+","Debian 11+","CentOS 7+/RHEL 8+",{"type":13,"value":2088,"toc":3005},[2089,2091,2105,2107,2109,2151,2153,2157,2168,2267,2272,2322,2329,2333,2347,2515,2536,2540,2543,2649,2653,2678,2689,2693,2696,2752,2754,2757,2800,2802,2936,2938,2942,2996,3002],[16,2090,19],{"id":18},[21,2092,2093,2094,2097,2098,2101,2102,2104],{},"Логирование — краеугольный камень диагностики в Linux. Однако без контроля файлы логов могут бесконечно расти, заполняя раздел ",[25,2095,2096],{},"/var"," и приводя к сбоям служб. ",[51,2099,2100],{},"Ротация логов"," — это автоматизированный процесс архивации, сжатия и удаления устаревших записей. Использование стандартной утилиты ",[25,2103,517],{}," решает проблему с минимальными усилиями, экономя место и сохраняя историю событий в управляемом виде. После выполнения этого гайда вы получите работающую систему ротации как для системных логов, так и для логов ваших приложений.",[16,2106,39],{"id":38},[21,2108,42],{},[747,2110,2111,2117,2126,2144],{},[47,2112,2113,2114,190],{},"У вас есть доступ к учетной записи с ",[51,2115,2116],{},"правами sudo",[47,2118,2119,2120,81,2122,2125],{},"Дистрибутив основан на ",[51,2121,1251],{},[51,2123,2124],{},"RHEL/CentOS/Fedora"," (конфигурация универсальна, но пути могут незначительно отличаться).",[47,2127,2128,2129,2131,2132],{},"Установлена утилита ",[25,2130,517],{}," (обычно есть по умолчанию). Проверить можно командой:\n",[121,2133,2135],{"className":123,"code":2134,"language":125,"meta":126,"style":126},"logrotate --version\n",[25,2136,2137],{"__ignoreMap":126},[130,2138,2139,2141],{"class":132,"line":133},[130,2140,517],{"class":136},[130,2142,2143],{"class":139}," --version\n",[47,2145,2146,2147,2150],{},"Вы знаете пути к лог-файлам, которые необходимо ротировать (например, ",[25,2148,2149],{},"/var/log/nginx/access.log",").",[16,2152,108],{"id":107},[110,2154,2156],{"id":2155},"шаг-1-изучение-стандартной-конфигурации","Шаг 1: Изучение стандартной конфигурации",[21,2158,2159,2160,2163,2164,2167],{},"Главный конфигурационный файл — ",[25,2161,2162],{},"/etc/logrotate.conf",". Откройте его в редакторе (",[25,2165,2166],{},"sudo nano /etc/logrotate.conf","). Типичное содержимое выглядит так:",[121,2169,2173],{"className":2170,"code":2171,"language":2172,"meta":126,"style":126},"language-ini shiki shiki-themes github-light github-dark","# see \"man logrotate\" for details\n# rotate log files weekly\nweekly\n\n# keep 4 weeks worth of backlogs\nrotate 4\n\n# create new (empty) log files after rotating old ones\ncreate\n\n# use date as a suffix of the rotated file\n#dateext\n\n# uncomment this if you want your log files compressed\ncompress\n\n# RPM packages drop log rotation information into this directory\ninclude /etc/logrotate.d\n","ini",[25,2174,2175,2180,2185,2190,2194,2199,2204,2208,2213,2218,2222,2227,2233,2238,2244,2250,2255,2261],{"__ignoreMap":126},[130,2176,2177],{"class":132,"line":133},[130,2178,2179],{},"# see \"man logrotate\" for details\n",[130,2181,2182],{"class":132,"line":417},[130,2183,2184],{},"# rotate log files weekly\n",[130,2186,2187],{"class":132,"line":449},[130,2188,2189],{},"weekly\n",[130,2191,2192],{"class":132,"line":456},[130,2193,453],{"emptyLinePlaceholder":452},[130,2195,2196],{"class":132,"line":462},[130,2197,2198],{},"# keep 4 weeks worth of backlogs\n",[130,2200,2201],{"class":132,"line":679},[130,2202,2203],{},"rotate 4\n",[130,2205,2206],{"class":132,"line":1535},[130,2207,453],{"emptyLinePlaceholder":452},[130,2209,2210],{"class":132,"line":1553},[130,2211,2212],{},"# create new (empty) log files after rotating old ones\n",[130,2214,2215],{"class":132,"line":1587},[130,2216,2217],{},"create\n",[130,2219,2220],{"class":132,"line":1616},[130,2221,453],{"emptyLinePlaceholder":452},[130,2223,2224],{"class":132,"line":1622},[130,2225,2226],{},"# use date as a suffix of the rotated file\n",[130,2228,2230],{"class":132,"line":2229},12,[130,2231,2232],{},"#dateext\n",[130,2234,2236],{"class":132,"line":2235},13,[130,2237,453],{"emptyLinePlaceholder":452},[130,2239,2241],{"class":132,"line":2240},14,[130,2242,2243],{},"# uncomment this if you want your log files compressed\n",[130,2245,2247],{"class":132,"line":2246},15,[130,2248,2249],{},"compress\n",[130,2251,2253],{"class":132,"line":2252},16,[130,2254,453],{"emptyLinePlaceholder":452},[130,2256,2258],{"class":132,"line":2257},17,[130,2259,2260],{},"# RPM packages drop log rotation information into this directory\n",[130,2262,2264],{"class":132,"line":2263},18,[130,2265,2266],{},"include /etc/logrotate.d\n",[21,2268,2269],{},[51,2270,2271],{},"Ключевые параметры:",[44,2273,2274,2291,2297,2310,2316],{},[47,2275,2276,2279,2280,28,2283,28,2285,28,2288,2150],{},[25,2277,2278],{},"weekly"," — частота ротации (",[25,2281,2282],{},"daily",[25,2284,2278],{},[25,2286,2287],{},"monthly",[25,2289,2290],{},"yearly",[47,2292,2293,2296],{},[25,2294,2295],{},"rotate 4"," — хранить 4 архивированных файла, более старые будут удалены.",[47,2298,2299,2302,2303,2306,2307,2150],{},[25,2300,2301],{},"compress"," — сжимать ротированные логи с помощью ",[25,2304,2305],{},"gzip"," (файлы получат расширение ",[25,2308,2309],{},".gz",[47,2311,2312,2315],{},[25,2313,2314],{},"create"," — создавать новый пустой лог-файл после ротации.",[47,2317,2318,2321],{},[25,2319,2320],{},"include /etc/logrotate.d"," — подключать дополнительные конфигурации из этой директории.",[21,2323,2324,2325,2328],{},"Это ",[51,2326,2327],{},"глобальные настройки по умолчанию",". Для конкретных логов они могут переопределяться.",[110,2330,2332],{"id":2331},"шаг-2-создание-конфигурации-для-вашего-приложения","Шаг 2: Создание конфигурации для вашего приложения",[21,2334,2335,2336,2339,2340,2343,2344,190],{},"Лучшая практика — создавать отдельные конфиги в ",[25,2337,2338],{},"/etc/logrotate.d/",". Например, для веб-сервера Nginx, который пишет логи в ",[25,2341,2342],{},"/var/log/nginx/",", или для кастомного приложения ",[25,2345,2346],{},"myapp",[747,2348,2349,2367],{},[47,2350,2351,2352],{},"Создайте файл конфигурации:\n",[121,2353,2355],{"className":123,"code":2354,"language":125,"meta":126,"style":126},"sudo nano /etc/logrotate.d/myapp\n",[25,2356,2357],{"__ignoreMap":126},[130,2358,2359,2361,2364],{"class":132,"line":133},[130,2360,53],{"class":136},[130,2362,2363],{"class":202}," nano",[130,2365,2366],{"class":202}," /etc/logrotate.d/myapp\n",[47,2368,2369,2370,2373,2374,2444,2447],{},"Добавьте правило. Ниже пример для логов приложения в ",[25,2371,2372],{},"/var/log/myapp/",":\n",[121,2375,2377],{"className":2170,"code":2376,"language":2172,"meta":126,"style":126},"/var/log/myapp/*.log {\n    daily\n    missingok\n    rotate 14\n    compress\n    delaycompress\n    notifempty\n    create 644 myappuser myappgroup\n    sharedscripts\n    postrotate\n        systemctl reload myapp.service > /dev/null 2>&1 || true\n    endscript\n}\n",[25,2378,2379,2384,2389,2394,2399,2404,2409,2414,2419,2424,2429,2434,2439],{"__ignoreMap":126},[130,2380,2381],{"class":132,"line":133},[130,2382,2383],{},"/var/log/myapp/*.log {\n",[130,2385,2386],{"class":132,"line":417},[130,2387,2388],{},"    daily\n",[130,2390,2391],{"class":132,"line":449},[130,2392,2393],{},"    missingok\n",[130,2395,2396],{"class":132,"line":456},[130,2397,2398],{},"    rotate 14\n",[130,2400,2401],{"class":132,"line":462},[130,2402,2403],{},"    compress\n",[130,2405,2406],{"class":132,"line":679},[130,2407,2408],{},"    delaycompress\n",[130,2410,2411],{"class":132,"line":1535},[130,2412,2413],{},"    notifempty\n",[130,2415,2416],{"class":132,"line":1553},[130,2417,2418],{},"    create 644 myappuser myappgroup\n",[130,2420,2421],{"class":132,"line":1587},[130,2422,2423],{},"    sharedscripts\n",[130,2425,2426],{"class":132,"line":1616},[130,2427,2428],{},"    postrotate\n",[130,2430,2431],{"class":132,"line":1622},[130,2432,2433],{},"        systemctl reload myapp.service > /dev/null 2>&1 || true\n",[130,2435,2436],{"class":132,"line":2229},[130,2437,2438],{},"    endscript\n",[130,2440,2441],{"class":132,"line":2235},[130,2442,2443],{},"}\n",[51,2445,2446],{},"Разбор блока:",[44,2448,2449,2455,2460,2466,2472,2478,2484,2490,2503],{},[47,2450,2451,2454],{},[25,2452,2453],{},"/var/log/myapp/*.log"," — путь к файлам, которые нужно ротировать (поддерживаются glob-шаблоны).",[47,2456,2457,2459],{},[25,2458,2282],{}," — ротировать каждый день.",[47,2461,2462,2465],{},[25,2463,2464],{},"missingok"," — не выдавать ошибку, если файл лога отсутствует.",[47,2467,2468,2471],{},[25,2469,2470],{},"rotate 14"," — хранить 14 архивов (примерно две недели).",[47,2473,2474,2477],{},[25,2475,2476],{},"delaycompress"," — сжимать не сразу, а при следующей ротации (чтобы процессы, держащие файл, могли его закрыть).",[47,2479,2480,2483],{},[25,2481,2482],{},"notifempty"," — не ротировать пустые файлы.",[47,2485,2486,2489],{},[25,2487,2488],{},"create 644 myappuser myappgroup"," — после ротации создать новый файл с указанными правами и владельцем.",[47,2491,2492,2495,2496,179,2499,2502],{},[25,2493,2494],{},"sharedscripts"," — выполнять скрипты ",[25,2497,2498],{},"postrotate",[25,2500,2501],{},"prerotate"," только один раз, а не для каждого файла.",[47,2504,2505,2508,2509,2511,2512],{},[25,2506,2507],{},"postrotate ... endscript"," — команда, выполняемая после ротации. Здесь мы мягко перезагружаем службу ",[25,2510,2346],{},", чтобы она начала писать в новый файл. ",[51,2513,2514],{},"Это критично для многих демонов!",[2516,2517,2518],"blockquote",{},[21,2519,2520,2521,2524,2525,2528,2529,2531,2532,2535],{},"💡 ",[51,2522,2523],{},"Совет:"," Для логов, которые активно пишутся (например, ",[25,2526,2527],{},"access.log","), всегда используйте ",[25,2530,2498],{}," с перезагрузкой/сигналом службы (",[25,2533,2534],{},"kill -USR1 $(cat /var/run/nginx.pid)","). Для статических файлов скрипты не нужны.",[110,2537,2539],{"id":2538},"шаг-3-проверка-синтаксиса-и-тестовый-запуск","Шаг 3: Проверка синтаксиса и тестовый запуск",[21,2541,2542],{},"Не ждите следующего ежедневного cron-запуска. Проверьте конфигурацию:",[747,2544,2545,2582,2613],{},[47,2546,2547,2550,2568,1389,2570,2573,2574,2577,2578,2581],{},[51,2548,2549],{},"Тестовый прогон (dry-run):",[121,2551,2553],{"className":123,"code":2552,"language":125,"meta":126,"style":126},"sudo logrotate -d /etc/logrotate.conf\n",[25,2554,2555],{"__ignoreMap":126},[130,2556,2557,2559,2562,2565],{"class":132,"line":133},[130,2558,53],{"class":136},[130,2560,2561],{"class":202}," logrotate",[130,2563,2564],{"class":139}," -d",[130,2566,2567],{"class":202}," /etc/logrotate.conf\n",[1730,2569],{},[25,2571,2572],{},"-d"," включает режим отладки. Вы увидите, какие файлы будут ротированы и какие действия планируются, но ",[51,2575,2576],{},"никакие изменения не будут применены",". Ищите в выводе строки ",[25,2579,2580],{},"running postrotate script"," и пути к вашим логам.",[47,2583,2584,2587,2588,2604,1389,2606,2609,2610,2612],{},[51,2585,2586],{},"Принудительный запуск:","\nЕсли тестовый прогон прошел успешно, выполните реальную ротацию:",[121,2589,2591],{"className":123,"code":2590,"language":125,"meta":126,"style":126},"sudo logrotate -f /etc/logrotate.conf\n",[25,2592,2593],{"__ignoreMap":126},[130,2594,2595,2597,2599,2602],{"class":132,"line":133},[130,2596,53],{"class":136},[130,2598,2561],{"class":202},[130,2600,2601],{"class":139}," -f",[130,2603,2567],{"class":202},[1730,2605],{},[25,2607,2608],{},"-f"," (force) заставляет ",[25,2611,517],{}," выполнить ротацию независимо от времени, прошедшего с последнего запуска.",[47,2614,2615,2618],{},[51,2616,2617],{},"Проверка результата:",[44,2619,2620,2634,2643],{},[47,2621,2622,2623,2625,2626,2629,2630,2633],{},"В директории логов (",[25,2624,2372],{},") должны появиться сжатые архивы вида ",[25,2627,2628],{},"myapp.log.1.gz"," (последняя ротация) и ",[25,2631,2632],{},"myapp.log.2.gz"," и т.д.",[47,2635,2636,2637,2640,2641,2150],{},"Текущий активный лог (",[25,2638,2639],{},"myapp.log",") должен быть вновь создан (если использовали ",[25,2642,2314],{},[47,2644,2645,2646,190],{},"Проверьте время модификации файлов: ",[25,2647,2648],{},"ls -laht /var/log/myapp/",[110,2650,2652],{"id":2651},"шаг-4-расписание-cron","Шаг 4: Расписание (cron)",[21,2654,2655,2656,2658,2659,2662,2663,2666,2667,28,2670,2673,2674,2677],{},"По умолчанию ",[25,2657,517],{}," запускается из системного cron ",[51,2660,2661],{},"ежедневно"," через скрипт в ",[25,2664,2665],{},"/etc/cron.daily/logrotate",". Изменить частоту можно, создав символическую ссылку в ",[25,2668,2669],{},"/etc/cron.hourly/",[25,2671,2672],{},"/etc/cron.weekly/"," или добавив свою задачу в ",[25,2675,2676],{},"/etc/crontab",". Однако обычно ежедневного запуска достаточно.",[2516,2679,2680],{},[21,2681,2682,2683,2685,2686,2688],{},"⚠️ ",[51,2684,706],{}," Не запускайте ",[25,2687,517],{}," слишком часто (например, каждый час) для логов с низкой интенсивностью. Это может привести к ротации пустых файлов и накоплению множества мелких архивов.",[110,2690,2692],{"id":2691},"шаг-5-мониторинг-и-отладка","Шаг 5: Мониторинг и отладка",[21,2694,2695],{},"Если ротация не работает:",[747,2697,2698,2711,2718,2732],{},[47,2699,2700,2701,2704,2705,2707,2708,2710],{},"Проверьте ",[51,2702,2703],{},"права доступа"," к лог-файлам и директории ",[25,2706,2338],{},". Пользователь ",[25,2709,930],{}," должен иметь доступ.",[47,2712,2713,2714,2717],{},"Убедитесь, что в конфиге нет ",[51,2715,2716],{},"синтаксических ошибок"," (фигурные скобки должны быть сбалансированы).",[47,2719,2720,2721,2724,2725,2728,2729,2731],{},"Проверьте, ",[51,2722,2723],{},"не блокирует ли файл"," какая-либо программа. Иногда помогает параметр ",[25,2726,2727],{},"copytruncate"," (копирует файл и обнуляет оригинал, но может привести к потере записей во время копирования). Используйте его только если ",[25,2730,2498],{}," недоступен.",[47,2733,2734,2735,2740,2741,77,2743,81,2746,2749,2750,190],{},"Посмотрите ",[51,2736,2737,2738],{},"логи самого ",[25,2739,517],{},". Они обычно пишутся в ",[25,2742,392],{},[25,2744,2745],{},"/var/log/syslog",[25,2747,2748],{},"/var/log/messages","). Ищите записи с тегом ",[25,2751,517],{},[16,2753,715],{"id":714},[21,2755,2756],{},"После выполнения шагов 2-3:",[747,2758,2759,2767,2776,2793],{},[47,2760,2761,2762,190],{},"Убедитесь, что в целевой директории логов появились ",[51,2763,2764,2765],{},"архивированные файлы с расширением ",[25,2766,2309],{},[47,2768,2769,2772,2773,2775],{},[51,2770,2771],{},"Размер"," текущего лог-файла (",[25,2774,2639],{},") должен быть близок к нулю (если приложение продолжает писать) или равен размеру записей, появившихся с момента последней ротации.",[47,2777,2778,2779,28,2782,2785,2786,2789,2790,190],{},"Количество ротированных файлов (",[25,2780,2781],{},".log.1.gz",[25,2783,2784],{},".log.2.gz","...) ",[51,2787,2788],{},"не превышает"," значение ",[25,2791,2792],{},"rotate N",[47,2794,2795,2796,2799],{},"Приложение продолжает корректно писать в ",[51,2797,2798],{},"новый"," лог-файл (проверьте, добавляются ли новые записи).",[16,2801,745],{"id":744},[44,2803,2804,2825,2859,2889,2915],{},[47,2805,2806,2809],{},[51,2807,2808],{},"Ошибка \"error: error opening /var/log/myapp/*.log: No such file or directory\"",[44,2810,2811,2817],{},[47,2812,2813,2816],{},[51,2814,2815],{},"Причина:"," Файл лога не существует на момент ротации.",[47,2818,2819,2821,2822,2824],{},[51,2820,1819],{}," Добавьте параметр ",[25,2823,2464],{}," в конфигурационный блок. Это безопасно, если лог может создаваться приложением динамически.",[47,2826,2827,2830],{},[51,2828,2829],{},"Логи продолжают бесконечно расти, ротация не происходит",[44,2831,2832,2839],{},[47,2833,2834,1638,2836,2838],{},[51,2835,2815],{},[25,2837,517],{}," не запускается по cron, или конфигурационный файл имеет неправильные права/имя.",[47,2840,2841,2843,2844,2846,2847,2850,2851,2854,2855,2858],{},[51,2842,1819],{}," Проверьте, что файл в ",[25,2845,2338],{}," имеет расширение ",[25,2848,2849],{},".conf"," (не ",[25,2852,2853],{},".txt","). Запустите ",[25,2856,2857],{},"sudo logrotate -f /etc/logrotate.conf"," вручную и проверьте вывод.",[47,2860,2861,2864],{},[51,2862,2863],{},"Приложение перестает писать в лог после ротации",[44,2865,2866,2871],{},[47,2867,2868,2870],{},[51,2869,2815],{}," Дескриптор файла у процесса приложения остался открытым на старом (удаленном) файле.",[47,2872,2873,2875,2876,2878,2879,28,2882,2885,2886,2888],{},[51,2874,1819],{}," Обязательно используйте блок ",[25,2877,2498],{}," с командой, заставляющей приложение переоткрыть файл лога (например, ",[25,2880,2881],{},"systemctl reload",[25,2883,2884],{},"kill -USR1"," или аналогичная команда для вашего ПО). Избегайте ",[25,2887,2727],{}," для важных логов.",[47,2890,2891,2894],{},[51,2892,2893],{},"Нет места на диске после ротации (из-за сжатия)",[44,2895,2896,2904],{},[47,2897,2898,2900,2901,2903],{},[51,2899,2815],{}," Процесс сжатия (",[25,2902,2305],{},") создает временную копию файла, требуя свободного места, равного размеру исходного лога.",[47,2905,2906,2908,2909,2911,2912,2914],{},[51,2907,1819],{}," Убедитесь, что на разделе ",[25,2910,2096],{}," достаточно свободного места (хотя бы размер самого самого большого лога). В крайнем случае временно отключите ",[25,2913,2301],{}," в конфиге.",[47,2916,2917,2920],{},[51,2918,2919],{},"Ротируются не те файлы",[44,2921,2922,2927],{},[47,2923,2924,2926],{},[51,2925,2815],{}," Неверный glob-шаблон в пути.",[47,2928,2929,2931,2932,2935],{},[51,2930,1819],{}," Проверьте шаблон командой ",[25,2933,2934],{},"ls /var/log/myapp/*.log",". Убедитесь, что он соответствует нужным файлам и не захватывает лишние.",[372,2937],{},[16,2939,2941],{"id":2940},"продвинутые-настройки-опционально","Продвинутые настройки (опционально)",[44,2943,2944,2955,2969,2977,2985],{},[47,2945,2946,2951,2952,2954],{},[51,2947,2948],{},[25,2949,2950],{},"size 100M"," — ротировать не по времени, а когда файл достигнет указанного размера. Можно комбинировать с ",[25,2953,2282],{}," (ротация будет, если файл большой ИЛИ наступил день).",[47,2956,2957,2962,2963,2965,2966,2150],{},[51,2958,2959],{},[25,2960,2961],{},"maxsize 500M"," — ротировать, если файл больше этого размера, даже если не наступил период (например, ",[25,2964,2282],{}," + ",[25,2967,2968],{},"maxsize",[47,2970,2971,2976],{},[51,2972,2973],{},[25,2974,2975],{},"olddir /var/log/myapp/archived"," — перемещать ротированные файлы в указанную поддиректорию (должна существовать).",[47,2978,2979,2984],{},[51,2980,2981],{},[25,2982,2983],{},"mail root"," — отправлять ротированные логи по почте (требует настроенный MTA).",[47,2986,2987,2992,2993,2995],{},[51,2988,2989],{},[25,2990,2991],{},"su root myappuser"," — выполнять ротацию от имени другого пользователя (полезно, если ",[25,2994,517],{}," запускается от root, а логи принадлежат другому юзеру).",[21,2997,2998,2999,2150],{},"Эти параметры добавляются в блок конфигурации (например, ",[25,3000,3001],{},"/etc/logrotate.d/myapp",[838,3003,3004],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":126,"searchDepth":417,"depth":417,"links":3006},[3007,3008,3009,3016,3017,3018],{"id":18,"depth":417,"text":19},{"id":38,"depth":417,"text":39},{"id":107,"depth":417,"text":108,"children":3010},[3011,3012,3013,3014,3015],{"id":2155,"depth":449,"text":2156},{"id":2331,"depth":449,"text":2332},{"id":2538,"depth":449,"text":2539},{"id":2651,"depth":449,"text":2652},{"id":2691,"depth":449,"text":2692},{"id":714,"depth":417,"text":715},{"id":744,"depth":417,"text":745},{"id":2940,"depth":417,"text":2941},"2026-02-15 16:19:42","Узнайте, как настроить автоматическую ротацию логов через logrotate. Пошаговая инструкция с примерами конфигурации для Ubuntu/CentOS. Экономьте место и следите за логами!","15-25 мин",[3023,3026,3029,3032],{"question":3024,"answer":3025},"Что такое ротация логов и зачем она нужна?","Ротация логов — это процесс архивации, сжатия и удаления старых файлов логов. Она нужна, чтобы предотвратить заполнение диска, упростить анализ и соответствовать политикам хранения.",{"question":3027,"answer":3028},"Можно ли настроить ротацию для своего приложения?","Да. Создайте файл конфигурации в `/etc/logrotate.d/` или добавьте правило в основной `/etc/logrotate.conf`. Укажите путь к логам вашего приложения и параметры ротации.",{"question":3030,"answer":3031},"Включена ли ротация по умолчанию в Linux?","Да, в большинстве дистрибутивов утилита `logrotate` установлена и базовые конфигурации для системных логов (`/var/log/syslog`, `/var/log/auth.log` и др.) уже существуют.",{"question":3033,"answer":3034},"Как проверить, что logrotate работает корректно?","Запустите `sudo logrotate -d /etc/logrotate.conf` для тестового прогона (dry-run). Также проверьте даты модификации файлов в `/var/log/` и наличие сжатых архивов `.gz`.",[3036,3039,3042,3045,3048],{"name":3037,"text":3038},"Проверка наличия и версии logrotate","Убедитесь, что утилита установлена. Выполните `logrotate --version`. В современных дистрибутивах она есть по умолчанию.",{"name":3040,"text":3041},"Изучение базовой конфигурации","Откройте основной конфиг `/etc/logrotate.conf`. Обратите внимание на глобальные параметры (`weekly`, `rotate 4`, `compress`).",{"name":3043,"text":3044},"Создание конфигурации для кастомного лога","Создайте файл `/etc/logrotate.d/myapp` с правилом для логов вашего приложения, например `/var/log/myapp/*.log`. Настройте частоту (`daily`), количество копий (`rotate 7`) и сжатие (`compress`).",{"name":3046,"text":3047},"Принудительный тестовый прогон","Выполните `sudo logrotate -f /etc/logrotate.conf` для немедленного запуска ротации, даже если по расписанию она не должна была сработать.",{"name":3049,"text":3050},"Настройка cron (если нужно изменить расписание)","По умолчанию logrotate вызывается из `/etc/cron.daily/logrotate`. Чтобы изменить частоту, отредактируйте cron-задачу или настройте `prerotate`/`postrotate` скрипты.","PT20M",[3053,3054,3055,3056,3057,3058,3059,3060,3061,3062],"ротация логов linux","logrotate конфигурация","как настроить ротацию логов","удаление старых логов ubuntu","logrotate примеры","автоматическая ротация логов centos","logrotate compression","ротация syslog","ошибка диск переполнен логи","logrotate tutorial",{},[3065,3066,3067],"/guides/linux/disk-cleanup","/guides/linux/cron-jobs","/errors/linux/disk-full",{"title":2082,"description":3020},"low","guides/linux/log-rotation","Это руководство поможет вам настроить автоматическую ротацию логов в Linux с помощью утилиты logrotate. Вы научитесь создавать конфигурационные файлы, настраивать частоту ротации, сжатие и хранение, что предотвратит заполнение диска старыми логами.",[3073,517,125,392,3074,3075],"администрирование linux","дисковое пространство","автоматизация","wqLrNEtvkWGafnOc-mQlMzycKhuFzE437cVwEljpWjk"]