Программа sed в данный момент не установлена. Вы можете установить его, набрав [sed: not found]

Я пытался создать свою собственную программу в /usr/local/bin.

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

Программа sed в данный момент не установлена. Вы можете установить его, набрав

Как я могу избавиться от "сед" или что-то еще.

введите описание здесь

То, что я обнаружил до сих пор о "sed", это SED Stream Editor, который манипулирует текстом. Я использовал его в моем.bashrc для разбора git и раскраски текста. Теперь я отключил функцию разбора git в моем.bashrc.

Как я могу снова установить sed?

Я побежал apt-get install sed... Это говорит мне, что sed - это уже самая новая версия. САС теперь вызывает у меня больше проблем. Мои команды git не работают, и даже мои apt-get remove и обновления иногда тоже ломаются.

Это еще один пример того, что SED вызывает меня, так как SED не найден

/etc/grub.d/00_header: 1: /etc/grub.d/00_header: sed: not found
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-ex....

Какой сед

Когда я бегу which sed... выходит совершенно пустой, ничего похожего /usr/bin/sed,

Вот мой текущий PATH=.., который я извлек из /ect/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

3 ответа

Решение

Мое решение:

Я скопировал sed с другого сервера Ubuntu, который я запускал. scp me@server:/bin/sed /bin/sed

Помимо копирования бинарного файла с другого компьютера в надежде, что это правильная версия, это также можно решить с помощью apt или же apt-get установить sed пакет и прохождение --reinstall вариант, чтобы .deb файл будет загружен и установлен, даже если менеджер пакетов Ubuntu считает, что он уже существует.

sudo apt install --reinstall sed

Это работает с apt-get вместо apt, тоже. Он удаляет и переустанавливает пакет за один шаг. Ситуация в этой проблеме заключается в том, что se пакет уже установлен, но исполняемый файл был удален, поэтому повторная установка решает эту проблему. Без --reinstall флаг, менеджер пакетов предполагает, что ничего не нужно делать, потому что пакет уже установлен.

Вы можете запустить sudo apt update во-первых, если хотите, хотя в этом случае это обычно не требуется, если только вы не изменили исходные тексты программного обеспечения без этого. Вы можете передать --purge пометьте тоже, если хотите, но здесь это не нужно, поскольку это просто приводит к удалению пакета для пакета при его удалении.

sed это утилита, которую программы обычно считают существующей и полагаются на себя. Как вы заметили, скрипты, которые запускаются при установке, удалении или обновлении программного обеспечения, могут использовать sed, Это источник ваших конкретных сообщений об ошибках. В теории APT или dpkg может положиться на него напрямую и не сможет переустановить его. На практике этого не происходит, и я этого не ожидаю. Я проверял это на Ubuntu 16.04 LTS.

Я не могу вспомнить ни одной ситуации, когда замена двоичного файла решает проблему, но переустановка не работает и не показывает ошибку сразу (см. Комментарии к записи). Хотя я не могу быть на 100% уверен, что эти инструкции будут работать для вас - потому что, возможно, было нарушено больше, чем задокументировано в вопросе, - они, как правило, должны работать как минимум так же надежно, как замена вручную /bin/sed для тех, кто испытывает эту проблему.

В любом случае, простым быстрым решением будет создание программной ссылки для sed на машине. во-первых, проверьте «какой sed»

      which sed

затем создайте программную ссылку на приведенный выше результат

      ln -sf /bin/sed /usr/bin/sed

Надеюсь, это поможет!

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