Pacman как очистить кэш

Обновлено: 02.07.2024

Arch Linux является непрерывно обновляемым дистрибутивом и не имеет фиксированной версии: Rolling_release.

Arch Rollback Machine ("заморозка репозитория")

Имеется возможность «заморозить» состояние репозитария Arch Linux на определенную дату (см. Arch_Rollback_Machine), т.е. зафиксировать состояние репозитария на момент сборки базовых модулей

Это очень удобно для FRUGAL установки : обновления не накапливаются в сохраненке

Шпаргалка по ключам

-S синхронизация (--sync)

pacman -S pkg1 pkg2 устанавливает или обновляет пакеты вместе с их зависимостями

pacman -S repo/pkg устанавливает пакет из указанного репозитория (когда пакет имеет несколько версий в разных репозиториях, например, extra и testing)

pacman -S «pkg>=version» устанавливает пакет требуемой версии

pacman -Sw pkg скачивает пакет, но не устанавливает его

pacman -Sp pkg устанавливает пакет и выводит для него ссылку на скачивание вместе с зависимостями

pacman -Sf pkg устанавливает пакет, пропуская проверку конфликтов

pacman -Sd pkg устанавливает пакет, пропуская проверку зависимостей

pacman -Syu обновляет все пакеты системы (предварительно синхронизировав базы данных репозиториев)

pacman -Su обновляет все устаревшие пакеты (предпочтительнее предыдущая команда)

pacman -Suu обновляет пакеты с возможностью даунгрейда (если были, например, отключены репозитории testing и требуется откатиться на более старые версии)

pacman -Ss name ищет пакеты в базе данных по имени и описанию

pacman -Ssq pkg выводит в результатах поиска только имена пакетов

pacman -Sg group показывает пакеты, входящие в указанную группу

pacman -Sl repo показывает все пакеты из репозитория

pacman -Sc удаляет из кэша пакеты, которые уже были удалены (кэш хранится в /var/cache/pacman/pkg/)

-R Удаление (--remove)

pacman -R pkg удаляет пакет, оставляя зависимости в системе

pacman -Rs pkg удаляет пакет вместе с зависимостями, если они не используются другими пакетами

pacman -Rn pkg удаляет пакет и резервные копии его конфигурационных файлов (по-умолчаню, они сохраняются с добавлением расширения *.pacsave при удалении приложений)

-Q запрос (--query)

pacman -Q - установленные пакеты с версией (-Qq - без версии)

pacman -Qi pkg показывает информацию об установленном пакете

pacman -Ql pkg показывает список файлов установленного пакета

pacman -Qc pkg показывает список изменений пакета (если пакет его имеет)

pacman -Qo /path/to/file показывает какой пакет является владельцем указанного файла

pacman -Qet отображение списка явно установленных, но не требующихся другим пакетам, пакетов

pacman -Qdt перечисляет все пакеты, больше не требуемые как зависимости

pacman -Qk pkg проверяет, все ли файлы, принадлежащие данному пакету присутствуют в системе

pacman -U path/to/pkg.tar.gz устанавливает локальный пакет (или из интернета, если как путь будет прописана интернет-ссылка)

pacman -T pkg выводит список зависимостей, которые не удовлетворены в системе для указанного пакета

Обновление базы пакетов

Для принудительного обновления списка пакетов : pacman -Syy

Поиск

Найти все зависимости локального пакета: pacman -U –print-format »%n %v»

Все пакеты репозитория : pacman -Sl имя_репозитория. -Slq - без версий

Показать все пакеты, не используемые ни одним пакетом: pacman -Qt

Установка, удаление

Устанавливать пакет с заменой файлов системы: pacman –force -S имя_пакета . В свежих версиях : pacman -S имя_пакета –overwrite «*»

Устанавливать пакет из указанного репозитория: pacman -S репозиторий/имя_пакета

Установить локальный пакет : pacman -U путь/имя_пакета

Удалить пакет со всеми зависимостями : pacman -Rs имя_пакета

Переустановить все пакеты из arch репозитория: pacman -S $(pacman -Qq | grep -v «$(pacman -Qmq)»)

Для получения списка файлов неустановленного пакета можно использовать утилиту pkgfile из состава пакета pkgtools или найти пакет по имени файла : pacman -F file

Справочная информация

pacman -h показывает синтаксис команды (если добавить опцию, то синтаксис для заданной опции, например pacman -Qh)

