Как удалить pacman linux

Обновлено: 04.07.2024

Хотите установить пакеты в Arch Linux, но не знаете как? Многие люди сталкиваются с этой проблемой при первом переходе с дистрибутивов на основе Debian на Arch. Однако вы можете легко управлять пакетами в вашей системе на основе Arch с помощью менеджеров пакетов.

Менеджеры пакетов в Arch Linux

Хотя Arch Linux поставляется с Pacman в качестве менеджера пакетов по умолчанию, вы можете установить другие менеджеры пакетов, такие как Yay. В отличие от Pacman, эти менеджеры пакетов позволяют добавлять новые пакеты из официального репозитория Arch и AUR (пользовательского репозитория Arch).

1. Пакман

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

2. Ура

Поскольку разработчики Yaourt и Aurman не будут выпускать никаких обновлений после прекращения поддержки, пользователи Arch начали использовать Yay для добавления пакетов из AUR. Основная цель Yay заключалась в том, чтобы минимизировать ввод данных пользователем и предоставить интерфейс, подобный Pacman.

Вы не сможете установить Yay с помощью Pacman, поскольку он не поддерживает добавление пакетов напрямую из пользовательского репозитория Arch. Следовательно, вам придется установить менеджер пакетов Yay вручную, используя его репозиторий Git. Вот как установить его в вашей системе.

Шаг 1. Для клонирования репозитория yay вам потребуется git.

Шаг 2: Клонируйте репозиторий в локальное хранилище.

Шаг 3. Измените права доступа к папке.

Шаг 4: Перейдите в каталог, в который вы клонировали репозиторий.

Шаг 5: Используйте команду makepkg для сборки пакета. Убедитесь, что вы не выполняете следующую команду от имени пользователя root, иначе это вызовет ошибку.

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

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

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

Использование Pacman

Чтобы обновить список пакетов с помощью Pacman, используйте флаг -Sy с командой.

После синхронизации списка пакетов вашей системы с главными серверами вам необходимо обновить пакеты. Используйте флаг -Syu, чтобы сделать то же самое. Эта команда может занять некоторое время в зависимости от списка пакетов и вашего сетевого подключения.

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

Используя Yay

Менеджер пакетов Yay позволяет вам эффективно обновлять и обновлять ваши пакеты с помощью вашего терминала. Для этого просто используйте флаг -Syu с командой yay .

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

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

Установить пакеты с помощью Pacman

Pacman использует расширение файла TAR для упаковки приложений. Он эффективно работает с системной архитектурой Arch Linux. Чтобы добавить пакет, вы должны использовать флаг -S с командой по умолчанию следующим образом.

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

Вы также можете получить информацию о пакетах после их установки. В выходных данных содержится подробная информация об имени, версии, архитектуре и лицензии пакета. Для этого замените флаг -S на -Qi в команде pacman по умолчанию.

Устанавливать пакеты с Yay

Синтаксис команды установки Yay очень похож на синтаксис Pacman. Чтобы установить пакет с помощью диспетчера пакетов Yay, просто используйте флаг -S с командой по умолчанию.

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

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

Удалить пакеты с помощью Pacman

Удалить пакет тоже легко. Все, что вам нужно сделать, это использовать -R вместо флага -S в команде pacman по умолчанию.

Удалите пакеты с помощью Yay

Чтобы удалить пакеты с помощью Yay, добавьте флаг -R к команде yay по умолчанию. Вы также можете использовать флаг -Rns, чтобы удалить все ненужные зависимости из вашей системы.

Если вы хотите удалить пакеты, которые не нужны вашей системе, используйте флаг -Yc с командой.

Управление пакетами в Arch Linux

Существует несколько способов добавления и удаления пакетов в дистрибутиве Linux на основе Arch. Вы можете использовать менеджеры пакетов, такие как Pacman, Yaourt и Yay. В то время как некоторые менеджеры пакетов позволяют загружать пакеты из пользовательского репозитория Arch, другие, такие как Pacman, не поддерживают AUR.

Если вы не являетесь поклонником менеджеров пакетов, вы всегда можете загрузить нужные пакеты вручную. В Интернете доступно несколько веб-сайтов, которые предоставляют пользователям Linux пакеты TAR, RPM и DEB.

