Почему «sudo apt-get install yum *» установило 500 МБ пакетов?

Я попытался установить yum с помощью следующей команды

  sudo apt-get install yum *  

, что потребовало больше пакетов более 500 мб и дисковое пространство более 1 гб. Что делает эта команда? и если это неправильно, как отменить эти изменения?


Команда

  sudo apt-get install yum *  

устанавливает все пакеты с именем, содержащим «yu» (при условии, что у вас нет файлов, соответствующих yum * в папке, в которой вы запускаете команду). Скорее всего, вам это не нужно.

Технически yum * интерпретируется как регулярное выражение, означающее « yu , за которым следует ноль или более экземпляров m «, и это используется для сопоставления подстрок.

Чтобы отменить изменения, см. /var/log/ apt/history.log который упаковывает вас с установленной командой и удаляет их.

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


Флориан Диш уже объяснил, что произошло, когда вы запустили команду — она ​​устанавливает все пакеты, которые соответствуют yum * регулярное выражение. Я собираюсь объяснить, как это можно отменить.

apt имеет файл журнала /var/log/apt/history.log , где у вас есть дата и пакеты, которые были установлены. Взгляните на образец записи, который у меня есть:

  Дата начала: 2015-09-29 13:10: 47Commandline: apt-get install fail2banInstall: python-pyinotify: amd64  (0.9.4-1build1, автоматически), fail2ban: amd64 (0.8.11-1) End-Date: 2015-09-29 13:10:54  

В нем указано, когда загрузка началась, когда закончилась, между ними отображается точное выполнение команды, а Install: показывает все пакеты, которые были установлены в формате имя-пакета: архитектура (версия ) .

Итак, чтобы отменить действие запущенной вами команды, вам нужно выбрать все перечисленные пакеты и запустить sudo apt-get remove на них.

Вот небольшой сценарий awk, который может предоставить вам список всех этих пакетов.

  awk '/ Командная строка: apt-get install yum/,/End-Date/{for (i = 1; i 

Что он делает, он выделяет весь текст между Командная строка: apt-get install yum и End-Date , находит все поля, содержащие строку : amd64 , и распечатывает их без этой части. Не забудьте заменить amd64 своей архитектурой , что вы можете узнать с помощью dpkg --print-architecture

Например, вот краткий вывод моей команды, выполненной для apt-get install yakuake

  xieerqi: $ awk '/Commandline: apt-get install yakuake /,/Дата окончания/{для (я = 1; я  libkde3support4ntrack-module-libnl-0libkrosscore4libqapt2oxygen-icon-themelibktexteditor4kdelibs5-datalibnepomukcleaner4libkdeui5libkdeclarative5libthreadweaver4phonon-#ivkdeclarative5libthreadweaver4phonon-#ivk-end>   >   

0


Как уже объяснил Флориан, использование регулярного выражения без надлежащего понимания имеет негативные последствия. То, что звездочка в одной команде однажды выполнила то, что вы ожидали, не означает, что это всегда подходящий или безопасный синтаксис. Другой пользователь, например, попытался установить инструменты разработки Android с помощью android * , в результате чего его система оставалась в состоянии не загружаться . Вам повезло.

