6.8 Что такое виртуальный пакет?
Виртуальный пакет — это общее имя, применимое к любому из группы пакетов, все
из которых обеспечивают выполнение какой либо функции. Например, программы
tin и trn, обе являются программами для чтения
новостей и должны удовлетворять зависимость программы, которая требует наличия
в системе программы чтения новостей, для своей работы. Поэтому обе
предоставляют «виртуальный пакет», называемый
news-reader.
Аналогично, smail и sendmail обеспечивают функции
почтового транспортного агента. Поэтому они предоставляют виртуальный пакет
«mail transport agent». Если один из них установлен, то любая
программа, зависящая от пакета mail-transport-agent, будет
удовлетворена существованием данного виртуального пакета.
Кроме того, если в системе установлено более одного пакета, предоставляющего
определенный виртуальный пакет, то Debian обеспечивает системного
администратора механизмом, позволяющим определить один из этих пакетов
предпочтительным. Для этого имеется команда update-alternatives,
описанная далее в .
Установка программ с помощью apt
Перед тем как говорить непосредственно про Debian, нужно рассмотреть apt. Этот пакетный менеджер был специально разработан для Debian и потом стал использоваться в других основанных на нем дистрибутивах. Синтаксис для работы с утилитой такой:
$ sudo apt опции команда имя_пакета
Вот основные команды apt, которые вы можете использовать для управления пакетами:
- download — скачать пакет, но не устанавливать;
- update — используется для обновления информации о списках пакетов в репозиториях;
- upgrade — обновление системы без удаления пакетов;
- full-upgrade — полное обновление системы с удалением конфликтующих зависимостей;
- install — установка пакета;
- remove — удаление пакета без удаления конфигурационных файлов;
- purge — полное удаление пакета;
- autoremove — автоматическое ненужных удаление пакетов;
- search — поиск пакета в локальной базе данных;
- show — посмотреть информацию о пакете.
Кроме того, утилите можно передать некоторые опции, основные:
- -c — сторонний конфигурационный файл;
- -o — строка конфигурации;
- -t — версия релиза для которой устанавливать пакет;
- -f — выполнить операцию принудительно.
Таким образом, для установки пакета из репозиториев достаточно набрать:
А для удаления пакета наберите:
Вы можете искать пакеты с помощью команды search:
Но куда более интересны политики управления репозиториями и установка отдельных пакетов из определенных хранилищ. Особенно это актуально для Debian, чтобы не добавлять нестабильный репозиторий полностью, а устанавливать из него только отдельные пакеты. Для решения таких задач существует настройка политики управления репозиториями.
С помощью политик вы можете настроить из каких репозиториев будет выполняться установка deb пакетов в debian в первую очередь. Мы рассматривали репозитории Debian и как их добавлять в отдельной статье. Допустим, вы добавили backports, testing и unstable. Теперь, чтобы настроить для них приоритеты откройте конфигурационный файл /etc/apt/preferences и добавьте в него строки:
Package: *
Pin: release a=stretch-backports
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 100
Чем выше значение Priority, тем выше приоритет. Сначала мы указываем с помощью инструкции Package имя пакета, а затем репозиторий и его приоритет. В нашем примере самый высокий приоритет имеет репозиторий stable, если там пакета нет, он будет установлен из backports, и только потом из testing и из unstable. Теперь добавление нестабильных репозиториев не будет ломать систему. А если вы захотите установить пакет из нестабильного репозитория, то просто укажите его с помощью опции -t. Например, для testing:
Очень удобно и не ломает систему.
6. Удаление осиротевших пакетов
Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:
sudo apt autoremove
Для Debian и производных предыдущая команда абсолютно безопасна.
В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:
pacman -Qdt
Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!
Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:
sudo pacman -Rns $(pacman -Qtdq)
Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.
Технические проблемы
Здесь стоит говорить о нехватке системных ресурсов в автоматизируемой организации (или о несоответствии их требованиям программы):
-
компьютеров,
-
офисной сети,
-
средств связи.
Нередко в распоряжении компании-заказчика просто нет тех технических средств, которые позволили ли бы программе работать корректно. Банальная нехватка места на сервере – уже причина того, что IT-решение просто не получится использовать.
Справедливости ради стоит сказать, что сложность решения проблем технического характера достаточно низкая. Решается она путём модернизации оборудования. Здесь же нужно отметить, что мешает внедрению компьютерной программы данная проблема сильно. Ведь если речь идёт о работе в условиях ограниченного бюджета или если обосновать необходимость покупки нового оборудования не удаётся (перед высшим руководством компании, например), то ситуация приобретает сложный характер. Пока согласовываются все моменты покупки нового оборудования, его замены и тому подобное, теряется время, которое является, пожалуй, самым ценным фактором применительно к понятию «автоматизация». В итоге компания не может приступить к процедуре налаживания работы на некоторых участках, созданию порядка в ведении бизнеса или учёте.
Как ни странно, но следующую сложность при реализации IT-проектов также стоит относить к категории технических проблем. Речь идёт о наличии и уровне подготовки IT-персонала компании-заказчика. Например, довольно часто системный администратор не знает специфики внедряемой программы и потому затрудняется её поддерживать. Вообще понятие «системный администратор» в последние 10-15 лет стали сильно упрощать. Сотрудник, который может сделать дефрагментацию диска, переустановить систему – уже гордо зовётся «системным администратором». На самом деле, роль этого специалиста в жизни компании, которая, к тому же, приняла решение об автоматизации деятельности, должна быть гораздо важнее. Это должен быть сильный специалист, с широким спектром знаний в области IT и способностью довольно быстро понимать специфику ПО
Применительно к отраслевым рынкам это очень важно. Также нужно отметить, что сами пользователи и операторы программы бывают недостаточно подготовлены для работы с системными функциями (импортом данных, например)
То есть они теряются при виде нового ПО. Конечно, путём обучения можно эту проблему решить, но здесь виной всему и нежелание учиться чему-то новому (об этом поговорим чуть позже). Впрочем, компьютерная грамотность сотрудников отечественных компаний порой является крайне низкой. Сложность решения проблемы, связанной с уровнем подготовки IT-персонала, можно охарактеризовать как среднюю. Решается она путём обучения системного администратора или другого IT-специалиста. Здесь, безусловно, руководству нужно идти на встречные шаги, выделять бюджет и время на обучение сотрудников, не пускать этот процесс на самотёк. Внедрению компьютерной программы упомянутая выше категория проблем мешает заметно (средне). В случае выделения бюджета компания-заказчик программного решения может обратиться за помощью к компании-разработчику. Как правило, солидные IT-компании, наряду с возможностью разработки специализированного ПО, обладают и достаточным опытом, знаниями, навыками и даже некими педагогическими способностями для обучения персонала.
Для чего нужны зависимости
Если вы уже устанавливали пакеты в Linux, то вы могли обратить внимание, что вы вводите имя одной программы для установки, но зачастую одновременно с ней устанавливаются ещё и другие пакеты — это зависимости.
Зависимости — это библиотеки, программы, драйверы и прочее, что необходимо для работы другой программы. Такой подход позволяет один и тот же код (библиотеку) использовать в различных программах. К примеру, мы пишем приложение, в которое ходим добавить сетевые функции с поддержкой различных протоколов — нам не нужно всё писать с нуля, мы можем воспользоваться библиотекой libcurl (от авторов программы cURL), которая уже поддерживает десятки сетевых протоколов. И так могут поступить многие другие программы — они все могут использовать одну библиотеку без необходимости дублировать код — достаточно установить библиотеку в ОС один раз.
Для работы некоторых программ необходимы другие программы, либо они являются обёртками, графическими интерфейсами для облегчения использования утилиты. Такие программы также являются зависимостями.
6.11 Что означают слова неизвестно/установить/удалить/очистить/удерживать (unknown/install/remove/purge/hold) в статусе пакета?
Эти флаги определяют, что пользователь хочет сделать с пакетом (что
определяется либо действиями пользователя при работе в разделе
«Выбор» («Select») программы dselect, либо
непосредственными обращениями пользователя к dpkg).
Их значения:
неизвестно (unknown) — пользователь никогда не проявлял интереса к пакету.
установить (install) — пользователь хочет, чтобы пакет был установлен или
обновлен.
удалить (remove) — пользователь хочет, чтобы пакет был удален, но не хочет
удалять какие-либо из его файлов конфигурации.
очистить (purge) — пользователь хочет, чтобы пакет был удален полностью,
включая его файлы конфигурации.
захватить (hold) — пользователь хочет, чтобы над пакетом не совершалось никаких
действий, т.е., он хочет сохранить текущую версию пакета в том состоянии в
котором она находится, какими бы они ни были.
Удаление пакетов Debian
Самый простой способ удалить программу Debian, которая вам больше не нужна — это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:
$ sudo apt-get remove имя_программы
Или можно удалить все пакеты, которые касаются этой программы, например:
$ sudo apt-get remove имя_программы*
Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.
Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию —purge или команду purge:
А чтобы выполнить удаление пакетов debian, которые больше не нужны после установки используйте опцию —auto-remove, она аналогична запуску apt с командой autoremove:
Или просто:
Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:
Дальше смотрим имя пакета, которому принадлежит выбранный файл:
А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или —remove. Но тут вам придется указать все зависимости:
У dpkg есть свой аналог команды purge, это опция -p или —purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:
Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию —force-remove-reinstreq:
Также можно использовать опцию —force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:
Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:
Затем для поиска всех пакетов, которые можно удалить наберите:
Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:
Имя каждого пакета будет подставлено в конец строки.
Дюжина рекомендаций по развитию навыков решения проблем и принятия решений
1. Определите проблему, требующую решения. Подумайте:
- какую информацию вам нужно собрать;
- из каких источников ее получить: отраслевые отчеты, эксперты, клиенты;
- что вы будете считать лишней и неподходящей информацией;
- что будет проблемой, а что – нет;
- по каким критериям выбираете возможные решения;
- что будет хорошим результатом.
2. Начинайте с конца. Прежде чем собирать информацию, подумайте, что вы будете делать после решения проблемы. Это поможет сфокусировать усилия и сократить затраты на предварительный анализ и генерацию идей. Если ответ «ничего», возможно, эту проблему не нужно решать в принципе.
3. Ищите «причины причин» имеющихся событий. Обычно настоящая проблема находится глубже на два—три слоя, чем проблемы на поверхности.
4. Насыщайте свое «фоновое знание» контекста. Оставайтесь в курсе событий своей специализации, регулярно читайте отраслевые публикации, обзоры и дискуссии.
5. Обменивайтесь опытом с коллегами. Обсуждайте подходами к решению проблем с командой, коллегами в компании, отрасли или профессии.
6. Ищите интересные подходы в других областях. Коллекционируйте метафоры решения проблем и аналогии из других профессий.
7. Визуализируйте свои идеи. Неаккуратные закорючки, нарисованные от руки на листке бумаги, или элегантные графики в Excel: визуальное отображение ситуации, проблем и возможных путей решения добавит ясности и разовьет абстрактное мышление.
8. Изучайте разные источники. Знакомьтесь с разными моделями решения проблем, но главное — ставьте себе задачи на экспериментирование. Пробуйте как можно быстрее применить тот или иной подход, чтобы собрать собственный инструментарий.
9. Наблюдайте за профессиональными аналитиками. Попросите аналитиков описать ключевые этапы их работы. Фиксируйте для себя, как именно они подходят к сбору данных, обработке, анализу и интерпретации данных.
10. Участвуйте в мозговых штурмах. Присоединяйтесь к генерации идей и инициируйте их сами, но убедитесь, что в основе обсуждения лежит настоящая проблема.
11. Ищите возможности, чтобы применить навыки:
- сбора подходящей информации;
- упрощения сложной информации;
- формирования выводов на основе ограниченных данных;
- определения критериев оценки;
- генерации и отбор идей;
- оценки своих личностных характеристик и их влияния на решения.
12. Запросите обратную связь. Попросите людей, с которыми вы работаете, дать обратную связь:
какую информацию вы обычно принимаете во внимание;
как точно вы формулируете выводы о ситуации;
понятно ли вы описываете суть проблемы;
насколько оригинальные и при этом действенные решения вы обычно предлагаете;
внимательны ли вы к анализу результатов.
Больше информации и новостей о трендах образования в нашем Telegram-канале. Подписывайтесь.
Как узнать, в каком пакете содержится файл
Если вы компилируете программы из исходных кодов, то вы, наверняка, сталкивались с ошибками компиляции, когда программа не находит какой-либо файл и компиляция обрывается. Что делать в данной ситуации? Понятно, что нужно установить пакет, который содержит требуемый файл. Но как узнать имя этого пакета?
С помощью программы apt-file можно искать по именам файлов в пакетах (как установленных, так и нет). Также она может показать все файлы в пакете.
Установка программы:
sudo apt install apt-file
Сразу после установки кэш данных о программах пуст. Чтобы его обновить нужно выполнить команду:
sudo apt-file update
Когда всё готово, то поиск осуществляется так:
apt-file search ИМЯ-ФАЙЛА
К примеру поиск файла ffi.h:
apt-file search ffi.h
У программы apt-file есть альтернативы, подробности смотрите в статье «Как в Linux узнать, в каком пакете содержится файл».
6.7 Что такое Требуемый/Важный/Стандартный/Необязательный/Дополнительный (Required/Important/Standard/Optional/Extra) пакет?
Для каждого пакета Debian создателями дистрибутива определен приоритет
(priority), в качестве помощи для управления пакетами. Приоритеты
следующие:
Требуемый (Required): пакет, который необходим для правильного
функционирования системы.
Сюда включены все инструменты, необходимые для устранения неполадок в системе.
Вам не следует удалять эти пакеты, иначе ваша система может перестать работать,
и вы, что не исключено, даже не сможете использовать dpkg для того, чтобы
вернуть все на свои места. Функциональность системы, в которой установлены
только Требуемые пакеты, не слишком высока, но достаточна для того, чтобы
позволить системному администратору загрузить ее и установить больше
програмного обеспечения.
Важные (Important) пакеты содержат программы, которые должны
иметься в любой Unix-подобной системе.
Без этих программ не смогут работать или не будут обладать полной
функциональностью другие пакеты. Сюда НЕ относятся Emacs, X11, Tex
или любое другое большое приложение. Это пакеты образующие базовую структуру.
Стандартные (Standard) пакеты являются стандартными для любой
Linux системы, включая сравнительно небольшие, но не слишком ограниченные,
системы работающие только в текстовом режиме.
Это то, что будет установлено по умолчанию, если пользователь не выберет
чего-либо еще. Сюда не относятся многие большие приложения, но входят такие,
как Emacs и ограниченное подмножество TeX и LaTeX.
Необязательные (Optional) пакеты содержат все то, что вы, как
правило, можете захотеть установить, если не вполне осознаете свои потребности.
Сюда входят X11, полный дистрибутив TeX, и множество других приложений.
Дополнительные (Extra): пакеты, которые либо конфликтуют с
другими пакетами, имеющими более высокий приоритет, и применимые только тогда,
когда вы знаете, что это такое, либо имеющие специализированные требования,
которые делают их неподходящими для раздела «Optional».
3. Контрольные суммы, Conffiles
В дополнение к скриптам сопровождающего и управляющим данным, уже упомянутым в предыдущих разделах, архив control.tar.gz пакета Debian может содержать другие интересные файлы:
ar p /var/cache/apt/archives/bash_4.4-2_amd64.deb control.tar.gz | tar -tzf - ./ ./conffiles ./control ./md5sums ./postinst ./postrm ./preinst ./prerm
Первый — md5sums — содержит контрольные суммы MD5 для всех файлов пакета. Его главное преимущество заключается в том, что он позволяет dpkg —verify проверять, были ли эти файлы изменены с момента их установки
Обратите внимание, что когда этот файл не существует, dpkg будет генерировать его динамически во время установки (и сохранять его в базе данных dpkg, как и другие контрольные файлы).
conffiles перечисляет файлы пакетов, которые должны обрабатываться как файлы конфигурации. Файлы конфигурации могут быть изменены администратором, и dpkg попытается сохранить эти изменения во время обновления пакета.
По сути, в этой ситуации dpkg ведёт себя максимально разумно: если стандартный файл конфигурации не изменился между двумя версиями, он ничего не делает. Однако, если файл изменился, он попытается обновить этот файл. Возможны два случая: либо администратор не трогал этот файл конфигурации, и в этом случае dpkg автоматически устанавливает новую версию; или файл был изменён, и в этом случае dpkg спрашивает администратора, какую версию он хочет использовать (старую с модификациями или новую, поставляемую с пакетом). Чтобы помочь в принятии этого решения, dpkg предлагает отобразить diff (различия), которые показывает разницу между двумя версиями. Если вы решите сохранить старую версию, новая будет сохранена в том же месте в файле с суффиксом .dpkg-dist. Если вы выбираете новую версию, старая сохраняется в файле с суффиксом .dpkg-old. Другое доступное действие состоит в кратковременном прерывании dpkg для редактирования файла и попытке восстановления соответствующих изменений (ранее идентифицированных с помощью diff).
dpkg обрабатывает обновления файла конфигурации, но при этом регулярно прерывает свою работу, чтобы запросить ввод у администратора. Это может быть трудоёмким и неудобным. К счастью, вы можете указать dpkg автоматически отвечать на эти запросы. Опция —force-confold сохраняет старую версию файла, в то время как —force-confnew будет использовать новую версию. Эти варианты соблюдаются, даже если файл не был изменён администратором, что лишь редко даёт желаемый эффект. Добавление параметра —force-confdef указывает dpkg самостоятельно решать, когда это возможно (другими словами, когда исходный файл конфигурации не был затронут), и использует —force-confnew или —force-confold для других случаев.
Эти параметры применяются к dpkg, но в большинстве случаев администратор будет работать напрямую с программами aptitude или apt. Таким образом, необходимо знать синтаксис, используемый для указания параметров, передаваемых команде dpkg (их интерфейсы командной строки очень похожи).
apt -o DPkg::options::="--force-confdef" -o DPkg::options::="--force-confold" full-upgrade
Эти параметры могут быть сохранены непосредственно в конфигурации apt. Для этого просто напишите следующую строку в файл /etc/apt/apt.conf.d/local:
DPkg::options { "--force-confdef"; "--force-confold"; }
Включение этой опции в файл конфигурации означает, что она также будет использоваться в графическом интерфейсе, таком как aptitude.
И наоборот, вы также можете заставить dpkg задавать вопросы о файле конфигурации. Опция —force-confask указывает dpkg отображать вопросы о файлах конфигурации даже в тех случаях, когда они обычно не нужны. Таким образом, при переустановке пакета с этой опцией dpkg снова задаст вопросы для всех файлов конфигурации, изменённых администратором. Это очень удобно, особенно для переустановки исходного файла конфигурации, если он был удалён, а другая копия недоступна: обычная переустановка не будет работать, поскольку dpkg рассматривает удаление как форму допустимого изменения и, таким образом, не устанавливает нужный файл конфигурации.
Интерфейсный модуль или линейная карта
PIC — Physical Interface Card
- Восстанавливает битовый поток из электрических импульсов
- Восстанавливает пакет из набора битов.
- Удаляет служебную информацию (как то: преамбула, ).
- Вычисляет контрольную сумму и
- а) если она бьётся со значением в пакете, пропускает его, удалив лишние заголовки, например .
- б) если не бьётся — отбрасывает пакет и увеличивает счётчик отброшенных пакетов с ошибкой.
- Подсчитывает статистику:
- количество пакетов
- общий объём трафика
- пиковые значения
- утилизация порта
- количество Unicast/Broadcast/Multicast
- PIC также может восстановить сигнал SynchroEthernet, если необходимо.
FE — Forwarding Engine
- Запросы к CAM/TCAM
- Трансформация Soft Table в Hard Table
- Принятие решения о передаче пакета (ACL, полисинг)
- Коммутация/Маршрутизация
- Маркировка приоритетов
- Зеркалирование
- Обнаружение протокольных пакетов
- Обработка сигналов/пакетов от CPU.
ВНИМАНИЕIngress FEEgress FE
- Вид будущих заголовков
- Приоритет внутри узла и при передаче вовне
- Выходной FE и интерфейс
- Какой именно из физических членов или
* с небольшой оговоркой, что выходной тракт всё-таки может ещё произвести репликацию пакета или зарезать его из-за переполненного буфера.
Как работают репозитории приложений Linux
Сопроводители дистрибутивов Linux отбирают программы для помещения в репозитории. Эти программы упаковываются в пакеты, для Debian и производных это файлы с расширением .deb. В эти пакеты помещаются скомпилированные файлы программ, файлы настроек и все другие, необходимые для работы прогрммы файлы, а также метаинформация, в которой указано, какие ещё пакеты нужно установить для разрешения зависимостей, а также какие действия нужно выполнить перед и после установки пакета, а также перед и после его удаления.
Для установки пакета из репозитория достаточно выполнить команду apt install с указанием имени пакета. Эта команда сама найдёт адрес файла .deb, скачает его, определит и скачает необходимые зависимости и затем всё это установит.
В случае выхода новых версий пакетов, их все можно обновить одной командой — очень удобно.
3.2 Установка пакетов
Наконец-то, ожидание окончено! Ваш sources.list готов и списки доступных
пакетов обновлены, теперь вам только остается дать команду
apt-get, чтобы установить предпочитаемый пакет. Например, вы
можете запустить:
apt-get install xchat
APT будет искать в своей базе данных наиболее свежие версии пакетов и будет
скачивать их из соответствующих архивов так, как они указаны в
sources.list. В случаях, когда пакет зависит от другого — как в
варианте ниже — APT проверит зависимости и установит необходимые пакеты. См.
пример:
@[/] # apt-get install nautilus Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 17.2MB will be used. Do you want to continue? [Y/n]
Пакет зависит от совместно-используемых библиотек,
поэтому APT скачает их из архива. Если бы вы указали имена этих библиотек в
командной строке apt-get, то APT не стал бы спрашивать у вас
разрешения продолжать установку; он бы автоматически решил, что вы хотите
установить все эти пакеты.
Это означает, что APT запрашивает подтверждения только тогда, когда нужно
установить пакеты, которые не были перечислены в командной строке.
Вам могут быть полезны следующие опции apt-get:
-h справка -d только загрузить - не устанавливать и не распаковывать архивы -s ничего не делать реально, имитировать выполнение -y предполагается ответ Yes на все вопросы, сами вопросы не выводить -f продолжать, даже если проверка целостности не удачна -u плюс ко всему показывать список обновленных пакетов
В одной строке можно задавать несколько пакетов. Скачанные из сети файлы
помещаются в каталог для дальнейшей установки
/var/cache/apt/archives.
Также, вы можете указывать пакеты для удаления в той же командной строке.
Просто поместите ‘-‘ сразу после имени удаляемого пакета, например:
@[/] # apt-get install nautilus gnome-panel- Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Более подробную информацию об удалении пакетов можно найти в разделе .
Если вы обнаружили, что пакет испортился, или просто хотите переустановить
файлы пакета более новой доступной версии, то вы можете использовать опцию
—reinstall, например:
@[/] # apt-get --reinstall install gdm Reading Package Lists... Done Building Dependency Tree... Done 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. Need to get 0B/182kB of archives. After unpacking 0B will be used. Do you want to continue? [Y/n]
При создании этого руководства APT имел версию 0.5.3, которая была текущей
версией в Debian `unstable’ (sid) на время написания. Если вы
установили эту версию, то вам доступны некоторые дополнительные возможности: вы
можете использовать команды типа apt-get install пакет/дистрибутив
для установки пакетов из указанных дистрибутивов, или apt-get install
пакет=версия. Например:
apt-get install nautilus/unstable
установит nautilus из дистрибутива `unstable’ (нестабильный), даже если вы
работаете на `stable’ (стабильном). Для ‘distribution’ допускаются значения
stable, testing и unstable.
Вы можете предпочесть использование ключа -t для выбора целевого
дистрибутива, указывающего предпочесть указанный
дистрибутив при обработке зависимостей.
ВАЖНО: `unstable’ версия Debian — это самая первая версия, в которой
появляются новейшие версии пакетов Debian. Этот дистрибутив подвергается
воздействию изменений, сделанных в пакетах, и маленьким, и большим, каждое из
которых может воздействовать на множество пакетов или систему в целом
По этой
причине, эта версия дистрибутива не должна использоваться неопытными
пользователями или теми, кто ожидает стабильности.
Дистрибутив `testing’ (тестируемый) несколько лучше `unstable’ в отношении
стабильности, но на производстве лучше все-таки использовать стабильный
дистрибутив.
Фон
В самых ранних системах Linux пакеты устанавливались или добавлялись путем получения исходного кода из построенного проекта. Затем пользователи скомпилировали исходный код в исполняемые двоичные файлы, включая справочные страницы, библиотеки и файлы конфигурации, чтобы создать необходимую программу. Пользователь может найти программы, уже скомпилированные кем-то, чтобы добавить в систему лучший сценарий.
Скомпилированная программа представляла собой tarball: один файл, содержащий несколько файлов, собранных для удобного распространения. Другими словами, после установки из архива файлы распространяются по системе Linux в различных соответствующих папках и подкаталогах, таких как/etc.,/Bin,/var,/usr/share/man и т. д.
Несмотря на то, что создать tarball-файл легко, у него есть некоторые проблемы, такие как:
- Отслеживание необходимых зависимостей
- Пользователь не осведомлен о файлах конфигурации и документации, находящихся в системе. Это еще больше усложняет процесс удаления программного обеспечения.
- Тарболлы не содержат метаданных программного обеспечения, что затрудняет исправление ошибок и обновление до новой версии.
Чтобы решить эти проблемы, Linux представила сложную систему управления пакетами, разделив все дистрибутивы Linux на один из двух основных форматов упаковки, известных как DEB и RPM. Статья посвящена системе управления пакетами на основе Debian, используемой Debian, и производным от дистрибутива Debian, таким как Ubuntu, Linux Mint и т. д.
Прежде чем перейти к демонстрации различных задач управления пакетами, давайте сначала объясним, что такое файл пакета Debian и чем все описанные выше менеджеры пакетов Debian отличаются друг от друга.
3.3 Удаление пакетов
Если пакет вам больше не нужен, то вы можете удалить его из вашей системы,
используя APT. Чтобы это сделать просто введите: apt-get remove
package. Например:
@[/] # apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Из вышеприведенного примера можно видеть, что APT также предлагает удалить
пакеты, от которых зависит пакет, предлагаемый вами к удалению. Способа
удалить пакет при помощи APT без удаления пакетов, от которых он зависит, нет.
Вышеприведенная команда удалит пакеты, но оставит их
настроечные файлы, если они есть. Для полного удаления пакета запустите:
@[/] # apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n]
Обратите внимание на ‘*’ после имен. Это указывает на то, что будут удалены
настроечные файлы для каждого из этих пакетов.. Аналогично действию install, вы можете инвертировать действие
remove для определенных пакетов
В случае удаления, если вы
добавите знак ‘+’ справа от имени пакета, то пакет будет
установлен, а не удален.
Аналогично действию install, вы можете инвертировать действие
remove для определенных пакетов. В случае удаления, если вы
добавите знак ‘+’ справа от имени пакета, то пакет будет
установлен, а не удален.
@[/] # apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n]
Обратите внимание на то, что распечатывает дополнительные
пакеты, которые будут установлены (т.е., пакеты, которые будут установлены для
правильной работы запрашиваемых к установке пакетов), удаляемые пакеты и затем
пакеты, которые будут установлены (также включая дополнительные пакеты).
Удаление пакетов с помощью программного обеспечения Ubuntu Software Center
Если вам не нравится командная строка, вы можете удалить приложения через Центр программного обеспечения Ubuntu (USC). Эта утилита предоставляет графический интерфейс для поиска, установки и удаления приложений.
-
На экране «Действия» найдите «Программное обеспечение Ubuntu» и щелкните оранжевый значок USC. Это откроет инструмент USC.
-
Чтобы получить список всех установленных приложений, щелкните вкладку «Установленные» на верхней панели навигации.
-
Прокрутите вниз, пока не найдете приложение, которое хотите удалить, и нажмите кнопку «Удалить» рядом с ним.
Инструмент Ubuntu Software показывает только установленные приложения с графическим пользовательским интерфейсом (GUI). Если вы не можете найти пакет, который хотите удалить, вам следует удалить его из командной строки.
Заключение
Операционная система должна быть аккуратной и чистой. Джунки, системные журналы, остатки приложений кеширования могут замедлить работу системы, что сильно скажется на производительности и, в конечном итоге, подвергнет систему потенциальным угрозам.
Часто мы получаем много беспорядка в системе, потому что мы не знаем, как организовать систему, удаляя ненужные и повторяющиеся файлы, что замедляет работу системы. Вы можете вернуть использованное пространство ненужными файлами с помощью терминала командной строки или использования приложений с графическим интерфейсом, о которых мы уже упоминали в этой статье.
Мы надеемся, что эта статья поможет вам освободить место на диске и повысить производительность вашей операционной системы. Сообщите нам, если у вас возникнут дополнительные вопросы или советы.