Arch Linux использует менеджер пакетов Pacman, который соединяет в себе простой формат бинарных пакетов и простую в использовании систему сборки, позволяющую пользователям с легкостью управлять и настраивать под себя пакеты, вне зависимости от того, официальные ли они или собранные пользователем. Система репозиториев позволяет пользователям создавать и поддерживать собственные репозитории с собранными пакетами, что способствует росту сообщества.

Pacman может держать систему в новейшем состоянии, синхронизируя пакеты с главным сервером, тем самым позволяя сознательному администратору поддерживать систему. Клиент-серверная модель позволяет скачивать/устанавливать пакеты одной командой со всеми требуемыми зависимостями (похоже на apt-get от Debian).

Pacman был написан на языке C и поэтому он быстрый, легкий. Он использует .tar.gz формат пакетов, эти пакеты извлекаются быстрее.

Использование

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

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

Перед установкой и обновлением пакетов полезно синхронизировать базу данных локально установленных пакетов с удалёнными репозиториями


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

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

Вы можете совмещать параметры, например, эта команда синхронизирует базы данных и установит пакет:

Удалить пакет (оставляя все зависимости в системе):

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

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

Конечно, это может быть дополнено -s, чтобы также удалить ненужные теперь зависимости. Таким образом, команда полностью удалит пакет, его конфигурации и все зависимости, которые больше не нужны:

Обновление системы

Pacman может обновить все пакеты системы одной командой. Количество пакетов зависит от того, насколько ваша система современна.

NB: вы можете синхронизировать базы данных репозиториев И обновить все установленные пакеты одной командой:

Хорошо выполнять эту команду каждые несколько дней.

Получение списка установленных пакетов для быстрого восстановления системы

Если ваша система упала и ее сложно восстановить то неплохо бы иметь список пакетов которые были установлены в ней.

Сохранить в файл pkglist список пакетов установленных в системе:

Сохраните этот файл на флешке или еще где-нибудь.

Если вдруг с вашей системой случится что-либо неприятное то установленые пакеты легко можно восстановить:

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

  • Поиск пакетов в репозиториях, вы можете указать только часть названия:
  • Поиск среди установленных пакетов:
  • Вывод информации о пакете:
  • Вывод списка файлов пакета:
  • Какой пакет является владельцем файла?
  • Перечислите все пакеты, больше не требуемые как зависимости(сироты):
  • Удалить всех сирот: (Проверьте сначала вывод команды pacman -Qdt.)

Одновременный поиск в репозитории и среди установленных пакетов

Вы можете использовать следующий bash скрипт в качестве эквивалента для одновременного вызова pacman -Ss foo и pacman -Qs foo, для того чтобы узнать, какие из пакетов в выводе установлены на вашей системе. Последние будут помечены звёздочкой.

Сохраните этот скрипт в каталоге, включенном в переменную PATH (например,

/bin/), и назовите его pacsearch. Сделайте его исполняемым с помощью

Теперь если вы напишете, например:

вывод может выглядеть так:

В этом случае вы узнаете, что ни один из вышеперечисленных пакетов (кроме самого qt) на вашей системе не установлен.

NB1: был добавлен запрос на flyspray с предложением интегрировать вышеуказанную функциональность в сам pacman, чтобы 'грязные' хитрости bash стали стать ненужными с последующими версиями pacman.

NB2: вы можете изменить этот bash скрипт с помощью этого wiki, для того чтобы установленные пакеты были выделены различными цветами в выводе.

Другое использование

Вы можете ввести ссылку:

  • Очистка кэша pacman`а (/var/cache/pacman/pkg):
  • Для того, чтобы переустановить все пакеты в вашей системе (которые доступны в репозитории):

Для более детальной информацией о возможных ключах обратитесь к pacman --help или man pacman.

Настройка

Настройки pacman`a находятся в /etc/pacman.conf . Важными секциями являются:

Основные опции

Основные опции находятся в секции [options]. Есть одна полезная опция IgnorePkg. Например, если вы изменяли или накладывали патч на пакет, добавление его в IgnorePkg укажет pacman'у не обновлять его при выходе следующей версии пакета. Но pacman всё же предупредит вас о том, что доступна более свежая версия, так что в итоге вы можете обновить ваш изменённый пакет. Опция также полезна для БОЛЬШИХ пакетов (например, openoffice-base), если вы хотите избежать скачивания и обновления всего пакета каждый раз, когда в репозитории появляется маленькое изменение. Поскольку pacman всё равно предупредит вас о последней версии, вы можете обновить пакет вручную.