Диспетчер пакетов предупреждал вас. Вот пример из проверенной виртуальной машины:

  $ sudo apt-get install yum * Чтение списков пакетов ... DoneBuilding дерева зависимостей Чтение информации о состоянии ... DoneNote, выбор 'yudit-common' для регулярного выражения 'yum *' Примечание, выбор 'libjs-yui3-min' для регулярного выражения  'yum *' Обратите внимание, выбирая 'libghc-tinyurl-prof-0.1. 0-bf4c8 'для регулярного выражения' yum * 'Примечание, выбор' ibus-table-jyutping 'для регулярного выражения' yum * 'Примечание, выбор' zekr-quran-recitation-online-ayyub 'для регулярного выражения' yum * 'Примечание, выбор'  python-yubico-tools 'для регулярного выражения' yum * 'Примечание, выбор' yhsm-yubikey-ksm 'для регулярного выражения' yum * 'Примечание, выбор' libghc-tinyurl-doc 'для регулярного выражения' yum * 'Примечание, выбор' libpam-  yubico 'для регулярного выражения' yum * 'Обратите внимание, выбор' yui-Compressor 'для регулярного выражения' yum * 'Примечание, выбор' python-yubico 'для регулярного выражения' yum * 'Примечание, выбор' python3-pyudev 'для регулярного выражения' yum * '  Обратите внимание, выбрав 'yubikey-ksm' для регулярного выражения 'yum *' Note, выбрав 'fcitx-table-jyutping' для регулярного выражения 'yum *' Note, выбрав 'yubikey-personalization-gui' для регулярного выражения 'yum *' Note, выбрав '  compass-yui-plugin 'для регулярного выражения' yum * 'Примечание, выбор' yum-utils 'для регулярного выражения' yum * 'Примечание, выбор' yubiserver 'для регулярного выражения' yum * 'Примечание, выбор' yubikey-personalization 'для регулярного выражения' yum  * 'Примечание, выбор' yum 'для регулярного выражения' yum * 'Note, выбор' fso-Sounds-yue-base 'для регулярного выражения' yum * 'Note, выбор' librime-data-jyutping 'для r  egex 'yum *' Примечание, выбор 'iwyu' для регулярного выражения 'yum *' Note, выбор 'libjs-yui3-common' для регулярного выражения 'yum *' Note, выбор 'libjs-yui3-full' для регулярного выражения 'yum *' Примечание  , выбрав 'yubikey-server-c' для регулярного выражения 'yum *' Примечание, выбрав 'libghc-tinyurl-prof' для регулярного выражения 'yum *' Примечание, выбрав 'python-pyudev' для регулярного выражения 'yum *' Примечание, выбрав 'libghc  -tinyurl-dev-0.1. 0-bf4c8 'для регулярного выражения' yum * 'Примечание, выбор' yorick-yutils 'для регулярного выражения' yum * 'Примечание, выбор' libkeyutils-dev 'для регулярного выражения' yum * 'Примечание, выбор' libkokyu-dev 'для регулярного выражения' yum  * 'Примечание, выбор' Quantum-plugin-ryu-agent 'для регулярного выражения' yum * 'Примечание, выбор' libyubikey-dev 'для регулярного выражения' yum * 'Примечание, выбор' keyutils 'для регулярного выражения' yum * 'Примечание, выбор'  libjs-yui 'для регулярного выражения' yum * 'Примечание, выбор' keyutils-dbg 'для регулярного выражения' yum * 'Примечание, выбор libjs-yui-doc для регулярного выражения' yum * 'Примечание, выбор libjs-yui2 для регулярного выражения  'yum *' Примечание, выбор 'yubikey-val' для регулярного выражения 'yum *' Примечание, выбор 'Quantum-plugin-ryu' для регулярного выражения 'yum *' Примечание, выбор 'python-myghtyutils' для регулярного выражения 'yum *' Примечание,  выбор 'libauth-yubikey-decrypter-perl' для регулярного выражения 'yum *' Примечание, выбор 'нейтрон-plugin-ryu' для регулярного выражения 'yum *' Примечание, выбор 'xfonts-ayu' для регулярного выражения 'yum *' Примечание, выбор '  libapache2-mod-authn-yubikey 'для регулярного выражения' yum * 'Примечание, выбор' fso-Sounds-yue-full 'для регулярного выражения' yum * 'Примечание, выбор' нейтрон-плагин-рю-агент 'для регулярного выражения' yum * '  Примечание  , выбрав 'yui-builder' для регулярного выражения 'yum *' Примечание, выбрав 'yudit' для регулярного выражения 'yum *' Примечание, выбрав 'libyubikey0' для регулярного выражения 'yum *' Примечание, выбрав 'yudit-doc' для регулярного выражения 'yum *  'Примечание, выбор' python2.7-yubico 'для регулярного выражения' yum * 'Примечание, выбор' libkokyu-6.0.3 'для регулярного выражения' yum * 'Примечание, выбор' libjs-yui3-doc 'для регулярного выражения' yum * 'Примечание.  , выбрав 'libkeyutils1' для регулярного выражения 'yum *' Примечание, выбрав 'libjs-yui3-debug' для регулярного выражения 'yum *' Примечание, выбрав 'libghc-tinyurl-dev' для регулярного выражения 'yum *' Примечание, выбрав 'libauth-yubikey  -webclient-perl 'для регулярного выражения' yum * 'Примечание, выбор' fcitx-sayura 'для регулярного выражения' yum * 'Примечание, выбор' libghc-tinyurl-dev 'вместо' libghc-tinyurl-dev-0.1.0-bf4c8 '  Обратите внимание: выберите libghc-tinyurl-prof вместо libghc-tinyurl-prof-0.1.0-bf4c8. Обратите внимание, выберите python-yubico вместо python2.7-yubico. Примечание, выберите zekr вместо.  'zekr-quran-recitation-online-ayyub'libkeyutils1 уже является новейшей версией. libkeyutils1 установлен вручную. Будут установлены следующие дополнительные пакеты.  alled: alembic ant ant-contrib ant-optional apache2 apache2-bin apache2-data binfmt-support ...  

  0 обновлено, 360 вновь установлено, 0 для удаления и 0 не обновлено. Необходимо получить 291 МБ архивов. После этой операции будет использовано 1,668 МБ дополнительного дискового пространства. Вы хотите продолжить?  [Y/n]  

