Я попытался установить 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
Это должно работать в вашей ситуации.