[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/apt-advanced":3,"mdc-4i8dg2-key":1148,"mdc--xlbl5t-key":1175,"mdc-k2urdt-key":1183,"mdc--4icyp7-key":1205,"mdc-p14j3h-key":1233,"mdc--ox89rv-key":1241,"mdc--cr0iju-key":1249,"mdc-h8gfx3-key":1257,"mdc--p1283k-key":1265,"related-/guides/linux/apt-basics,/errors/linux/apt-lock-error,/guides/linux/dpkg-advanced":1273},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":1077,"code":128,"createdAt":1078,"description":1079,"difficulty":1080,"draft":1081,"estimatedTime":1082,"extension":1083,"faq":1084,"howToSteps":1097,"howToTotalTime":1113,"image":1077,"keywords":1114,"locale":1125,"meta":1126,"navigation":1127,"path":1128,"platform":1129,"related":1130,"section":1134,"seo":1135,"severity":128,"stem":1136,"summary":1137,"tags":1138,"twitterCreator":1077,"twitterSite":1077,"type":1146,"updatedAt":1078,"__hash__":1147},"content_ru/guides/linux/apt-advanced.md","Управление пакетами APT: продвинутые техники и тонкая настройка",[7,8,9],"Debian 11/12","Ubuntu 20.04/22.04/24.04","Linux Mint 21/22","FixPedia Team",{"type":12,"value":13,"toc":1065},"minimark",[14,19,36,44,72,75,79,82,108,112,117,122,161,168,184,189,211,216,229,232,246,250,264,383,395,399,413,587,591,594,672,676,682,880,884,945,949,1000,1003,1007,1061],[15,16,18],"h2",{"id":17},"введение-зачем-это-нужно","Введение / Зачем это нужно",[20,21,22,23,27,28,31,32,35],"p",{},"Базовые команды ",[24,25,26],"code",{},"apt install",", ",[24,29,30],{},"apt update"," и ",[24,33,34],{},"apt upgrade"," знает почти каждый пользователь Debian/Ubuntu. Однако для администрирования серверов, поддержания стабильности рабочих станций или тонкой настройки окружения этих возможностей часто недостаточно.",[20,37,38,39,43],{},"Этот гайд посвящён ",[40,41,42],"strong",{},"продвинутому управлению пакетами APT",". Вы узнаете, как:",[45,46,47,54,60,66],"ul",{},[48,49,50,53],"li",{},[40,51,52],{},"Контролировать обновления"," отдельных пакетов, не затрагивая систему в целом.",[48,55,56,59],{},[40,57,58],{},"Настраивать приоритеты репозиториев",", чтобы устанавливать конкретные версии ПО.",[48,61,62,65],{},[40,63,64],{},"Глубоко анализировать"," зависимости и доступные версии пакетов.",[48,67,68,71],{},[40,69,70],{},"Безопасно чистить"," систему от ненужных файлов и освобождать место.",[20,73,74],{},"После прохождения вы получите полный контроль над жизненным циклом пакетов в вашей системе.",[15,76,78],{"id":77},"требования-подготовка","Требования / Подготовка",[20,80,81],{},"Перед началом убедитесь, что:",[83,84,85,92,99,105],"ol",{},[48,86,87,88,91],{},"У вас есть доступ к учетной записи с ",[40,89,90],{},"правами sudo",".",[48,93,94,95,98],{},"Система основана на ",[40,96,97],{},"Debian, Ubuntu или их производных"," (Linux Mint, Pop!_OS).",[48,100,101,102,91],{},"Актуальный список пакетов обновлён: ",[24,103,104],{},"sudo apt update",[48,106,107],{},"Вы знакомы с базовым синтаксисом командной строки и понятием «пакет» в контексте APT.",[15,109,111],{"id":110},"шаг-1-управление-состоянием-пакета-holdunhold","Шаг 1: Управление состоянием пакета (Hold/Unhold)",[20,113,114,115,91],{},"Часто требуется временно «заморозить» критически важный пакет (например, ядро или библиотеку), чтобы он не был обновлён автоматически во время ",[24,116,34],{},[20,118,119],{},[40,120,121],{},"Как установить hold (заблокировать):",[123,124,129],"pre",{"className":125,"code":126,"language":127,"meta":128,"style":128},"language-bash shiki shiki-themes github-light github-dark","sudo apt-mark hold \u003Cpackage_name>\n","bash","",[24,130,131],{"__ignoreMap":128},[132,133,136,140,144,147,151,154,158],"span",{"class":134,"line":135},"line",1,[132,137,139],{"class":138},"sScJk","sudo",[132,141,143],{"class":142},"sZZnC"," apt-mark",[132,145,146],{"class":142}," hold",[132,148,150],{"class":149},"szBVR"," \u003C",[132,152,153],{"class":142},"package_nam",[132,155,157],{"class":156},"sVt8B","e",[132,159,160],{"class":149},">\n",[20,162,163,164,167],{},"Например, чтобы заблокировать пакет ",[24,165,166],{},"nginx",":",[123,169,171],{"className":125,"code":170,"language":127,"meta":128,"style":128},"sudo apt-mark hold nginx\n",[24,172,173],{"__ignoreMap":128},[132,174,175,177,179,181],{"class":134,"line":135},[132,176,139],{"class":138},[132,178,143],{"class":142},[132,180,146],{"class":142},[132,182,183],{"class":142}," nginx\n",[20,185,186],{},[40,187,188],{},"Как снять hold (разблокировать):",[123,190,192],{"className":125,"code":191,"language":127,"meta":128,"style":128},"sudo apt-mark unhold \u003Cpackage_name>\n",[24,193,194],{"__ignoreMap":128},[132,195,196,198,200,203,205,207,209],{"class":134,"line":135},[132,197,139],{"class":138},[132,199,143],{"class":142},[132,201,202],{"class":142}," unhold",[132,204,150],{"class":149},[132,206,153],{"class":142},[132,208,157],{"class":156},[132,210,160],{"class":149},[20,212,213],{},[40,214,215],{},"Как проверить состояние пакетов:",[123,217,219],{"className":125,"code":218,"language":127,"meta":128,"style":128},"apt-mark showhold\n",[24,220,221],{"__ignoreMap":128},[132,222,223,226],{"class":134,"line":135},[132,224,225],{"class":138},"apt-mark",[132,227,228],{"class":142}," showhold\n",[20,230,231],{},"Эта команда выведет список всех пакетов, находящихся в состоянии hold.",[233,234,235],"blockquote",{},[20,236,237,238,241,242,245],{},"⚠️ ",[40,239,240],{},"Важно:"," Hold не защищает пакет от удаления через ",[24,243,244],{},"apt remove",". Это только блокировка операций обновления/установки.",[15,247,249],{"id":248},"шаг-2-тонкая-настройка-приоритетов-pinning","Шаг 2: Тонкая настройка приоритетов (Pinning)",[20,251,252,255,256,259,260,263],{},[40,253,254],{},"Pinning"," — это механизм, позволяющий назначать пакетам из определённых репозиториев более высокий приоритет, чем у других. Это нужно, если вы хотите установить конкретную версию пакета из, например, ",[24,257,258],{},"testing"," или ",[24,261,262],{},"backports"," без переключения всей системы.",[83,265,266,286,344],{},[48,267,268,271],{},[40,269,270],{},"Создайте файл предпочтений:",[123,272,274],{"className":125,"code":273,"language":127,"meta":128,"style":128},"sudo nano /etc/apt/preferences.d/99custom-pin\n",[24,275,276],{"__ignoreMap":128},[132,277,278,280,283],{"class":134,"line":135},[132,279,139],{"class":138},[132,281,282],{"class":142}," nano",[132,284,285],{"class":142}," /etc/apt/preferences.d/99custom-pin\n",[48,287,288,291,292,295,296,299,300,324],{},[40,289,290],{},"Добавьте конфигурацию."," Пример: дать пакету ",[24,293,294],{},"redis"," из репозитория ",[24,297,298],{},"buster-backports"," приоритет 990 (выше, чем у стандартного 500), чтобы всегда бралась версия оттуда.",[123,301,305],{"className":302,"code":303,"language":304,"meta":128,"style":128},"language-ini shiki shiki-themes github-light github-dark","Package: redis\nPin: release a=buster-backports\nPin-Priority: 990\n","ini",[24,306,307,312,318],{"__ignoreMap":128},[132,308,309],{"class":134,"line":135},[132,310,311],{},"Package: redis\n",[132,313,315],{"class":134,"line":314},2,[132,316,317],{},"Pin: release a=buster-backports\n",[132,319,321],{"class":134,"line":320},3,[132,322,323],{},"Pin-Priority: 990\n",[45,325,326,332,338],{},[48,327,328,331],{},[24,329,330],{},"Pin-Priority: 1001"," — принудительная установка этой версии, даже если она старше.",[48,333,334,337],{},[24,335,336],{},"Pin-Priority: 990"," — установка этой версии, если нет более новой в других репозиториях с приоритетом >= 1000.",[48,339,340,343],{},[24,341,342],{},"Pin-Priority: 500"," — стандартный приоритет для установки.",[48,345,346,349,376,379,380,382],{},[40,347,348],{},"Обновите кэш и установите/обновите пакет:",[123,350,352],{"className":125,"code":351,"language":127,"meta":128,"style":128},"sudo apt update\nsudo apt install redis\n",[24,353,354,364],{"__ignoreMap":128},[132,355,356,358,361],{"class":134,"line":135},[132,357,139],{"class":138},[132,359,360],{"class":142}," apt",[132,362,363],{"class":142}," update\n",[132,365,366,368,370,373],{"class":134,"line":314},[132,367,139],{"class":138},[132,369,360],{"class":142},[132,371,372],{"class":142}," install",[132,374,375],{"class":142}," redis\n",[377,378],"br",{},"APT выберет версию из ",[24,381,298],{}," согласно правилу pinning.",[233,384,385],{},[20,386,387,388,391,392,91],{},"💡 ",[40,389,390],{},"Совет:"," Для просмотра доступных версий пакета и их репозиториев используйте ",[24,393,394],{},"apt-cache policy \u003Cpackage_name>",[15,396,398],{"id":397},"шаг-3-работа-с-источниками-пакетов-sourceslist","Шаг 3: Работа с источниками пакетов (sources.list)",[20,400,401,402,405,406,412],{},"Современные системы используют не один файл ",[24,403,404],{},"/etc/apt/sources.list",", а ",[40,407,408,409],{},"каталог ",[24,410,411],{},"/etc/apt/sources.list.d/",", где каждый файл — это отдельный источник (например, от Docker, NodeSource). Это удобно для управления.",[83,414,415,455,545,569],{},[48,416,417,420],{},[40,418,419],{},"Посмотрите текущие источники:",[123,421,423],{"className":125,"code":422,"language":127,"meta":128,"style":128},"ls -la /etc/apt/sources.list*\ncat /etc/apt/sources.list\nls /etc/apt/sources.list.d/\n",[24,424,425,440,448],{"__ignoreMap":128},[132,426,427,430,434,437],{"class":134,"line":135},[132,428,429],{"class":138},"ls",[132,431,433],{"class":432},"sj4cs"," -la",[132,435,436],{"class":142}," /etc/apt/sources.list",[132,438,439],{"class":432},"*\n",[132,441,442,445],{"class":134,"line":314},[132,443,444],{"class":138},"cat",[132,446,447],{"class":142}," /etc/apt/sources.list\n",[132,449,450,452],{"class":134,"line":320},[132,451,429],{"class":138},[132,453,454],{"class":142}," /etc/apt/sources.list.d/\n",[48,456,457,460,536,537,540,541,544],{},[40,458,459],{},"Добавьте новый репозиторий (пример для Docker):",[123,461,463],{"className":125,"code":462,"language":127,"meta":128,"style":128},"curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n",[24,464,465,494],{"__ignoreMap":128},[132,466,467,470,473,476,479,482,485,488,491],{"class":134,"line":135},[132,468,469],{"class":138},"curl",[132,471,472],{"class":432}," -fsSL",[132,474,475],{"class":142}," https://download.docker.com/linux/ubuntu/gpg",[132,477,478],{"class":149}," |",[132,480,481],{"class":138}," sudo",[132,483,484],{"class":142}," gpg",[132,486,487],{"class":432}," --dearmor",[132,489,490],{"class":432}," -o",[132,492,493],{"class":142}," /usr/share/keyrings/docker-archive-keyring.gpg\n",[132,495,496,499,502,505,508,511,514,517,520,522,524,527,530,533],{"class":134,"line":314},[132,497,498],{"class":432},"echo",[132,500,501],{"class":142}," \"deb [arch=$(",[132,503,504],{"class":138},"dpkg",[132,506,507],{"class":432}," --print-architecture",[132,509,510],{"class":142},") signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(",[132,512,513],{"class":138},"lsb_release",[132,515,516],{"class":432}," -cs",[132,518,519],{"class":142},") stable\"",[132,521,478],{"class":149},[132,523,481],{"class":138},[132,525,526],{"class":142}," tee",[132,528,529],{"class":142}," /etc/apt/sources.list.d/docker.list",[132,531,532],{"class":149}," >",[132,534,535],{"class":142}," /dev/null\n","\nОбратите внимание на параметр ",[24,538,539],{},"signed-by"," — это современный способ указания ключа, более безопасный, чем ",[24,542,543],{},"apt-key"," (устарел).",[48,546,547,550,551,553,554],{},[40,548,549],{},"Удалите ненужный источник:"," просто удалите соответствующий файл из ",[24,552,411],{},":\n",[123,555,557],{"className":125,"code":556,"language":127,"meta":128,"style":128},"sudo rm /etc/apt/sources.list.d/старый-репозиторий.list\n",[24,558,559],{"__ignoreMap":128},[132,560,561,563,566],{"class":134,"line":135},[132,562,139],{"class":138},[132,564,565],{"class":142}," rm",[132,567,568],{"class":142}," /etc/apt/sources.list.d/старый-репозиторий.list\n",[48,570,571,574],{},[40,572,573],{},"Не забудьте обновить кэш:",[123,575,577],{"className":125,"code":576,"language":127,"meta":128,"style":128},"sudo apt update\n",[24,578,579],{"__ignoreMap":128},[132,580,581,583,585],{"class":134,"line":135},[132,582,139],{"class":138},[132,584,360],{"class":142},[132,586,363],{"class":142},[15,588,590],{"id":589},"шаг-4-эффективная-очистка-системы","Шаг 4: Эффективная очистка системы",[20,592,593],{},"Со временем система накапливает старые версии пакетов, файлы конфигураций удалённых пакетов и кэш. Это может занимать сотни мегабайт.",[45,595,596,604,620,628],{},[48,597,598,603],{},[40,599,600],{},[24,601,602],{},"sudo apt autoremove"," — удаляет пакеты, которые были установлены как зависимости, но больше не нужны ни одному установленному пакету.",[48,605,606,611,612,615,616,619],{},[40,607,608],{},[24,609,610],{},"sudo apt clean"," — ",[40,613,614],{},"полностью"," очищает локальный кэш (",[24,617,618],{},"/var/cache/apt/archives/","). Файлы пакетов (.deb) будут скачаны заново при следующей установке/обновлении.",[48,621,622,627],{},[40,623,624],{},[24,625,626],{},"sudo apt autoclean"," — более мягкая версия clean. Удаляет только те файлы пакетов из кэша, которые больше не доступны в репозиториях (устаревшие версии).",[48,629,630,633,659,660,663,664,667,668,671],{},[40,631,632],{},"Комбинированная команда для полной очистки (с осторожностью!):",[123,634,636],{"className":125,"code":635,"language":127,"meta":128,"style":128},"sudo apt autoremove --purge\nsudo apt clean\n",[24,637,638,650],{"__ignoreMap":128},[132,639,640,642,644,647],{"class":134,"line":135},[132,641,139],{"class":138},[132,643,360],{"class":142},[132,645,646],{"class":142}," autoremove",[132,648,649],{"class":432}," --purge\n",[132,651,652,654,656],{"class":134,"line":314},[132,653,139],{"class":138},[132,655,360],{"class":142},[132,657,658],{"class":142}," clean\n","\nФлаг ",[24,661,662],{},"--purge"," удаляет также ",[40,665,666],{},"конфигурационные файлы"," пакетов, удаляемых ",[24,669,670],{},"autoremove",". Используйте, если уверены, что конфиги не понадобятся.",[15,673,675],{"id":674},"шаг-5-расширенный-поиск-и-анализ-пакетов","Шаг 5: Расширенный поиск и анализ пакетов",[20,677,678,681],{},[24,679,680],{},"apt-cache"," — мощный инструмент для запросов к локальной базе данных пакетов.",[45,683,684,737,762,796,821,846],{},[48,685,686,689],{},[40,687,688],{},"Поиск пакетов по имени/описанию:",[123,690,692],{"className":125,"code":691,"language":127,"meta":128,"style":128},"apt-cache search \u003Cключевое_слово>\n# Например, поиск инструментов для работы с JSON\napt-cache search json | grep -i tool\n",[24,693,694,711,717],{"__ignoreMap":128},[132,695,696,698,701,703,706,709],{"class":134,"line":135},[132,697,680],{"class":138},[132,699,700],{"class":142}," search",[132,702,150],{"class":149},[132,704,705],{"class":142},"ключевое_слов",[132,707,708],{"class":156},"о",[132,710,160],{"class":149},[132,712,713],{"class":134,"line":314},[132,714,716],{"class":715},"sJ8bj","# Например, поиск инструментов для работы с JSON\n",[132,718,719,721,723,726,728,731,734],{"class":134,"line":320},[132,720,680],{"class":138},[132,722,700],{"class":142},[132,724,725],{"class":142}," json",[132,727,478],{"class":149},[132,729,730],{"class":138}," grep",[132,732,733],{"class":432}," -i",[132,735,736],{"class":142}," tool\n",[48,738,739,742],{},[40,740,741],{},"Показать подробную информацию о пакете:",[123,743,745],{"className":125,"code":744,"language":127,"meta":128,"style":128},"apt-cache show \u003Cpackage_name>\n",[24,746,747],{"__ignoreMap":128},[132,748,749,751,754,756,758,760],{"class":134,"line":135},[132,750,680],{"class":138},[132,752,753],{"class":142}," show",[132,755,150],{"class":149},[132,757,153],{"class":142},[132,759,157],{"class":156},[132,761,160],{"class":149},[48,763,764,771,791,792,795],{},[40,765,766,767,770],{},"Показать ",[40,768,769],{},"все"," доступные версии пакета и их репозитории:",[123,772,774],{"className":125,"code":773,"language":127,"meta":128,"style":128},"apt-cache policy \u003Cpackage_name>\n",[24,775,776],{"__ignoreMap":128},[132,777,778,780,783,785,787,789],{"class":134,"line":135},[132,779,680],{"class":138},[132,781,782],{"class":142}," policy",[132,784,150],{"class":149},[132,786,153],{"class":142},[132,788,157],{"class":156},[132,790,160],{"class":149},"\nЭто ",[40,793,794],{},"главная команда"," для отладки pinning.",[48,797,798,801],{},[40,799,800],{},"Показать зависимости (что требуется для установки):",[123,802,804],{"className":125,"code":803,"language":127,"meta":128,"style":128},"apt-cache depends \u003Cpackage_name>\n",[24,805,806],{"__ignoreMap":128},[132,807,808,810,813,815,817,819],{"class":134,"line":135},[132,809,680],{"class":138},[132,811,812],{"class":142}," depends",[132,814,150],{"class":149},[132,816,153],{"class":142},[132,818,157],{"class":156},[132,820,160],{"class":149},[48,822,823,826],{},[40,824,825],{},"Показать обратные зависимости (что требует этот пакет):",[123,827,829],{"className":125,"code":828,"language":127,"meta":128,"style":128},"apt-cache rdepends \u003Cpackage_name>\n",[24,830,831],{"__ignoreMap":128},[132,832,833,835,838,840,842,844],{"class":134,"line":135},[132,834,680],{"class":138},[132,836,837],{"class":142}," rdepends",[132,839,150],{"class":149},[132,841,153],{"class":142},[132,843,157],{"class":156},[132,845,160],{"class":149},[48,847,848,851,873,874,876,877,91],{},[40,849,850],{},"Найти пакет, предоставляющий конкретный файл (если файл потерялся):",[123,852,854],{"className":125,"code":853,"language":127,"meta":128,"style":128},"apt-file search \u003Cимя_файла>\n",[24,855,856],{"__ignoreMap":128},[132,857,858,861,863,865,868,871],{"class":134,"line":135},[132,859,860],{"class":138},"apt-file",[132,862,700],{"class":142},[132,864,150],{"class":149},[132,866,867],{"class":142},"имя_файл",[132,869,870],{"class":156},"а",[132,872,160],{"class":149},"\nСначала установите ",[24,875,860],{}," и обновите его базу: ",[24,878,879],{},"sudo apt install apt-file && sudo apt-file update",[15,881,883],{"id":882},"проверка-результата","Проверка результата",[83,885,886,896,905,918],{},[48,887,888,891,892,895],{},[40,889,890],{},"Для hold/unhold:"," Выполните ",[24,893,894],{},"apt-mark showhold"," — в списке должен быть (или не быть) ваш пакет.",[48,897,898,901,902,904],{},[40,899,900],{},"Для pinning:"," Запустите ",[24,903,394],{},". В поле «Installed» должна отображаться версия из приоритетного репозитория.",[48,906,907,910,911,914,915,91],{},[40,908,909],{},"Для очистки:"," Проверьте размер кэша: ",[24,912,913],{},"sudo du -sh /var/cache/apt/archives/",". Он должен быть минимальным после ",[24,916,917],{},"apt clean",[48,919,920,923,924,927,928],{},[40,921,922],{},"Общая проверка:"," Попробуйте выполнить ",[24,925,926],{},"sudo apt upgrade"," в режиме симуляции, чтобы увидеть, какие пакеты будут обновлены и с какими версиями:\n",[123,929,931],{"className":125,"code":930,"language":127,"meta":128,"style":128},"sudo apt upgrade --simulate\n",[24,932,933],{"__ignoreMap":128},[132,934,935,937,939,942],{"class":134,"line":135},[132,936,139],{"class":138},[132,938,360],{"class":142},[132,940,941],{"class":142}," upgrade",[132,943,944],{"class":432}," --simulate\n",[15,946,948],{"id":947},"возможные-проблемы","Возможные проблемы",[45,950,951,964,978,991],{},[48,952,953,959,960,963],{},[40,954,955,956],{},"Ошибка ",[24,957,958],{},"Unable to lock directory /var/lib/dpkg/lock"," — другой процесс (возможно, другой экземпляр apt или synaptic) использует менеджер пакетов. Подождите или завершите процесс: ",[24,961,962],{},"sudo killall apt apt-get"," (осторожно!).",[48,965,966,969,970,973,974,977],{},[40,967,968],{},"После настройки pinning пакет не обновляется до нужной версии"," — проверьте ",[24,971,972],{},"apt-cache policy \u003Cpackage>"," и убедитесь, что приоритет (",[24,975,976],{},"Pin-Priority",") установлен правильно (обычно >= 990 для принудительного выбора). Также проверьте, что версия в целевом репозитории действительно новее.",[48,979,980,986,987,990],{},[40,981,982,985],{},[24,983,984],{},"apt autoremove"," предлагает удалить важный пакет"," — перед подтверждением внимательно проверьте список. Если пакет действительно нужен, но apt считает его ненужным, возможно, другой установленный пакет имеет неполные зависимости. Используйте ",[24,988,989],{},"apt-cache rdepends \u003Cважный_пакет>",", чтобы найти, кто на него ссылается.",[48,992,993,996,997,999],{},[40,994,995],{},"Ошибки GPG при добавлении нового репозитория"," — убедитесь, что вы корректно импортировали ключ (используйте ",[24,998,539],{}," в sources.list) и что ключ не устарел.",[1001,1002],"in-article-ad",{},[15,1004,1006],{"id":1005},"дополнительные-ресурсы-и-советы","Дополнительные ресурсы и советы",[45,1008,1009,1021,1036,1049],{},[48,1010,1011,1014,1015,27,1017,1020],{},[40,1012,1013],{},"Всегда делайте резервную копию"," важных конфигурационных файлов (",[24,1016,404],{},[24,1018,1019],{},"/etc/apt/preferences.d/",") перед их редактированием.",[48,1022,1023,1024,1027,1028,1031,1032,1035],{},"Для ",[40,1025,1026],{},"отката"," проблемной установки/обновления используйте ",[24,1029,1030],{},"apt-get install \u003Cpackage_name>=\u003Cверсия>"," (указывая конкретную версию из вывода ",[24,1033,1034],{},"apt-cache policy",").",[48,1037,1038,1039,1042,1043,1046,1047,91],{},"Инструмент ",[24,1040,1041],{},"deborphan"," (установка через ",[24,1044,1045],{},"sudo apt install deborphan",") помогает находить «сирот» — пакеты, не являющиеся зависимостями ни для чего. Полезно в связке с ",[24,1048,984],{},[48,1050,1051,1054,1055,1058,1059,91],{},[40,1052,1053],{},"Никогда не редактируйте"," файлы в ",[24,1056,1057],{},"/var/lib/apt/lists/"," вручную. Это кэшированные метаданные репозиториев, они перезаписываются при ",[24,1060,30],{},[1062,1063,1064],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":128,"searchDepth":314,"depth":314,"links":1066},[1067,1068,1069,1070,1071,1072,1073,1074,1075,1076],{"id":17,"depth":314,"text":18},{"id":77,"depth":314,"text":78},{"id":110,"depth":314,"text":111},{"id":248,"depth":314,"text":249},{"id":397,"depth":314,"text":398},{"id":589,"depth":314,"text":590},{"id":674,"depth":314,"text":675},{"id":882,"depth":314,"text":883},{"id":947,"depth":314,"text":948},{"id":1005,"depth":314,"text":1006},null,"2026-02-17 13:54:58","Освойте продвинутое управление пакетами в Debian/Ubuntu. Научитесь блокировать обновления, настраивать приоритеты репозиториев (pinning) и эффективно очищать систему. Пошаговая инструкция с примерами.","medium",false,"15-30 мин","md",[1085,1088,1091,1094],{"question":1086,"answer":1087},"Как временно запретить обновление конкретного пакета в Ubuntu?","Используйте команду `sudo apt-mark hold \u003Cимя_пакета>`. Чтобы снять запрет, выполните `sudo apt-mark unhold \u003Cимя_пакета>`.",{"question":1089,"answer":1090},"Что такое pinning в APT и зачем он нужен?","Pinning — это механизм принудительного указания версии пакета или репозитория, который имеет наивысший приоритет. Он позволяет, например, ставить пакеты из тестового репозитория, не обновляя всю систему.",{"question":1092,"answer":1093},"Чем отличается `apt autoremove` от `apt purge --auto-remove`?","`autoremove` удаляет пакеты, установленные как зависимости и больше не нужные. `purge --auto-remove` делает то же, но также удаляет конфигурационные файлы этих пакетов.",{"question":1095,"answer":1096},"Как безопасно почистить кэш APT, чтобы освободить место?","`sudo apt clean` удалит все файлы кэша из `/var/cache/apt/archives/`. `sudo apt autoclean` удалит только устаревшие файлы пакетов, которые больше не доступны в репозиториях.",[1098,1101,1104,1107,1110],{"name":1099,"text":1100},"Управление состоянием пакета: Hold/Unhold","Научитесь блокировать пакеты от случайного обновления или удаления с помощью apt-mark. Это ключевой инструмент для стабильности production-систем.",{"name":1102,"text":1103},"Тонкая настройка приоритетов (Pinning)","Создайте и настройте файл preferences для управления версиями пакетов из разных репозиториев (stable, testing, backports).",{"name":1105,"text":1106},"Работа с источниками пакетов (sources.list и fragments)","Поймите структуру файла sources.list и как правильно добавлять/удалять репозитории через файлы в /etc/apt/sources.list.d/.",{"name":1108,"text":1109},"Эффективная очистка системы","Используйте комбинацию autoremove, clean и purge для освобождения дискового пространства без вреда для системы.",{"name":1111,"text":1112},"Расширенный поиск и анализ пакетов","Освойте apt-cache для глубокого поиска, показа зависимостей и версий, а также работу с мета-пакетами.","PT20M",[1115,1116,1117,1118,1119,1120,1121,1122,1123,1124],"apt hold пакет","pinning apt приоритет","настройка sources.list","очистка кэша apt","apt autoremove что удаляет","блокировка обновления пакета ubuntu","advanced package management debian","apt-get purge vs remove","ошибка Unable to lock apt","настройка репозиториев linux","ru_RU",{},true,"/guides/linux/apt-advanced","linux",[1131,1132,1133],"/guides/linux/apt-basics","/errors/linux/apt-lock-error","/guides/linux/dpkg-advanced","Гайды Linux",{"title":5,"description":1079},"guides/linux/apt-advanced","Этот гайд выходит за рамки базовых команд apt install/update. Вы узнаете, как точечно управлять версиями пакетов, настраивать источники и поддерживать систему в чистоте — навыки, необходимые системным администраторам и опытным пользователям.",[1139,1140,1141,1142,1143,1144,1145],"apt","Debian","Ubuntu","пакетный менеджер","системное администрирование","package management","advanced","guide","APts1d7oTWNTuOfxSRg9OnKP69ym71mSCWytreoCYTw",{"data":1149,"body":1150},{},{"type":1151,"children":1152},"root",[1153],{"type":1154,"tag":20,"props":1155,"children":1156},"element",{},[1157,1160,1166,1168,1174],{"type":1158,"value":1159},"text","Используйте команду ",{"type":1154,"tag":24,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":1158,"value":1165},"sudo apt-mark hold \u003Cимя_пакета>",{"type":1158,"value":1167},". Чтобы снять запрет, выполните ",{"type":1154,"tag":24,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":1158,"value":1173},"sudo apt-mark unhold \u003Cимя_пакета>",{"type":1158,"value":91},{"data":1176,"body":1177},{},{"type":1151,"children":1178},[1179],{"type":1154,"tag":20,"props":1180,"children":1181},{},[1182],{"type":1158,"value":1090},{"data":1184,"body":1185},{},{"type":1151,"children":1186},[1187],{"type":1154,"tag":20,"props":1188,"children":1189},{},[1190,1195,1197,1203],{"type":1154,"tag":24,"props":1191,"children":1193},{"className":1192},[],[1194],{"type":1158,"value":670},{"type":1158,"value":1196}," удаляет пакеты, установленные как зависимости и больше не нужные. ",{"type":1154,"tag":24,"props":1198,"children":1200},{"className":1199},[],[1201],{"type":1158,"value":1202},"purge --auto-remove",{"type":1158,"value":1204}," делает то же, но также удаляет конфигурационные файлы этих пакетов.",{"data":1206,"body":1207},{},{"type":1151,"children":1208},[1209],{"type":1154,"tag":20,"props":1210,"children":1211},{},[1212,1217,1219,1224,1226,1231],{"type":1154,"tag":24,"props":1213,"children":1215},{"className":1214},[],[1216],{"type":1158,"value":610},{"type":1158,"value":1218}," удалит все файлы кэша из ",{"type":1154,"tag":24,"props":1220,"children":1222},{"className":1221},[],[1223],{"type":1158,"value":618},{"type":1158,"value":1225},". ",{"type":1154,"tag":24,"props":1227,"children":1229},{"className":1228},[],[1230],{"type":1158,"value":626},{"type":1158,"value":1232}," удалит только устаревшие файлы пакетов, которые больше не доступны в репозиториях.",{"data":1234,"body":1235},{},{"type":1151,"children":1236},[1237],{"type":1154,"tag":20,"props":1238,"children":1239},{},[1240],{"type":1158,"value":1100},{"data":1242,"body":1243},{},{"type":1151,"children":1244},[1245],{"type":1154,"tag":20,"props":1246,"children":1247},{},[1248],{"type":1158,"value":1103},{"data":1250,"body":1251},{},{"type":1151,"children":1252},[1253],{"type":1154,"tag":20,"props":1254,"children":1255},{},[1256],{"type":1158,"value":1106},{"data":1258,"body":1259},{},{"type":1151,"children":1260},[1261],{"type":1154,"tag":20,"props":1262,"children":1263},{},[1264],{"type":1158,"value":1109},{"data":1266,"body":1267},{},{"type":1151,"children":1268},[1269],{"type":1154,"tag":20,"props":1270,"children":1271},{},[1272],{"type":1158,"value":1112},[1274],{"id":1275,"title":1276,"appliesTo":1277,"author":10,"body":1279,"canonical":1077,"code":1077,"createdAt":2323,"description":2324,"difficulty":2325,"draft":1081,"estimatedTime":2326,"extension":1083,"faq":2327,"howToSteps":2340,"howToTotalTime":2356,"image":1077,"keywords":2357,"locale":1125,"meta":2368,"navigation":1127,"path":1131,"platform":1129,"related":2369,"section":1134,"seo":2372,"severity":1077,"stem":2373,"summary":2374,"tags":2375,"twitterCreator":1077,"twitterSite":1077,"type":1146,"updatedAt":2323,"__hash__":2380},"content_ru/guides/linux/apt-basics.md","APT в Linux: освоение базовых команд управления пакетами",[1278,8],"Debian 10/11",{"type":12,"value":1280,"toc":2293},[1281,1283,1289,1291,1293,1326,1330,1337,1344,1356,1369,1374,1381,1391,1397,1400,1428,1440,1458,1461,1478,1484,1521,1530,1558,1562,1576,1579,1592,1601,1626,1633,1650,1653,1669,1674,1688,1691,1698,1704,1723,1728,1742,1745,1751,1777,1784,1787,1806,1810,1823,1832,1842,1861,1870,1874,1966,1968,1970,1973,2074,2076,2080,2103,2131,2135,2144,2181,2185,2194,2207,2211,2223,2237,2241,2248,2265,2268,2272,2290],[15,1282,18],{"id":17},[20,1284,1285,1288],{},[40,1286,1287],{},"APT (Advanced Package Tool)"," — это стандартный менеджер пакетов для дистрибутивов на базе Debian (включая Ubuntu, Linux Mint и другие). Он упрощает установку, обновление и удаление программного обеспечения, автоматически разрешая зависимости между пакетами. В этом руководстве вы освоите базовые команды APT, которые покрывают 90% повседневных задач. После прохождения вы сможете уверенно управлять пакетами через терминал, не полагаясь на графические утилиты.",[15,1290,78],{"id":77},[20,1292,81],{},[83,1294,1295,1298,1308,1311],{},[48,1296,1297],{},"У вас есть доступ к терминалу (Ctrl+Alt+T или через меню приложений).",[48,1299,1300,1301,1304,1305,1307],{},"Вы имеете права ",[40,1302,1303],{},"суперпользователя"," (можете использовать ",[24,1306,139],{},"). Большинство команд APT требуют повышенных привилегий.",[48,1309,1310],{},"Система подключена к интернету для загрузки пакетов и обновления списков репозиториев.",[48,1312,1313,1314],{},"APT уже установлен (по умолчанию в Debian/Ubuntu). Проверить версию:\n",[123,1315,1317],{"className":125,"code":1316,"language":127,"meta":128,"style":128},"apt --version\n",[24,1318,1319],{"__ignoreMap":128},[132,1320,1321,1323],{"class":134,"line":135},[132,1322,1139],{"class":138},[132,1324,1325],{"class":432}," --version\n",[15,1327,1329],{"id":1328},"основные-команды-apt","Основные команды APT",[1331,1332,1334,1335],"h3",{"id":1333},"обновление-списка-пакетов-apt-update","Обновление списка пакетов: ",[24,1336,30],{},[20,1338,1339,1340,1343],{},"Перед установкой или обновлением пакетов ",[40,1341,1342],{},"всегда"," синхронизируйте локальный кэш с репозиториями. Это гарантирует, что вы получите последние версии и информацию о новых пакетах.",[123,1345,1346],{"className":125,"code":576,"language":127,"meta":128,"style":128},[24,1347,1348],{"__ignoreMap":128},[132,1349,1350,1352,1354],{"class":134,"line":135},[132,1351,139],{"class":138},[132,1353,360],{"class":142},[132,1355,363],{"class":142},[20,1357,1358,1361,1363,1364,31,1366,1368],{},[40,1359,1360],{},"Что происходит:",[377,1362],{},"\nAPT загружает списки пакетов из источников, указанных в ",[24,1365,404],{},[24,1367,411],{},". Без этого шага система не будет знать о новых версиях или пакетах.",[20,1370,1371],{},[40,1372,1373],{},"Пример вывода:",[123,1375,1379],{"className":1376,"code":1378,"language":1158},[1377],"language-text","Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease\nHit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease\n...\nReading package lists... Done\n",[24,1380,1378],{"__ignoreMap":128},[233,1382,1383],{},[20,1384,387,1385,1387,1388,1390],{},[40,1386,390],{}," Выполняйте ",[24,1389,30],{}," перед любыми операциями установки/обновления. Для автоматизации добавьте в cron раз в день.",[1331,1392,1394,1395],{"id":1393},"установка-пакетов-apt-install","Установка пакетов: ",[24,1396,26],{},[20,1398,1399],{},"Установка одного или нескольких пакетов:",[123,1401,1403],{"className":125,"code":1402,"language":127,"meta":128,"style":128},"sudo apt install \u003Cимя_пакета1> \u003Cимя_пакета2>\n",[24,1404,1405],{"__ignoreMap":128},[132,1406,1407,1409,1411,1413,1415,1418,1421,1423,1425],{"class":134,"line":135},[132,1408,139],{"class":138},[132,1410,360],{"class":142},[132,1412,372],{"class":142},[132,1414,150],{"class":149},[132,1416,1417],{"class":142},"имя_пакета",[132,1419,1420],{"class":149},"1>",[132,1422,150],{"class":149},[132,1424,1417],{"class":142},[132,1426,1427],{"class":149},"2>\n",[20,1429,1430,1433,1434,1437,1438,167],{},[40,1431,1432],{},"Пример:"," установка текстового редактора ",[24,1435,1436],{},"nano"," и утилиты ",[24,1439,469],{},[123,1441,1443],{"className":125,"code":1442,"language":127,"meta":128,"style":128},"sudo apt install nano curl\n",[24,1444,1445],{"__ignoreMap":128},[132,1446,1447,1449,1451,1453,1455],{"class":134,"line":135},[132,1448,139],{"class":138},[132,1450,360],{"class":142},[132,1452,372],{"class":142},[132,1454,282],{"class":142},[132,1456,1457],{"class":142}," curl\n",[20,1459,1460],{},"APT автоматически:",[45,1462,1463,1466,1475],{},[48,1464,1465],{},"Скачает пакеты и все необходимые зависимости.",[48,1467,1468,1469,259,1472,1035],{},"Запросит подтверждение (нажмите ",[24,1470,1471],{},"Y",[24,1473,1474],{},"Enter",[48,1476,1477],{},"Установит пакеты в систему.",[20,1479,1480,1483],{},[40,1481,1482],{},"Установка конкретной версии"," (если доступно несколько):",[123,1485,1487],{"className":125,"code":1486,"language":127,"meta":128,"style":128},"sudo apt install \u003Cимя_пакета>=\u003Cверсия>\n",[24,1488,1489],{"__ignoreMap":128},[132,1490,1491,1493,1495,1497,1499,1502,1504,1507,1510,1513,1516,1519],{"class":134,"line":135},[132,1492,139],{"class":138},[132,1494,360],{"class":142},[132,1496,372],{"class":142},[132,1498,150],{"class":149},[132,1500,1501],{"class":142},"имя_пакет",[132,1503,870],{"class":156},[132,1505,1506],{"class":149},">",[132,1508,1509],{"class":142},"=",[132,1511,1512],{"class":149},"\u003C",[132,1514,1515],{"class":142},"верси",[132,1517,1518],{"class":156},"я",[132,1520,160],{"class":149},[1331,1522,1524,1525,31,1527],{"id":1523},"обновление-пакетов-apt-upgrade-и-apt-full-upgrade","Обновление пакетов: ",[24,1526,34],{},[24,1528,1529],{},"apt full-upgrade",[45,1531,1532,1543],{},[48,1533,1534,1538,1539,1542],{},[40,1535,1536],{},[24,1537,34],{}," — обновляет все установленные пакеты до последних доступных версий, ",[40,1540,1541],{},"не удаляя"," старые пакеты и не устанавливая новые зависимости. Безопасно, но может оставить устаревшие зависимости.",[48,1544,1545,1549,1550,1553,1554,1557],{},[40,1546,1547],{},[24,1548,1529],{}," (или ",[24,1551,1552],{},"apt-get dist-upgrade",") — более агрессивно: удаляет устаревшие пакеты и устанавливает новые зависимости, если это необходимо для обновления. Используйте, если ",[24,1555,1556],{},"upgrade"," не может завершить обновление.",[20,1559,1560],{},[40,1561,1432],{},[123,1563,1565],{"className":125,"code":1564,"language":127,"meta":128,"style":128},"sudo apt upgrade\n",[24,1566,1567],{"__ignoreMap":128},[132,1568,1569,1571,1573],{"class":134,"line":135},[132,1570,139],{"class":138},[132,1572,360],{"class":142},[132,1574,1575],{"class":142}," upgrade\n",[20,1577,1578],{},"Система покажет список пакетов для обновления и запросит подтверждение.",[233,1580,1581],{},[20,1582,237,1583,1585,1586,1588,1589,1591],{},[40,1584,240],{}," Всегда сначала запускайте ",[24,1587,30],{},", иначе ",[24,1590,1556],{}," не найдёт новых версий.",[1331,1593,1595,1596,31,1598],{"id":1594},"удаление-пакетов-apt-remove-и-apt-purge","Удаление пакетов: ",[24,1597,244],{},[24,1599,1600],{},"apt purge",[45,1602,1603,1615],{},[48,1604,1605,1610,1611,1614],{},[40,1606,1607],{},[24,1608,1609],{},"apt remove \u003Cпакет>"," — удаляет бинарные файлы пакета, но сохраняет конфигурационные файлы (в ",[24,1612,1613],{},"/etc/"," и elsewhere). Полезно, если планируете переустановку.",[48,1616,1617,1622,1623,1625],{},[40,1618,1619],{},[24,1620,1621],{},"apt purge \u003Cпакет>"," — полное удаление, включая конфигурационные файлы. Аналог ",[24,1624,244],{}," + очистка настроек.",[20,1627,1628],{},[40,1629,1630,1631,167],{},"Пример удаления ",[24,1632,1436],{},[123,1634,1636],{"className":125,"code":1635,"language":127,"meta":128,"style":128},"sudo apt remove nano\n",[24,1637,1638],{"__ignoreMap":128},[132,1639,1640,1642,1644,1647],{"class":134,"line":135},[132,1641,139],{"class":138},[132,1643,360],{"class":142},[132,1645,1646],{"class":142}," remove",[132,1648,1649],{"class":142}," nano\n",[20,1651,1652],{},"Для полного удаления:",[123,1654,1656],{"className":125,"code":1655,"language":127,"meta":128,"style":128},"sudo apt purge nano\n",[24,1657,1658],{"__ignoreMap":128},[132,1659,1660,1662,1664,1667],{"class":134,"line":135},[132,1661,139],{"class":138},[132,1663,360],{"class":142},[132,1665,1666],{"class":142}," purge",[132,1668,1649],{"class":142},[20,1670,1671],{},[40,1672,1673],{},"Удаление пакетов, которые были установлены как зависимости, но больше не нужны:",[123,1675,1677],{"className":125,"code":1676,"language":127,"meta":128,"style":128},"sudo apt autoremove\n",[24,1678,1679],{"__ignoreMap":128},[132,1680,1681,1683,1685],{"class":134,"line":135},[132,1682,139],{"class":138},[132,1684,360],{"class":142},[132,1686,1687],{"class":142}," autoremove\n",[20,1689,1690],{},"Эта команда удаляет \"осиротевшие\" пакеты (те, которые не имеют обратных зависимостей).",[1331,1692,1694,1695],{"id":1693},"поиск-пакетов-apt-search","Поиск пакетов: ",[24,1696,1697],{},"apt search",[20,1699,1700,1701,1703],{},"Ищет пакеты в локальном кэше (после ",[24,1702,30],{},") по ключевому слову:",[123,1705,1707],{"className":125,"code":1706,"language":127,"meta":128,"style":128},"apt search \u003Cключевое_слово>\n",[24,1708,1709],{"__ignoreMap":128},[132,1710,1711,1713,1715,1717,1719,1721],{"class":134,"line":135},[132,1712,1139],{"class":138},[132,1714,700],{"class":142},[132,1716,150],{"class":149},[132,1718,705],{"class":142},[132,1720,708],{"class":156},[132,1722,160],{"class":149},[20,1724,1725,1727],{},[40,1726,1432],{}," найти пакеты, связанные с Python:",[123,1729,1731],{"className":125,"code":1730,"language":127,"meta":128,"style":128},"apt search python3\n",[24,1732,1733],{"__ignoreMap":128},[132,1734,1735,1737,1739],{"class":134,"line":135},[132,1736,1139],{"class":138},[132,1738,700],{"class":142},[132,1740,1741],{"class":142}," python3\n",[20,1743,1744],{},"Вывод включает имя пакета и краткое описание.",[20,1746,1747,1750],{},[40,1748,1749],{},"Поиск точного имени пакета"," (если известна часть):",[123,1752,1754],{"className":125,"code":1753,"language":127,"meta":128,"style":128},"apt list | grep \u003Cчасть_имени>\n",[24,1755,1756],{"__ignoreMap":128},[132,1757,1758,1760,1763,1765,1767,1769,1772,1775],{"class":134,"line":135},[132,1759,1139],{"class":138},[132,1761,1762],{"class":142}," list",[132,1764,478],{"class":149},[132,1766,730],{"class":138},[132,1768,150],{"class":149},[132,1770,1771],{"class":142},"часть_имен",[132,1773,1774],{"class":156},"и",[132,1776,160],{"class":149},[1331,1778,1780,1781],{"id":1779},"просмотр-информации-о-пакете-apt-show","Просмотр информации о пакете: ",[24,1782,1783],{},"apt show",[20,1785,1786],{},"Показывает детальную информацию об установленном или доступном пакете: версию, размер, зависимости, описание, домашнюю страницу.",[123,1788,1790],{"className":125,"code":1789,"language":127,"meta":128,"style":128},"apt show \u003Cимя_пакета>\n",[24,1791,1792],{"__ignoreMap":128},[132,1793,1794,1796,1798,1800,1802,1804],{"class":134,"line":135},[132,1795,1139],{"class":138},[132,1797,753],{"class":142},[132,1799,150],{"class":149},[132,1801,1501],{"class":142},[132,1803,870],{"class":156},[132,1805,160],{"class":149},[20,1807,1808],{},[40,1809,1432],{},[123,1811,1813],{"className":125,"code":1812,"language":127,"meta":128,"style":128},"apt show curl\n",[24,1814,1815],{"__ignoreMap":128},[132,1816,1817,1819,1821],{"class":134,"line":135},[132,1818,1139],{"class":138},[132,1820,753],{"class":142},[132,1822,1457],{"class":142},[1331,1824,1826,1827,31,1829],{"id":1825},"очистка-кэша-apt-clean-и-apt-autoclean","Очистка кэша: ",[24,1828,917],{},[24,1830,1831],{},"apt autoclean",[20,1833,1834,1835,1838,1839,1841],{},"APT сохраняет скачанные ",[24,1836,1837],{},".deb","-файлы в кэше (обычно ",[24,1840,618],{},"). Со временем это может занять гигабайты.",[45,1843,1844,1854],{},[48,1845,1846,1850,1851,1853],{},[40,1847,1848],{},[24,1849,610],{}," — удаляет ",[40,1852,769],{}," файлы кэша.",[48,1855,1856,1860],{},[40,1857,1858],{},[24,1859,626],{}," — удаляет только устаревшие файлы (те, для которых уже нет соответствующей версии в репозиториях).",[20,1862,1863,1866,1867,1869],{},[40,1864,1865],{},"Рекомендация:"," периодически выполняйте ",[24,1868,1831],{}," для экономии места.",[1331,1871,1873],{"id":1872},"дополнительные-полезные-команды","Дополнительные полезные команды",[45,1875,1876,1905,1938],{},[48,1877,1878,1881,1895,1897,1898,1901,1902,91],{},[40,1879,1880],{},"Список установленных пакетов:",[123,1882,1884],{"className":125,"code":1883,"language":127,"meta":128,"style":128},"apt list --installed\n",[24,1885,1886],{"__ignoreMap":128},[132,1887,1888,1890,1892],{"class":134,"line":135},[132,1889,1139],{"class":138},[132,1891,1762],{"class":142},[132,1893,1894],{"class":432}," --installed\n",[377,1896],{},"Можно фильтровать через ",[24,1899,1900],{},"grep",": ",[24,1903,1904],{},"apt list --installed | grep python",[48,1906,1907,1910],{},[40,1908,1909],{},"Проверка обновляемости конкретного пакета:",[123,1911,1913],{"className":125,"code":1912,"language":127,"meta":128,"style":128},"apt list --upgradable | grep \u003Cпакет>\n",[24,1914,1915],{"__ignoreMap":128},[132,1916,1917,1919,1921,1924,1926,1928,1930,1933,1936],{"class":134,"line":135},[132,1918,1139],{"class":138},[132,1920,1762],{"class":142},[132,1922,1923],{"class":432}," --upgradable",[132,1925,478],{"class":149},[132,1927,730],{"class":138},[132,1929,150],{"class":149},[132,1931,1932],{"class":142},"паке",[132,1934,1935],{"class":156},"т",[132,1937,160],{"class":149},[48,1939,1940,1943,1960,1962,1963,963],{},[40,1941,1942],{},"Просмотр источников репозиториев:",[123,1944,1946],{"className":125,"code":1945,"language":127,"meta":128,"style":128},"cat /etc/apt/sources.list\nls /etc/apt/sources.list.d/\n",[24,1947,1948,1954],{"__ignoreMap":128},[132,1949,1950,1952],{"class":134,"line":135},[132,1951,444],{"class":138},[132,1953,447],{"class":142},[132,1955,1956,1958],{"class":134,"line":314},[132,1957,429],{"class":138},[132,1959,454],{"class":142},[377,1961],{},"Редактирование: ",[24,1964,1965],{},"sudo nano /etc/apt/sources.list",[1001,1967],{},[15,1969,883],{"id":882},[20,1971,1972],{},"После выполнения команд убедитесь, что операция прошла успешно:",[83,1974,1975,1989,2009,2065],{},[48,1976,1977,1980,1981,1984,1985,1988],{},[40,1978,1979],{},"Код возврата:"," В терминале ",[24,1982,1983],{},"echo $?"," должен показать ",[24,1986,1987],{},"0"," (успех). Любое ненулевое значение указывает на ошибку.",[48,1990,1991,1994,1995],{},[40,1992,1993],{},"Сообщения об ошибке:"," Читайте вывод APT. Частые ошибки:\n",[45,1996,1997,2003],{},[48,1998,1999,2002],{},[24,2000,2001],{},"E: Unable to locate package \u003Cпакет>"," — пакет не найден. Проверьте название или добавьте репозиторий.",[48,2004,2005,2008],{},[24,2006,2007],{},"E: Could not open lock file"," — конфликт процессов (см. раздел \"Возможные проблемы\").",[48,2010,2011,2014,2038,2039],{},[40,2012,2013],{},"Проверка установки пакета:",[123,2015,2017],{"className":125,"code":2016,"language":127,"meta":128,"style":128},"dpkg -l | grep \u003Cимя_пакета>\n",[24,2018,2019],{"__ignoreMap":128},[132,2020,2021,2023,2026,2028,2030,2032,2034,2036],{"class":134,"line":135},[132,2022,504],{"class":138},[132,2024,2025],{"class":432}," -l",[132,2027,478],{"class":149},[132,2029,730],{"class":138},[132,2031,150],{"class":149},[132,2033,1501],{"class":142},[132,2035,870],{"class":156},[132,2037,160],{"class":149},"\nили\n",[123,2040,2042],{"className":125,"code":2041,"language":127,"meta":128,"style":128},"apt list --installed | grep \u003Cимя_пакета>\n",[24,2043,2044],{"__ignoreMap":128},[132,2045,2046,2048,2050,2053,2055,2057,2059,2061,2063],{"class":134,"line":135},[132,2047,1139],{"class":138},[132,2049,1762],{"class":142},[132,2051,2052],{"class":432}," --installed",[132,2054,478],{"class":149},[132,2056,730],{"class":138},[132,2058,150],{"class":149},[132,2060,1501],{"class":142},[132,2062,870],{"class":156},[132,2064,160],{"class":149},[48,2066,2067,2070,2071,1035],{},[40,2068,2069],{},"Запуск пакета:"," Если это исполняемый файл, попробуйте запустить его (например, ",[24,2072,2073],{},"nano --version",[15,2075,948],{"id":947},[1331,2077,2079],{"id":2078},"ошибка-доступа-permission-denied","Ошибка доступа (Permission denied)",[20,2081,2082,2085,2086,259,2089,2092,2093,2096,2097,2099,2100],{},[40,2083,2084],{},"Симптом:"," ",[24,2087,2088],{},"E: Could not open lock file /var/lib/dpkg/lock-frontend",[24,2090,2091],{},"E: Unable to acquire the dpkg frontend lock",".\n",[40,2094,2095],{},"Причина:"," Другой процесс (например, Software Center, другой терминал с ",[24,2098,1139],{},") уже использует менеджер пакетов.\n",[40,2101,2102],{},"Решение:",[45,2104,2105,2108,2128],{},[48,2106,2107],{},"Подождите 1-2 минуты, если другой процесс завершится.",[48,2109,2110,2111],{},"Найдите и завершите процесс:\n",[123,2112,2114],{"className":125,"code":2113,"language":127,"meta":128,"style":128},"sudo killall apt apt-get\n",[24,2115,2116],{"__ignoreMap":128},[132,2117,2118,2120,2123,2125],{"class":134,"line":135},[132,2119,139],{"class":138},[132,2121,2122],{"class":142}," killall",[132,2124,360],{"class":142},[132,2126,2127],{"class":142}," apt-get\n",[48,2129,2130],{},"В крайнем случае перезагрузите систему.",[1331,2132,2134],{"id":2133},"пакет-не-найден","Пакет не найден",[20,2136,2137,2085,2139,2092,2142],{},[40,2138,2084],{},[24,2140,2141],{},"E: Unable to locate package \u003Cимя>",[40,2143,2095],{},[45,2145,2146,2149,2152,2160,2166,2172],{},[48,2147,2148],{},"Неправильное имя пакета.",[48,2150,2151],{},"Репозиторий, содержащий пакет, не добавлен или не активирован.",[48,2153,2154,2155,2157,2158],{},"Вы не выполнили ",[24,2156,30],{}," после добавления репозитория.\n",[40,2159,2102],{},[48,2161,2162,2163,91],{},"Проверьте название через ",[24,2164,2165],{},"apt search \u003Cчасть_имени>",[48,2167,2168,2169,91],{},"Проверьте репозитории: ",[24,2170,2171],{},"cat /etc/apt/sources.list",[48,2173,2174,2175,2178,2179,91],{},"Добавьте репозиторий (например, для Universe в Ubuntu: ",[24,2176,2177],{},"sudo add-apt-repository universe",") и выполните ",[24,2180,104],{},[1331,2182,2184],{"id":2183},"недостаточно-места-на-диске","Недостаточно места на диске",[20,2186,2187,2085,2189,2092,2192],{},[40,2188,2084],{},[24,2190,2191],{},"E: You don't have enough free space in /var/cache/apt/archives/",[40,2193,2102],{},[45,2195,2196,2201,2204],{},[48,2197,2198,2199,91],{},"Очистите кэш: ",[24,2200,610],{},[48,2202,2203],{},"Удалите старые ядра или ненужные файлы.",[48,2205,2206],{},"Увеличьте раздел (если возможно).",[1331,2208,2210],{"id":2209},"сетевые-ошибки-при-обновлении","Сетевые ошибки при обновлении",[20,2212,2213,2085,2215,259,2218,2092,2221],{},[40,2214,2084],{},[24,2216,2217],{},"Failed to fetch http://...",[24,2219,2220],{},"Could not resolve",[40,2222,2102],{},[45,2224,2225,2228,2231],{},[48,2226,2227],{},"Проверьте интернет-соединение.",[48,2229,2230],{},"Проверьте доступность репозитория (возможно, временная проблема на стороне сервера).",[48,2232,2233,2234,1035],{},"Если используете прокси, настройте APT для работы с ним (файл ",[24,2235,2236],{},"/etc/apt/apt.conf.d/proxy",[1331,2238,2240],{"id":2239},"пакет-завис-в-состоянии-не-полностью-установлен","Пакет завис в состоянии \"не полностью установлен\"",[20,2242,2243,2245,2246],{},[40,2244,2084],{}," При попытке установки/удаления пакета APT сообщает о \"неконсистентном\" состоянии.\n",[40,2247,2102],{},[123,2249,2251],{"className":125,"code":2250,"language":127,"meta":128,"style":128},"sudo apt --fix-broken install\n",[24,2252,2253],{"__ignoreMap":128},[132,2254,2255,2257,2259,2262],{"class":134,"line":135},[132,2256,139],{"class":138},[132,2258,360],{"class":142},[132,2260,2261],{"class":432}," --fix-broken",[132,2263,2264],{"class":142}," install\n",[20,2266,2267],{},"Эта команда попытается исправить зависимости и завершить прерванные операции.",[1331,2269,2271],{"id":2270},"разные-версии-apt-в-скриптах","Разные версии APT в скриптах",[20,2273,2274,2277,2278,31,2281,2283,2284,2286,2287,2289],{},[40,2275,2276],{},"Примечание:"," Если пишете скрипты, используйте ",[24,2279,2280],{},"apt-get",[24,2282,680],{}," вместо ",[24,2285,1139],{},", так как их вывод более стабилен и предназначен для машинной обработки. Для интерактивного использования ",[24,2288,1139],{}," удобнее благодаря цветному выводу и прогресс-бару.",[1062,2291,2292],{},"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":128,"searchDepth":314,"depth":314,"links":2294},[2295,2296,2297,2314,2315],{"id":17,"depth":314,"text":18},{"id":77,"depth":314,"text":78},{"id":1328,"depth":314,"text":1329,"children":2298},[2299,2301,2303,2305,2307,2309,2311,2313],{"id":1333,"depth":320,"text":2300},"Обновление списка пакетов: apt update",{"id":1393,"depth":320,"text":2302},"Установка пакетов: apt install",{"id":1523,"depth":320,"text":2304},"Обновление пакетов: apt upgrade и apt full-upgrade",{"id":1594,"depth":320,"text":2306},"Удаление пакетов: apt remove и apt purge",{"id":1693,"depth":320,"text":2308},"Поиск пакетов: apt search",{"id":1779,"depth":320,"text":2310},"Просмотр информации о пакете: apt show",{"id":1825,"depth":320,"text":2312},"Очистка кэша: apt clean и apt autoclean",{"id":1872,"depth":320,"text":1873},{"id":882,"depth":314,"text":883},{"id":947,"depth":314,"text":948,"children":2316},[2317,2318,2319,2320,2321,2322],{"id":2078,"depth":320,"text":2079},{"id":2133,"depth":320,"text":2134},{"id":2183,"depth":320,"text":2184},{"id":2209,"depth":320,"text":2210},{"id":2239,"depth":320,"text":2240},{"id":2270,"depth":320,"text":2271},"2026-02-16 10:32:50","Узнайте, как использовать APT для установки, обновления и удаления пакетов в Debian и Ubuntu. Пошаговая инструкция с примерами для новичков. Начните управлять пакетами уже сегодня!","easy","10-15 мин",[2328,2331,2334,2337],{"question":2329,"answer":2330},"В чём разница между apt, apt-get и apt-cache?","`apt` — это удобная обёртка для apt-get и apt-cache, предназначенная для интерактивного использования. `apt-get` и `apt-cache` используются в скриптах и имеют более стабильный вывод.",{"question":2332,"answer":2333},"Как установить пакет из определённого репозитория?","Используйте `sudo apt install \u003Cимя_пакета>`. Если пакет находится в неактивированном репозитории, сначала добавьте репозиторий и выполните `sudo apt update`.",{"question":2335,"answer":2336},"Что делать при ошибке 'Unable to lock the administration directory'?","Эта ошибка означает, что другой процесс (например, другой экземпляр apt или Software Center) использует кэш. Завершите процесс или подождите.",{"question":2338,"answer":2339},"Как обновить только конкретный пакет, а не всю систему?","Выполните `sudo apt update && sudo apt install \u003Cпакет>`. Это обновит список пакетов и установит последнюю версию указанного пакета.",[2341,2344,2347,2350,2353],{"name":2342,"text":2343},"Обновите список доступных пакетов","Запустите `sudo apt update` для получения актуальной информации о пакетах из репозиториев.",{"name":2345,"text":2346},"Установите нужный пакет","Используйте `sudo apt install \u003Cимя_пакета>` для установки.",{"name":2348,"text":2349},"Обновите установленные пакеты","Выполните `sudo apt upgrade` для обновления всех обновляемых пакетов.",{"name":2351,"text":2352},"Удалите ненужный пакет","Примените `sudo apt remove \u003Cимя_пакета>` для удаления, или `sudo apt purge \u003Cимя_пакета>` для полного удаления с конфигурацией.",{"name":2354,"text":2355},"Найдите пакет по имени","Используйте `apt search \u003Cключевое_слово>` для поиска в репозиториях.","PT15M",[2358,2359,2360,2361,2362,2363,2364,2365,2366,2367],"apt-get команды","apt install пример","установка пакетов ubuntu","обновление системы linux apt","удаление пакета apt","поиск пакетов apt","apt update upgrade разница","управление пакетами debian","apt для начинающих","команды apt терминал",{},[2370,1128,2371],"/guides/linux/dpkg-basics","/errors/linux/apt-lock-failed",{"title":1276,"description":2324},"guides/linux/apt-basics","Это руководство познакомит вас с основными командами APT — менеджера пакетов в Debian/Ubuntu. Вы научитесь устанавливать, обновлять и удалять программное обеспечение из командной строки.",[1129,1139,1144,2376,2377,2378,2379],"debian","ubuntu","команды","установка","w-kqpxC8wMobckaS8FELH7Qiv1Lu7Naf7Wt5zzGJk2k"]