Если вы не хотите устанавливать + 1 ГБ пакетов, просто скажите «нет» на этом этапе и всегда внимательно читайте.

Интересно видеть, что yum и rpm находятся в репозиториях, но я не помню ни одного сайта, который рекомендовал бы управлять программным обеспечением в дистрибутивах на основе Debian таким образом, и, конечно же, нет репозиториев, настроенных после установки yum, поэтому это не может быть используется как замена кв. С другой стороны, Fedora перешла на другой инструмент для управления пакетами, и установка сторонних пакетов может привести к нестабильной работе системы, поэтому я не понимаю, зачем устанавливать yum.


Проще говоря, * обозначает все (ноль или более). apt-get означает, что вы находитесь в среде debian и пытаетесь установить yum . То есть вы пытаетесь установить весь пакет yum, конечно, это займет много памяти.

1


apt-get — это менеджер пакетов для Ubuntu и других дистрибутивы Debian
yum — менеджер пакетов для Red Hat, Oracle, Arch Linux и другие дистрибутивы Fedora .
Например :
менеджеры пакетов MacOS — это Homebrew и магазин приложений Mac
iOS . Менеджер пакетов — это App Store
Android . Менеджеры пакетов: Google Play Store , 1Mobile Market , ApkPure , Mobogenie , ect .
Когда вы запускаете эту команду, вы только что установили второй менеджер пакетов в свою систему. Теперь вы также можете установить «приложения Fedora в формате rpm» , просто выполните команду :

  yum-config-manager -  -add-repo [repository_url] yum install [fedora_app_name]  

и да, это требует некоторой памяти. Это большой пакет.



Как добавить репо в YUM на Ubuntu?

Я работаю над проектом Ruby и мне нужно установить этот гем xmlparser. Он спрашивает меня о множестве зависимостей, которые необходимо решить перед установкой гема.. Один из них — expat и некоторые ребята из интернета, предложенные

  yum install expat-devel  

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

  yum repolist all  

Затем он говорит : repolist: 0

Что мне нужно сделать, чтобы добавить репо, чтобы YUM мог получать из него пакеты ?!


Не знаете. yum — это инструмент управления пакетами в дистрибутивах на основе RHEL и Fedora, вместо этого Ubuntu использует apt .

Вам нужно узнать, как этот пакет вызывается в репозиториях Ubuntu, и установить его с помощью apt-get .


Это действительно возможно.

Попробуйте:

sudo apt install yum *

или

sudo apt-get install yum *

после этого добавьте в систему ваши любимые или необходимые репозитории, например epel или rpmforge или любые другие репозитории обычным способом с помощью команды yum вместо apt.

Репо — это просто место, откуда вы можете установить или получить пакет или tarball, поэтому независимо от того, что вы используете в любой системе, которую вы используете. Но это будет тот случай, когда некоторые программы будут настроены автоматически в соответствии с конфигурацией RHEL. Эта конфигурация — всего лишь мое предположение, я не уверен, происходит ли это все время. Но мы можем изменить его в любое время. Как в некоторых Linux destros, Apache или PHP, установленных в /opt/. Там, где при использовании перекрестного репо (как в yum , используемом в ubuntu вместо apt-get ), он может принимать изменения как конфигурацию поставщика родительского пакета, а не собственный системный config традиция.

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

3


Вы должны добавить репо с помощью терминала или создать файл репо в каталоге /etc/yum/repos.d поскольку мы находим /etc/yum.repos.d/ в RHEL или CentOS , но в Ubuntu это будет путь /etc/yum/repos.d/

Например, вы хотите установить google-chrome в Ubuntu с помощью yum , так что это шаги:

Создайте файл "google-chrome.repo" в каталоге " /etc/yum/repos.d" Запишите эти строки в этот файл и сохраните его.

  [go  ogle-chrome] name = google-chromebaseurl = http://dl.google.com/linux/chrome/rpm/stable/$basearchenabled=1gpgcheck=1gpgkey=https://dl-ssl.google.com/linux/linux_signing_key  .pub  

Это должно работать в вашей ситуации.

Оцените статью
clickpad.ru
Добавить комментарий