склонный - добираются, установка с '-' (минус / дефис) удаляет пакеты

Я искал некоторый пакет (nautilus-terminal), и случайно сделал это:

$ sudo apt-get install nautilus-
Reading package lists... Done                                                                                                                                                                                                 
Building dependency tree                                                                                                                                                                                                      
Reading state information... Done                                                                                                                                                                                             
The following packages were automatically installed and are no longer required:                                                                                                                                               
  apturl apturl-common libgail-3-0 linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic linux-image-4.4.0-57-generic linux-image-extra-4.4.0-57-generic                                                                      
Use 'sudo apt autoremove' to remove them.                                                                                                                                                                                     
The following packages will be REMOVED:                                                                                                                                                                                       
  gnome-session-flashback nautilus nautilus-sendto nautilus-share ubuntu-desktop                                                                                                                                              
0 upgraded, 0 newly installed, 5 to remove and 69 not upgraded.                                                                                                                                                               
After this operation, 2 031 kB disk space will be freed.                                                                                                                                                                      
Do you want to continue? [Y/n] ^[[^C                                                                                                                                                                                          

Это довольно опасно, потому что удаляют, намного более твердо ввести с опечаткой, чем простой тире от неудавшегося автозавершения.

Это эквивалент apt-get remove? Я не мог найти документацию для этого.Править: за исключением пропуска страницы справочника...

22
задан 7 April 2019 в 23:05

2 ответа

Из man apt-get :

install
   install is followed by one or more packages desired for
   installation or upgrading. Each package is a package name, not a
   fully qualified filename (for instance, in a Debian system,
   apt-utils would be the argument provided, not
   apt-utils_1.2.10_amd64.deb). All packages required by the
   package(s) specified for installation will also be retrieved and
   installed. The /etc/apt/sources.list file is used to locate the
   desired packages. If a hyphen is appended to the package name (with
   no intervening space), the identified package will be removed if it
   is installed. Similarly a plus sign can be used to designate a
   package to install. These latter features may be used to override
   decisions made by apt-get's conflict resolution system.
28
ответ дан 23 November 2019 в 01:35

Следующие два означают то же:

# apt-get remove nautilus
# apt-get install nautilus-

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

то, Где "минус" оператор пригождается, находится в случаях, где Вы хотите удалить один пакет и установить другой в той же операции :

# apt-get install php5-cgi libapache2-mod-php5- 

я не мог думать о лучшем примере, но существуют некоторые ситуации, где удаление того и добавление другого в отдельных операциях могли инициировать дополнительные ненужные установки или удаления, в то время как выполнение их обоих в единственной операции сразу удовлетворит некоторые co-зависимости и сделает ее полной более простой операцией.

Что касается того, помогает ли добавление минус случайно удалить что-то неумышленно, я прежде всего отсылаю Вас к тому, как легкий это должно создать повреждение Вашей системы неумышленно на командной строке так или иначе . Это не было создано для защиты Вас от себя и существуют миллиарды еще более простых команд, которые могут полить из шланга Вашу систему. Но во-вторых, в этом случае это говорит Вам точно, что это собирается сделать и подтверждает, что Вы действительно хотите сделать это. Это - низкий риск.

0
ответ дан 23 November 2019 в 01:35

Другие вопросы по тегам:

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