GNU/Linux >> Znalost Linux >  >> Ubuntu

"sudo Apt-get Install Foo-" způsobí odstranění balíčku Foo a vše, co na něm závisí?

Tato otázka zde již obsahuje odpovědi :apt-get install s ‚-‘ (mínus / pomlčka) odstraní balíčky

(2 odpovědi)
Uzavřeno před 2 lety.

Při práci v příkazovém řádku jsem omylem zadal následující příkaz:

sudo apt-get install python3-

a ubuntu začalo odstraňovat python3 a vše, co na něm závisí (včetně Firefoxu a mnoha dalších). Naštěstí jsem tento terminál okamžitě zavřel a vše vrátil zpět kontrolou dpkg log, ale zajímalo by mě, proč install příkaz by měl fungovat jako remove?

Je to chyba?

Zvažte situaci, kdy hledáte název balíčku (stisknete dvakrát Tab) a procházíte možnostmi stisknutím klávesy Enter a tyto klávesy Enter zůstanou ve vyrovnávací paměti klávesnice a…. youhaaaa… apt-get odstraňuje celou instalaci před vašima očima.

Přijatá odpověď:

Právě jsem zkusil toto znaménko mínus (nebo pomlčku) po balíčku a ano, apt-get funguje jako remove .

Legrační je, že jsem tuto funkci apt-get neznal . Toto znaménko mínus platí pro každý balíček. Zkusil jsem to pomocí smplayer- pomocí firefox- a vždy se chová jako remove .
Takže jediné, co mě napadá, je to, že pomlčka na konci balíčku, který bere apt-get jako mínus a install příkaz převeden na remove .

Pokud jste chtěli nainstalovat vše o pythonu3 , museli jste za tuto pomlčku (mínus) přidat znaménko hvězdičky

sudo apt-get install python3-*

Na začátku jsem si myslel, že je to jen konfliktní záležitost, ale není. Někdy, když nainstalujete nějaký balíček a dojde ke konfliktu s jiným balíčkem, bude již nainstalovaný balíček odstraněn kvůli nově nainstalovanému balíčku, ale toto není naše situace.

Dnes jsme se naučili něco užitečného.

Z manuálové stránky apt-get . Pro čtení manuálové stránky přes váš terminál dejte man apt-get

Pokud je ke jménu balíčku připojen pomlčka (-) (bez mezery
), bude identifikovaný balíček odstraněn, pokud je aktuálně
nainstalován. Podobně lze znaménko plus (+) použít k označení balíčku
k instalaci. Tyto poslední funkce lze použít k přepsání
rozhodnutí učiněných systémem řešení konfliktů apt-get.

Nakonec to není nová možnost nebo něco divného, ​​jen nečteme pečlivě manuálové stránky.

Související:ImportError:Bez názvu „_tkinter“, nainstalujte si prosím balíček python3-tk?
Ubuntu
  1. Jak nainstalovat a používat Snap Package Manager na Ubuntu 20.04

  2. Softwarové centrum Ubuntu se zastavilo při instalaci balíčku a nemohu nainstalovat nic jiného?

  3. Jak nainstalovat a spravovat software na CentOS 7

  1. Je Rsync ~/foo Target/foo stejný jako Rsync ~/foo/ Target/foo/?

  2. Chyba Pkgproblemresolver při spouštění Správce balíčků a aktualizaci 12.04?

  3. Jak spustit skript pouze během první instalace balíčku a ne během upgradů?

  1. Nelze nainstalovat Python-dev na Ubuntu 16.04 Lts pomocí Aptitude a Apt-get?

  2. Použití Sudo Apt-get Install, proč žádný zdrojový kód?

  3. Jak nainstalovat Openssh-server, Tcsh, Autofs a Ypbind na verzi Ubuntu 14.04 pro stolní počítače?