Arch Linux становится популярным дистрибутивом Linux, поскольку в нём найден удачный баланс между стабильностью, контролем над системой, актуальностью пакетов и удобством пользователей. В нём есть все инструмент для продвинутых пользователей, которые могут понадобиться для поддержания полного контроля над системой. А для новичков уже написано много пошаговых инструкций, чтобы они могли удачно завершить почти любую задачу.

Хотя есть одна вещь, о которой новички часто забывают: неважно, насколько дружественный рабочий стол Cinnamon (или Gnome) с запущенными Firefox и LibreOffice, используемыми в повседневной работе, при каждом обновлении программ накапливаются установочные пакеты, которые со временем могут заполнить диск.

Когда вы обновляете программы с менеджером пакетов Arch Linux под названием Pacman, вам нужно время от времени очищать его кэш. В противном случае ваш диск переполнится ненужными старыми пакетами. Эта инструкция покажем вам, как очищать кэш пакетов в Arch Linux.

Что такое кэш пакетов?

Arch Linux для установки программ из репозитория использует менеджер пакетов Pacman, например:

Опция -S говорит Pacman найти сжатый тарбол (файл tar.xz) с именем «firefox». Если будет найдена более новая версия, чем установлена на этот компьютер, то тогда Pacman предложит установить новый пакет.

Операции этого типа часто происходят автоматически для множества пакетов когда вы запускаете полное обновление системы командой:

В ней опция -y означает загрузить последний список репозитория доступных пакетов, -u означает найти устаревшие пакеты на компьютере и -S говорит установить любые новые пакеты, которые найдёт Pacman.

Для любого нового пакета Pacman вначале загрузит тарбол в директорию кэша — обычно он расположен по пути /var/cache/pacman/pkg/ и затем будет использовать этот файл для установки новой версии. История ранее установленных пакетов может выглядеть примерно как на следующем изображении:


Из скриншота видно, что пакет vim-runtime присутствует в трёх версиях. И хотя этот пакет занимает немного места, все файлы в этой папке занимают 672M (это немного — я чистил кэш за несколько дней до написания этой инструкции). Если вы не чистили кэш никогда, то размер вашей папки может быть несколько гигабайт или несколько десятков гигабайт. Поскольку эта папка обычно размещается на системном диске, то если у вас твердотельный накопитель небольшого размера, то для вас этот объём места может быть весьма значимым.

Пришло время очистить место!

Как чистить кэш в Arch Linux

Скриншот выше раскрывает нам что Pacman не удаляет автоматически старые тарболы при установке новых пакетов. Он также оставляет установочные пакеты при удалении самой программы. Следовательно, вам нужно чистить кэш вручную.

Есть несколько способов, как вы можете это сделать. Первый из них — использовать сам pacman.

Эта опция удалит все пакеты в кэше из директории /var/cache/pacman/pkg/ кроме версий, соответствующих установленным в вашей системе пакетам. У этого решения есть некоторая опасность, которая рассмотрена в следующем разделе.

У команды есть и более кардинальный вариант:

Он удаляет вообще все пакеты из кэша, рекомендуется только если вам требуется освободить место.

Для более безопасного, контролируемого подхода вы можете использовать скрипт paccache, который поставляется вместе с Pacman:

Он удаляет все тарболы в кэше кроме самых последних трёх пакетов. Он делает это для всех пакетов, которые установлены или нет на вашем компьютере.

Если у вас накоплен большой кэш, то он довольно значительно будет уменьшен, хотя всё ещё останется по 3 копии каждого установочного файла разных версий.

Вы можете выбрать количество пакетов, которое вы хотите сохранить. В следующем примере выбор «1» делает примерно то же, что и pacman -Sc, за исключением того, что paccache не делает разницы между установленными и не установленными пакетами.

Следующий пример даёт вам контроль на не установленными в систему пакетами, удаляя тарболы всех пакетов, которые в настоящий момент не установлены на вашей локальной рабочей станции:

Опасности очистки кэша

Существование кэша и такого подхода, когда сохраняется вообще каждый установочный файл, который был когда-либо скачан, обосновано следующей идеей: если установка нового пакета вызвала проблему, то с помощью кэша вы можете вернуться к предыдущей версии.

