Итак, я попытался установить git -all, и он удалил различные пакеты gnome в моей системе, я действительно не знаю причину. Как я могу преодолеть это?

"как в ШАБЛОНЕ, так и во входных файлах" = "в шаблоне и в во входных файлах". Предлог «в» применяется к обоим предложениям, соединенным «оба».

Если бы авторы намеревались игнорировать регистровые различия как в ШАБЛОНЕ, так и во входных именах файлов, они бы так и сказали.


В комментариях ОП объясняет, что Вопрос сформулирован неправильно. В ответ на OP фактическую трудность :Первая строка описания на странице руководства, которую вы цитируете, гласит: «grep ищет именованные входные ФАЙЛЫ (... )для строк, содержащих совпадение с данный ШАБЛОН». То есть grep ищет совпадения с содержимым файлов, а не совпадения с их именами.

Конечно, разъяснение ОП делает принятый ответ не отвечающим на скрытый вопрос.

0
04.10.2020, 16:14
2 ответа

Если вы просто хотите использовать инструмент git, вам не нужно устанавливать git-all. Вы можете просмотреть описание пакетов, запустив apt-cache show gitи apt-cache show git-all, а также пакеты, которые они устанавливают, прочитать материалы, на которые они ссылаются, а затем принять решение.

Пакет git-allрекомендует в качестве альтернативы git-daemon-runили git-daemon-sysvinit, но aptпо какой-то причине автоматически выбирает git-daemon-run:

$ apt depends git-all
git-all
  Залежності (Depends): git (>> 1:2.20.1)
  Залежності (Depends): git (<< 1:2.20.1-.)
  Залежності (Depends): git-doc
  Залежності (Depends): git-el
  Залежності (Depends): git-cvs
  Залежності (Depends): git-mediawiki
  Залежності (Depends): git-svn
  Залежності (Depends): git-email
  Залежності (Depends): git-gui
  Залежності (Depends): gitk
  Залежності (Depends): gitweb
 |Рекомендує (Recommends): git-daemon-run
  Рекомендує (Recommends): git-daemon-sysvinit

Согласно описанию пакета, которое вы можете найти с помощьюapt show git-daemon-run(выделение мое):

git-daemon, as provided by the git package, is a simple server for git repositories, ideally suited for read-only updates, i.e. pulling from git repositories through the network. This package provides a runit service for running git-daemon permanently. This configuration is simpler and more reliable than git-daemon-sysvinit, at a cost of being less familiar for administrators accustomed to sysvinit.

git-daemon-runзависит от runit, который альтернативно рекомендует runit-sysv, runit-initили runit-systemd. aptпо какой-то причине выбирает runit-sysv. runit-sysvзависит от sysvinit-core. Это и runit-initконфликтуют с systemd-sysv, который уже установлен по умолчанию в Debian :

.
$ apt depends sysvinit-core runit-init --installed
sysvinit-core
  Залежності (Depends): debianutils (>= 4)
  Залежності (Depends): sysvinit-utils (>= 2.86.ds1-66)
 |Залежності (Depends): debconf (>= 0.5)
    cdebconf
    debconf
  Залежності (Depends): libc6 (>= 2.15)
  Залежності (Depends): libselinux1 (>= 1.32)
  Залежності (Depends): libsepol1 (>= 2.4)
  Конфлікти (Conflicts): systemd-sysv
  Заміняє (Replaces): systemd-sysv
runit-init
  Залежності (Depends): libc6 (>= 2.4)
  Конфлікти (Conflicts): systemd-sysv
  Заміняє (Replaces): systemd-sysv

Таким образом, чтобы решить вашу проблему, вы должны указать aptсохранить systemd-sysvпри установкеgit-all:

$ sudo apt-get install git-all systemd-sysv

На этот раз aptвыберет runit-systemd, и никакие пакеты не должны удаляться.

2
18.03.2021, 23:01

git-allрекомендует git-daemon-run, а это зависит от runit, который конфликтует с systemd, точнее systemd-sysv. Это приводит к конфликту с GNOME, и aptрешает удалить конфликтующие пакеты.

Чтобы избежать этого, есть два решения:

  • установить git-allбез рекомендуемых пакетов:

    sudo apt install --no-install-recommends git-all
    
  • не устанавливайте git-allи устанавливайте только те пакеты, которые вам нужны:

    sudo apt install git
    
1
18.03.2021, 23:01

Теги

Похожие вопросы