Почему apt подсказывает мне ввести полную фразу во время очистки пакета?

Не пытайтесь использовать эту команду.

Пока я пытаюсь очистить пакет login, терминал просит меня ввести весь текст, а не [Y/n].

avinash@avinash-VirtualBox:~$ sudo apt-get purge login
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  login*
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  login
0 upgraded, 0 newly installed, 1 to remove and 303 not upgraded.
After this operation, 1,212 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?] 

Почему это побуждает меня ввести весь Yes, do as I say! текст? Что произойдет, если я введу Y или Yes?

4
задан 19 March 2014 в 15:53

4 ответа

login пакет состоит из программ такой как login, newgrp и su.These программы также называют системные инструменты входа в систему .These инструменты требуются, чтобы быть в состоянии войти в систему и использовать Вашу систему.

  • программа входа в систему вызывает Вашу пользовательскую оболочку и включает выполнение команды.

  • newgrp программа используется для изменения эффективного идентификатора группы (полезный для ситуаций с типом рабочей группы).

  • su программа позволяет изменять Ваш эффективный идентификатор пользователя (полезная способность выполнить команды как другого пользователя).

Это - существенный системный пакет. Так, чтобы Предупреждающее сообщение ( Это НЕ было сделано, если Вы не знаете точно, что Вы делаете! ) как ниже появляется и просит, чтобы Вы ввели целую фразу Yes, do as I say!, в то время как Вы пытающийся произвести чистку пакета login

This should NOT be done unless you know exactly what you are doing!
      login
0 upgraded, 0 newly installed, 1 to remove and 303 not upgraded.
After this operation, 1,212 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?] 

, Что произойдет, если я войду Y или Yes?

необходимо ввести корректную фразу Yes, do as I say!, так, чтобы пакет login был удален. Если Вы войдете Y или Yes, это прервет процесс чистки пакета. Даже восклицательная метка, пробелы, верхние и строчные буквы рассматривают строго.

Yes  -  Abort
Yes, do as I say  -  Abort
yes, do as I say  -  Abort
Yes, do as I say  -  Abort
Yes,do as I say!  -  Abort
Yes, do as I say! -  Success

после успешного ввода фразы dpkg удаляет login пакет с включенной опцией силы,

To continue type in the phrase 'Yes, do as I say!'
 ?] Yes, do as I say!
dpkg: warning: overriding problem because --force enabled:
 This is an essential package - it should not be removed.
(Reading database ... 162860 files and directories currently installed.)
Removing login ...
Purging configuration files for login ...
Processing triggers for man-db ...
0
ответ дан 19 March 2014 в 15:53

Подсказка находится в подсказке

следующий важна , пакеты будут удалены

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

Вы видите установленные существенные пакеты с aptitude search '~E~i', который в настоящее время (на 13,10 полях) дает следующие пакеты:

apt base-files base-passwd bash bsdutils coreutils dash debianutils diffutils dpkg e2fsprogs findutils grep gzip hostname libc-bin login mount ncurses-base ncurses-bin perl-base sed tar util-linux