В реальности за много лет использования Arch Linux я сталкивался с ситуацией, когда использовалась помощь кэша, буквально 1-2 раза. Это понадобилось на этапе установки — при установке проприетарных драйверов. При неудачной установке система не загружалась в графический интерфейс. Поскольку Интернет-подключение было настроено через Network Manager (который не работает при отсутствии графического интерфейса), то для удаления неудачного драйвера и установки открытого драйвера использовался кэш.

  • инструкции с хот-фиксами (рабочими решениями) по временному исправлению проблемы
  • ожидание новой версии, в которой проблема будет исправлена
  • открытие тикета для соответствующего приложения о проблеме и ожидание, пока проблема будет подтверждена, и программа обновится.

Это не означает, что не нужно хранить кэш пакетов. Вполне возможно, что у вас возникнет ситуация когда, он действительно будет нужен. Но это означает, что вам нужно научиться пользоваться теми возможностями, которые он даёт — хотя бы как понизить версию приложения. В противном случае кэш пакетов вам в любом случае не поможет — даже если он будет размером в 100 Гигбайт.

Как откатить программу до предыдущей версии в Arch Linux

Рассмотрим примет выполнение отката пакета. Предположим, что после обновление рабочего стола Cinnamon у меня возникла проблема и я хочу вернуться к предыдущей версии Cinnamon пока не будет выпущена версия с исправлениям.

Смотрю текущую версию:

Перехожу в папку /var/cache/pacman/pkg/:

И ищу доступные версии:

Последней установленной версией является 4.2.3, но я также могу установить из кэша версии:

  • cinnamon-4.2.0
  • cinnamon-4.2.1
  • cinnamon-4.2.2

Я могу выбрать любую из них — выбираю предпоследнюю, То есть 4.2.2. Теперь мне нужно запустить установку командой вида:

Для моего случая это команда:

Заключение

Arch Linux даёт вам много свободы сделать вашу систему именно тем, что вам нужно. Pacman делает простым установку и удаление пакетов, но он также время от времени требует ручного вмешательства.

Загляните в ваш кэш пакетов. Если он занимает много места, то очистите в нём файлы одним из показанных выше способов.

Если вы хотите узнать больше опций pacman и научиться выполнять другие действия связанные с пакетами в вашей системе, то рекомендуются статьи:



Я монтирую кеш в tmpfs. Кажды раз скачанные пакеты удаляются, когда апдейт делаю — создается.

Это сделано для уменьшения износа ssd.

Также, монтирую .cache из home.