Репозитории

В этой секции вы указываете используемые репозитории. Они могут быть указаны напрямую или как файл, содержащий список серверов. Последнее удобно для официальных репозиториев, имеющих множество зеркал.

Недавно я установил 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):

Средства управления пакетами Arch Linux подобны другим современным дистрибутивам Linux. В данном руководстве речь пойдет об общих операциях управления пакетами.

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

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

Ориентированные на краткость (а не интуитивность), большинство операций управления пакетами в Arch Linux имеют формат:

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

pacman -Ss <package>

Как и большинство команд pacman, данная команда не особенно очевидна. Кроме того, pacman поставляется с утилитой pacsearch, которая работает так же, но имеет некоторые преимущества над pacman-Ss:

  • цветовое выделение
  • категории установленных пакетов (local)

В некоторых случаях данному критерию поиска будет соответствовать несколько пакетов (особенно при использовании AUR helper типа yaourt). Регулярные выражения могут помочь сузить список. Например, нужно найти все, что связано с инструментом ack. Стандартный поиск неизбежно вернет много результатов, которые можно отсортировать (по словам package, hack или playback).

Тем не менее, не все пакеты начинаются с ack. Символ вставки (^) перед поисковым словом выведет только пакеты, которые начинаются с этого слова. Это работает с pacsearch, pacman и yaourt.

Чтобы регулярное выражение работало должным образом, его нужно взять в кавычки.

Чтобы получить список установленных пакетов, соответствующих поисковому запросу, передайте результат в grep local. Опция –А 1 говорит grep включить одну строку после каждого совпадения (в данном случае это описание пакета).

pacsearch linux | grep local -A 1

Кроме того, можно использовать команду pacman –Qs, чтобы получить результат без цветового выделения.

pacman -Qs linux

Чтобы команда pacman –Ss выводила цветные результаты, раскомментируйте Color в файле /etc/pacman.conf. Цветовое выделение команды pacman отличается от pacsearch; потому можно получить цветной результат при помощи обеих команд и выбрать более удобный.

Получение информации о пакете

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

Без аргументов данная команда выводит все пакеты системы. Кроме того, эта команда позволяет получить специализированную информацию об установленных пакетах.

Например, чтобы получить название каждого пакета и его размер:

pacman -Qi | grep -e "Name" -e "Installed Size"
Name : a52dec
Installed Size : 244.00 KiB
Name : aalib
Installed Size : 768.00 KiB
.

Команда pacman -Qi выводит информацию об установленных пакетах, а команда pacman –Si запрашивает в базе данных обширную информацию о пакете.

Команда pacman -Ql выводит список файлов, связанных с искомым пакетом.

pacman -Ql vi
vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi
.

pacman -Qlq vi
/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi
.

Команду pacman -Qlq | grep bin можно использовать, чтобы найти все файлы данного пакета, которые находятся в папке bin (и потому, вероятнее всего, являются исполняемыми). Это удобно, если команда, связанная с пакетом, отличается от имени пакета.

pacman -Qql pacman | grep bin
/usr/bin/
/usr/bin/bacman
/usr/bin/checkupdates
/usr/bin/cleanupdelta
/usr/bin/makepkg
/usr/bin/paccache
/usr/bin/pacdiff
/usr/bin/paclist
/usr/bin/paclog-pkglist
/usr/bin/pacman
/usr/bin/pacman-db-upgrade
/usr/bin/pacman-key
/usr/bin/pacman-optimize
/usr/bin/pacscripts
/usr/bin/pacsearch
/usr/bin/pacsort
/usr/bin/pacsysclean
/usr/bin/pactree
/usr/bin/pkgdelta
/usr/bin/rankmirrors
/usr/bin/repo-add
/usr/bin/repo-elephant
/usr/bin/repo-remove
/usr/bin/testdb
/usr/bin/testpkg
/usr/bin/updpkgsums
/usr/bin/vercmp

Хранение пакетов

Самый простой способ узнать, какие из хранящихся пакетов занимают больше всего места в системе – это использовать команду pacsysclean, которая поставляется вместе с pacman.

Утилита pacgraph имеет более сложный вывод; она создает графическое отображение зависимостей отдельных пакетов в формате SVG и PNG.

Утилиту pacgraph можно найти в репозитории сообщества.

sudo pacman -S pacgraph

Команда pacgraph -c выведет результат в консоль, подобно pacsysclean. При большом количестве пакетов выход pacgraph может получиться достаточно громоздким, так как он (в отличие от pacsysclean) сортируется от большего к меньшему. В таком случае выход можно передать в head, чтобы оставить только самые объемные пакеты.

pacgraph -c | head
Autodetected Arch.
Loading package info
Total size: 730MB
114MB linux
103MB libtool
84MB pacgraph
40MB imagemagick
25784kB ppl
22264kB nmap
17295kB pkgfile

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

Команда pacgraph, запущенная без аргументов, создает файл SVG и по возможности PNG.

Примечание: хотя утилита pacgraph рекомендует открывать файл PNG после установки ImageMagick и Libpng, на момент написания данной статьи она не генерирует PNG без редактора Inkscape, который имеет довольно много зависимостей.

Загрузка и установка пакетов

Стандартный способ установки или обновления пакета – команда pacman –S.

sudo pacman -S <package>

Пакеты часто имеют аналогичный шаблон в своих названиях. Скобки могут использоваться в качестве ярлыка.

sudo pacman -S lua-

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

sudo pacman -Sw <package>

Если пакет уже загружен или известен его url, его можно установить напрямую:

sudo pacman -U <package_path>

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

Поскольку pacman основывается на синхронизации пакета с удаленным репозиторием, pacman -S может обновить уже установленный пакет.

Кроме того, pacman может вывести список устаревших пакетов.

К сожалению, этот список не отображает версию пакета в репозитории, так что определить, насколько устарел каждый пакет, невозможно. В случае необходимости используйте сторонние менеджеры пакетов или напишите скрипт, который связывает результаты команд pacman -Qi и pacman –Si и сможет вывести нужную информацию.

Чтобы получить версии пакетов с помощью команд pacman -Qi или pacman –Si, используйте регулярное выражение:

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'
3.8.4-1

Затем напишите скрипт, отображающий пакеты и версии одновременно.

for i in $(pacman -Qqu)
do
printf "$i: "
printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
echo "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Менеджер пакетов pacman позволяет обновлять все пакеты сразу, но делать этого не рекомендуется, поскольку Arch является роллинг-релизом (rolling release distribution). При возникновении каких-либо проблем может уйти немало времени н то, чтобы установить их причины.

sudo pacman -Syu

Даунгрейд пакетов

Официально Arch Linux не поддерживает устаревшие пакеты. Вместо этого используйте кэш пакетов, а также Arch Rollback Machine и т.п.

Кэш пакетов

Каждый загруженный при помощи pacman пакет хранится в /var/cache/pacman/pkg.

ls /var/cache/pacman/pkg | grep linux
linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz
.

Чтобы вернуть версию пакета в кэше, просто установите этот пакет.

pacman -U <путь_к_файлу_в_кэше>

Что такое Arch Rollback Machine?

Пакеты ARM можно установить удаленно с помощью pacman –U:

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

Они ищут устаревшие версии в кэше и ARM.

downgrade <пакет>
downgrader <пакет>

Оба инструмента можно найти в AUR, следовательно, проще всего установить их при помощи yaourt.

Примечание: ARM является неофициальным проектом, который однажды был закрыт; потому лучше не чистить кэш на случай если ARM снова перестанет работать. Чтобы развернуть собственный ARM, используйте проект NodeJS на github.

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

Следующая команда удаляет пакет только при условии, что другие программы не зависят от него; при этом зависимости пакета удалены не будут.

sudo pacman -R <пакет>

Следующая команда удаляет пакет, от которого не зависят другие программы, а также те его зависимости, которые не нужны другим пакетам.

sudo pacman -Rs <пакет>

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

sudo pacman -Rdd <пакет>

Неофициальные пакеты

Основная часть пакетов Arch Linux находится в репозитории Arch User Repository. Такие пакеты лучше всего устанавливать при помощи инструментов AUR Helpers.

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