мне было любопытно, что управляет, чтобы те могли бы включать (я знаю coreutils, является довольно крупным), таким образом создал следующий запрос монстра for f in $(aptitude search '~E~i' | awk '{print $2}' | xargs dpkg -L); do [[ $(type -P "${f##*/}") == "$f" ]] && echo ${f##*/}; done

[ addpart add-shell agetty apt-cache apt-cdrom apt-config apt-get apt-key apt-mark arch badblocks base64 basename bash bashbug blkid blockdev captoinfo cat catchsegv cfdisk chattr chcon chgrp chkdupexe chmod chown chroot chrt cksum clear clear_console cmp comm cp csplit ctrlaltdel cut cytune dash date dd ddate debugfs delpart df diff diff3 dir dircolors dirname dmesg dnsdomainname domainname dpkg dpkg-deb dpkg-divert dpkg-maintscript-helper dpkg-query dpkg-split dpkg-statoverride dpkg-trigger du dumpe2fs e2freefrag e2fsck e2image e2label e2undo e4defrag echo egrep env expand expr factor faillog fallocate false fdformat fdisk fgrep filefrag find findfs findmnt flock fmt fold fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.ext4dev fsck.minix fsfreeze fstrim getconf getent getopt getty grep groups gunzip gzexe gzip head hostid hostname hwclock i386 iconv iconvconfig id infocmp infotocap install install-info installkernel ionice ipcmk ipcrm ipcs ischroot isosize join lastlog ldattach ldconfig ldconfig.real ldd line link linux32 linux64 ln locale localedef logger login logname logsave losetup ls lsattr lsblk lscpu mcookie md5sum md5sum.textutils mkdir mke2fs mkfifo mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.minix mklost+found mknod mkswap mktemp more mount mv namei ncurses5-config ncursesw5-config newgrp nice nisdomainname nl nohup nologin nproc od oldfind partx paste pathchk perl perl5.14.2 pg pinky pivot_root pldd pr printenv printf ptx pwd raw rbash readlink readprofile remove-shell rename.ul renice reset resize2fs resizepart rev rgrep rm rmdir rmt-tar rtcwake runcon run-parts savelog script scriptreplay sdiff sed seq setarch setsid setterm sfdisk sg sh sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split start-stop-daemon stat stdbuf stty su sum swaplabel swapoff swapon switch_root sync tabs tac tail tailf tar tarcat taskset tee tempfile test tic timeout toe touch tput tr true truncate tset tsort tty tune2fs tunelp tzselect umount uname uncompress unexpand uniq unlink unshare update-alternatives update-locale update-passwd users validlocale vdir wall wc whereis which who whoami wipefs x86_64 xargs yes ypdomainname zcat zcmp zdiff zdump zegrep zfgrep zforce zgrep zic zless zmore znew

0
ответ дан 19 March 2014 в 15:53

Пакеты имеют несколько полей, которые заполнены информацией, одно из этих полей указывают важность пакета, который называют priority. Существует два приоритета, отданные пакетам, что без них Вы не получаете функциональную систему, которые являются essential и required.

Эти пакеты установлен по умолчанию во всех установках Ubuntu/Debian. Каждый раз, когда Вы пытаетесь удалить их, установщик просит, чтобы Вы к обстоятельно объяснили это, Вы уверены , таким образом, Вы понимаете последствия своих действий. Таким образом, если Вы продолжаете удаление, очень вероятно, что некоторая часть системы крайне повреждается, что Вы не можете больше загружаться.

<час>

Для получения списка пакетов, который имеет эти приоритеты я рекомендую использование способности:

aptitude search ~prequired
aptitude search ~pimportant

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

0
ответ дан 19 March 2014 в 15:53

Вы используете apt-get сделать чистку. apt-get утилита командной строки, обеспеченная apt пакет.

Его формулируемая цель (найденный в исходном коде):

apt-get - Cover for dpkg
This is an allout cover for dpkg implementing a safer front end.

Другими словами, apt-get проверки безопасности реализаций, которые не могут обеспечить другие утилиты, которые взаимодействуют с диспетчером пакетов.

Наиболее востребованные команды перечислят затронутые пакеты и другую информацию, связанную с требуемой транзакцией, и будут затем сопровождаться простым сообщением с подтверждением:

Do you want to continue [Y/n]?

Но если это видит, что пакеты определили в диспетчере пакетов с essential приоритет собирается быть удаленным, он следует списку пакета с этим предупреждением:

WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!

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

You are about to do something potentially harmful.
To continue type in the phrase "Yes, do as I say!"

apt-get затем позволит транзакции идти до apt, который в свою очередь взаимодействует с dpkg.

Важно отметить, что поведение, отмеченное в этом вопросе, прибывает только из apt-get и это, снова, apt-getформулируемая цель состоит в том, чтобы обеспечить этот вид слоя безопасности.

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

0
ответ дан 19 March 2014 в 15:53

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

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