Ты какой кеш имеешь ввиду?
Если кеш pacman`a, то pacman -Scc


Спасибо помогло, а аналог purge(чистка RAM (в макос)) П.С. я понимаю что можно и просто поубивать все процессы в ручную


Спасибо помогло, а аналог purge(чистка RAM (в макос)) случайно не знаете? П.С. я понимаю что можно и просто поубивать все процессы в ручную


Интересный способ, спасибо за идею)

Значит, за неполные сутки с перерывом на ночной сон ты успел понять все особенности и прелести Arch? Не верю. Ты его воспринимаешь только как красивое название, на слух и понятия не имеешь, что внутри. Ничего, подожди, нахаваешься глюков, изменится твое настроение.


Я думаю что от части ты прав, но дело в другом. Мне было не сложно его настроить(на начальном этапе,хотя я про****ся очень как не странно долго dm и kde) и многие вещи до сих пор требуют настройки как к примеру адекватная работа skype и большинство вещей еще впереди спорить не стану. Смотря что ты называешь особенностями. На данный момент я получил полностью рабочий ноут с отличной работой intel graphics(что почему то не удалось достичь в ubuntu/deb/mint) и wifi все программы работают как часы и KDE удалось сделать очень юзабельным. даже wow 3.3.5a лучше чем на винде работает) А что касается глюков, то мне кажется что это начнется после апдейтов, а я не сильно гонюсь за последними версиями програм, так что хз.

Для установки одного пакета или списка пакетов (включая зависимости) используйте следующую команду:

Для установки списка пакетов при помощи поиска по регулярному выражению (смотрите раздел Операции и синтаксис Bash и эту ветку форума):

Если пакет имеет несколько версий в разных репозиториях (например, в extra и testing), можно указать, откуда именно следует установить пакет:

Установка группы пакетов

Некоторые пакеты объединены в группы пакетов, и они могут быть установлены одновременно. Например, при выполнении команды:

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

Некоторые группы содержат большое количество пакетов, и среди них могут быть всего несколько нужных или ненужных вам. Вместо того, чтобы вводить все необходимые вам номера, иногда удобнее выбрать или исключить отдельные числа или диапазоны чисел при помощи приведенного ниже синтаксиса:

— будут выбраны все пакеты в диапазоне с 1 по 10, а также 15;

— будут выбраны все пакеты, кроме входящих в диапазон с 5 по 8, а также 2.

Чтобы увидеть список пакетов, принадлежащих к группе gnome, выполните:

Обратите внимание: Если пакет в списке уже установлен, он будет переустановлен даже если была установлена последняя версия. Это поведение можно изменить опцией --needed.

Удаление пакетов

Для удаления пакета без удаления установленных зависимостей:

Для удаления пакета со всеми зависимостями, не используемыми другими установленными пакетами:

Для удаления пакета, его зависимостей и всех пакетов, зависящих от целевого пакета:

Важно: Эта операция рекурсивна и должна использоваться с осторожностью, так как появляется риск удалить много потенциально необходимых пакетов.

Для удаления пакета, который требуется другому пакету, без удаления зависимого пакета:

pacman создает резервные копии конфигурационных файлов удаляемых приложений и добавляет к ним расширение .pacsave. Если вы хотите удалить и эти файлы, используйте ключ -n:

Обратите внимание: pacman не удаляет конфигурационных файлов, созданных самими приложениями (например, скрытые файлы (имя которых начинается с точки) в вашем домашнем каталоге).

Обновление пакетов

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

Запросы к базам данных пакетов

pacman с помощью флага -Q может искать пакеты в локальной базе данных:

а с помощью флага -S — в базе данных, синхронизированной с репозиториями:

pacman умеет искать пакеты в базе данных как по названиям, так и по описаниям:

Для поиска среди установленных пакетов:

Для отображения подробной информации об указанном пакете:

и для установленных пакетов:

Использование сразу двух флагов -i позволит просмотреть список резервных копий файлов и список измененных файлов:

Для получения списка файлов установленного пакета:

Для неустановленных пакетов используйте pkgfile.

Чтобы проверить наличие файлов, установленных пакетом:

Использование сразу двух флагов k выполнит более тщательную проверку.

Чтобы узнать, какому пакету принадлежит нужный файл:

Для получения списка пакетов, которые больше не требуются как зависимости (пакеты, которые могут быть безопасно удалены или "осиротевшие" пакеты):

Для отображения пакетов, которые были установлены явно и от которых не зависят другие пакеты:

Для отображения зависимостей в виде дерева:

Для получения списка пакетов, которые зависят от конкретного установленного пакета, можно использовать утилиту whoneeds из состава пакета pkgtools:

или pactree c флагом -r:

Очистка кэша пакетов

pacman сохраняет скачиваемые пакеты в каталоге (/var/cache/pacman/pkg/) и не удаляет их файлы автоматически, поэтому следует время от времени самостоятельно чистить этот каталог, чтобы предотвратить его разрастание.

Есть встроенная опция для удаления из кэша всех пакетов, не установленных на данный момент:

Делайте это только в том случае, если у вас есть определенная уверенность, что установленные пакеты стабильны и вам не потребуется откат версии, поскольку данная команда удалит все старые версии из каталога кэша, оставив только те, которые установлены в системе на данный момент. Сохранение более старых версий пакетов может пригодиться в тех случаях, когда обновление приводит к неправильной работе системы или отдельных программ. Если не следовать этому совету, может возникнуть ситуация, в которой пользователь будет вынужден использовать альтернативный источник устаревших пакетов, такой как Arch Rollback Machine.

Также есть возможность полностью очистить каталог кэша при помощи команды pacman -Scc, однако ее использование считается плохой практикой, так как, в дополнение к вышесказанному, в случае необходимости вы не сможете переустановить пакет непосредственно из директории кэша, и вам придется скачивать его заново. Настоятельно не рекомендуется использовать эту команду, за исключением случаев, когда у вас есть острая потребность в освобождении дискового пространства.

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

Команда paccache, предоставляемая пакетом pacman, по умолчанию удаляет из кэша все версии каждого пакета, кроме трех недавно использовавшихся:

Однако, в этом случае paccache не будет проверять, установлен ли пакет на данный момент, оставляя удаленные пакеты в кэше. Для удаления из кэша всех версий удаленных пакетов придется запустить команду еще раз с другими опциями:

Для просмотра всех опций смотрите paccache -h.

Альтернативный вариант — использование пакета pkgcachecleanAUR из AUR:

Дополнительные команды

Обновление системы и установка списка пакетов (за одну операцию):

Установить локальный пакет не из репозитория (например, для пакетов из AUR:

Список пакетов

Список явно установленных пакетов:

Перечислить все иностранные пакеты (как правило, ручную загруженные и установленные):

Список всех родных пакетов (установленные из синхронизируемой базы (баз) данных):

Список всех пакетов по регулярному выражению:

Перечислить пакеты по регулярному выражению с настроенным форматом вывода:

С размером

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

  • Установите expac и запустите
  • Запустите pacgraph с опцией -c.

Для списка размера загрузки нескольких пакетов (чтобы вывести все пакеты, не указывайте название каких-либо пакетов):

Для получения списка явно установленных пакетов, которых нет ни в репозитории base, ни в base-devel, с размером и описанием:

Последние установленные пакеты

Установите expac и запустите

Все пакеты, которые не являются чьей-либо зависимостью

Если вы хотите сгенерировать список всех установленных пакетов, которые не являются чьей-либо зависимостью, вы можете использовать следующий скрипт. Это очень полезно, если вы пытаетесь освободить место на жёстком диске и установили множество пакетов, которые вы можете не помнить. Вы можете просмотреть вывод для поиска пакетов, которые вам больше не нужны.

Примечание: Этот скрипт покажет все пакеты, которые не являются чьей-либо зависимостью, включая явно установленные. Для получения списка пакетов, которые были установлены как зависимости, но больше не требуются какими-либо установленными пакетами, смотрите Осиротевшие пакеты.

Для списка с описаниями пакетов:

Установленные пакеты, которые не входят в указанную группу или репозиторий

Следующая команда составит список установленных пакетов, которые не входят в base или base-devel, и, таким образом, принадлежат другим репозиториям или могут быть установлены пользователем вручную:

Список всех пакетов, которые не в указанном репозитории (замените repo_name на имя репозитория):

Список всех установленных пакетов, которые в репозитории repo_name:

Построение списка файлов, принадлежащих пакету, с указанием размера

Это может быть полезным, когда определённый пакет использует огромное количество места и вы хотите узнать, какой файл больше всего в этом виноват.

Идентификация файлов, не принадлежащих какому-либо пакету

Если ваша система имеет приблудные файлы, которые не принадлежат какому-либо пакету (обычная ситуация, если вы не используете менеджер пакетов для установки программного обеспечения), вам может захотеться найти такие файлы, чтобы удалить их. Обычно процесс осуществления этого следующий:

  1. Создайте отсортированный список файлов, владение на которые вы хотите проверить:
  1. Создайте отсортированный список файлов, прослеживаемых pacman’ом (и удалите слеши в конце директорий):
  1. Найдите строки, которые есть в первом списке, но отсутствуют во втором:

На практике этот процесс является сложным, поскольку многие важные файлы не являются частью какого-либо пакета (к примеру, сгенерированные в процессе работы, пользовательские конфиги) и т.п. – всё это будет включено в конечный вывод, что сделает сложным процесс отбора файлов для удаления.

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

Удаление неиспользуемых пакетов

Осиротевшие пакеты

Для рекурсивного удаления сироток и их конфигурационных файлов:

Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: цели не определены. Это ожидаемо, поскольку pacman -Rns не получил аргументов.

Примечание: Начиная с pacman версии 4.2.0 показываются только истинные сиротки. Чтобы pacman также показал пакеты, которые нужны другим пакетам только опционально, дважды укажите флаг -t/--unrequired:

Используйте это осторожно, поскольку при этом не берётся в расчёт, является ли пакет опциональной зависимостью, а, следовательно, это приводит к риску удалить пакет, который не является реальной сироткой.

Явно установленные

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

Для показа списка явно установленных пакетов, которые доступны в официальных репозиториях:

Для показа списка явно установленных пакетов, которые не доступны в официальных репозиториях:

Удаление всего, кроме группы base

Если вдруг понадобилось удалить все пакеты, кроме группы base, попробуйте следующую строку:

Получение списка зависимостей нескольких пакетов

Зависимости сортируются в алфавитном порядке, дубли удаляются. Также вы можете использовать pacman –Qi для небольшого улучшения времени ответа. Но вы не сможете запрашивать так много пакетов. Ненайденные пакеты просто опускаются (поскольку 2>/dev/null).

В качестве альтернативы вы можете использовать expac:

Получение списка изменённых файлов резервных копий

Если вы хотите сделать резервную копию конфигурационных файлов вашей системы, вы можете скопировать все файлы в /etc/, но обычно нам интересны только файлы, в которых были сделаны изменения. Модифицированные резервные файлы могут быть просмотрены следующей командой:

Запуск этой команды с разрешениями рута станет гарантией того, что файлы, читаемые только рутом (к примеру /etc/sudoers), включены в вывод.

Недавно я установил Arch Linux и обнаружил, что я довольно быстро еду в большой памяти. По какой-то причине я уже использовал 17 ГБ всего за 2 недели. У меня нет большого количества программного обеспечения, поэтому я убежден, что все старые пакеты поддерживаются где-то.

Чтобы это подтвердить, я заметил, что если я установил пакет, удалите этот пакет, а затем повторно установите его, чтобы pacman просто распаковывал и переустанавливал программное обеспечение без повторной загрузки.

После того, как я установил свою базовую систему, перед дополнительным программным обеспечением я использовал примерно 2 ГБ или около того. С тех пор я только установил Matlab, Skype, Wine и несколько других небольших программ. Конечно, я также установил недостающие библиотеки и т. Д., Но не почти на 15 ГБ.

Я совершенно не прав или Arch никогда не удаляет старые пакеты при загрузке /обновлении до новых версий?

Если да, как мне удалить эти неиспользуемые пакеты?

Кроме того, когда я удаляю установленные пакеты, я использую pacman -R .

4 ответа

Нет, pacman не удаляет старые пакеты из вашего кеша ( /var/cache/pacman/pkg ), поэтому со временем он может заполнить.

Вы можете использовать два подхода к очистке кеша: грубая сила с помощью pacman -Sc :

-c, --clean
Удалите пакеты, которые больше не установлены из кеша, а также в настоящее время неиспользуемые базы данных синхронизации, чтобы освободить место на диске. Когда pacman загружает пакеты, он сохраняет их в каталоге кеша. Кроме того, базы данных сохраняются для каждой базы данных синхронизации. загружать и не удалять, даже если они удалены из файла конфигурации pacman.conf (5). Используйте один - очиститель удалить только те пакеты, которые больше не установлены; используйте два для удаления всех файлов из кеша. В обоих случаях у вас будет да или нет для удаления пакетов и /или неиспользуемых загруженных баз данных.

Или для более тонкого подхода вы можете использовать одну из утилит, поставляемых с pacman-contrib, paccache :

paccache - это гибкая утилита очистки кэша pacman, которая имеет множество параметры, которые помогают контролировать, сколько и что удаляется из любой директории содержащие tarbox пакетов pacman.

По умолчанию paccache удаляет все, кроме последних трех версий установленного пакета, но вы можете изменить это число с помощью ---- +: = 4 =: + ----. Существует также переключатель -k, --keep , чтобы просмотреть ваши изменения. См. -d, --dryrun для всех коммутаторов.

В пакете pacman-contrib имеется ряд утилит, которые помогут в управлении пакетами, стоит взглянуть на них и получить понимание того, как они работают, и сделать работу с Arch намного проще. Полный список можно просмотреть с помощью:

Кэш вашего пакета находится в /var/cache/pacman/pkg/ .

Чтобы сделать код -dryrun и посмотреть, что может произойти запуск этой утилиты при следующем выполнении:

Удаление кэшированных пакетов. 17gbs звучит круто. Убедитесь, что у вас нет доступных журналов. У:

Или даже просто:

Для более общего представления о том, что происходит.

pacman -Scc делает то, что вы просите, но это не рекомендуется. Из Wiki

Также возможно полностью очистить папку кэша с помощью pacman -Scc , но это считается плохой практикой, поскольку в дополнение к вышесказанному он также предотвращает переустановку пакета непосредственно из кэш-папке в случае необходимости, тем самым вынуждая его перезагрузить. Вы никогда не должны использовать его, если нет отчаянной потребности в большем объеме дискового пространства.

В стороне, когда я удаляю пакеты, я предпочитаю использовать pacman -Rnsc , так как он также удаляет зависимости пакетов, а также пакеты, которые зависят от этого. Как всегда, внимательно прочитайте, какие пакеты удаляются, так как вы легко можете оставить нашу систему в непригодном для использования состоянии.

Я настоятельно рекомендую использовать paccache вместо pacman -Sc . Существует даже очень эффективный флаг для выборочного удаления версий удаленных пакетов -u . Флаги paccache Я рекомендую (как часть paccache v5.0.2):

Читайте также: