Как изменить файлы в yum.repos.d для установки MySQL и других?

Фоновые команды, выполняемые в неинтерактивных оболочках с отключенным управлением заданиями (как это имеет место в сценариях оболочек), получают stdin , неявно перенаправленный из /dev/null .

sh -c 'nc -l 12345 1>nc_out & lsof -p $!'

От POSIX.1-2008 :

2. Язык команд оболочки

[...]

Асинхронные списки

Если команда завершается оператором управления («&»), оболочка должна выполнять команду асинхронно в субкорпусе. Это означает, что что оболочка не должна ждать завершения команды перед выполнением следующая команда.

Формат выполнения команды в фоновом режиме:

 command1 & [command2 &...]

Стандартный вход для асинхронного списка перед любым явным выполняется перенаправление, должно считаться назначенным файлу имеет те же свойства, что и /dev/null . Если это интерактивный снаряд, этого не должно быть. Во всех случаях явное перенаправление стандарта входные данные должны переопределять эту операцию.

Когда клиент telnet устанавливает соединение с localhost и уже выполняющейся командой nc через порт 12345 , команда backgrounded nc , похоже, обнаруживает EOF на своем stdin и начинает процесс завершения работы, так как она принудительно считывается из/dev/null. Возвращаемое нулевое значение команды read ( man 2 read ) указывает на конец файла.

# strace output (from http://pastebin.com/YZHW31ef)
14:32:26 read(0, "", 2048)              = 0
14:32:26 shutdown(4, 1 /* send */)      = 0

Вот несколько решений для поддержания telnet в рабочем состоянии и обмена данными с nc :

sh -c 'nc -l 12345 0<&0 1>nc_out &'
sh -c 'nc -l 12345 0<&- 1>nc_out &'
sh -c 'tail -f /dev/null | nc -l 12345 1>nc_out &'
sh -c 'rm -f fifo; mkfifo fifo; exec 3<>fifo; nc -l 12345 0nc_out &'

-121--102966-

В качестве альтернативы использованию клавиш со стрелками включите клавиши j и k для прокрутки списка автозавершений.

Это действие изменяет текущую строку в соответствии с выбранным словом при прокрутке.

Поэтому не нужно нажимать enter, так как курсор все еще находится в режиме вставки в конце замененного слова.

Чтобы включить эту функцию, добавьте ее в файл .vimrc (Благодаря другим в stackoverflow):

inoremap  j ((pumvisible())?("\"):("j"))
inoremap  k ((pumvisible())?("\"):("k"))

По отдельности, вместо использования клавиш со стрелками, вы можете просто повторить Ctrl-n , который проклинается через опции ( Ctrl-p , чтобы пойти назад) и заменить на текущей строке по мере ее перемещения, не нужно вводить

-121--19594-

Запуск сценария через dos2unix перед его выполнением привел к его правильной работе. Я предполагаю, что apt-get считывал дополнительный\r в конце строки как часть имени пакета и, таким образом, искал ldap-auth-client\r (который не существует) вместо ldap-auth-client (который есть).

1
30.04.2015, 18:39
1 ответ

Упс. Это из вывода ошибки:

http://download.fedora.redhat.com/pub/fedora/linux/core///os/repodata/repomd.xml
                                                       ^^^

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

yum-config-manager --add-repo \       
http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os‌​/
                                                        ^^^^^^^^^^^^^^^^^^^^^

Я почти уверен, что $ releasever должен быть просто 14 и $ basearch либо i686 , либо x86_64 , так что это должно было быть:

http://download.fedora.redhat.com/pub/fedora/linux/core/14/x86_64/os‌​/

Предполагая, что вы используете 64 -битная система (иначе используйте i686 там).

Однако ...

Весь этот путь, вероятно, уже недействителен; вы можете попробовать:

yum-config-manager --add-repo http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/14/‌​Fedora/x86_64/os/

Но см. обсуждение в комментариях. Предположительно, вы также захотите удалить ранее добавленные фиктивные репозитории.

0
28.01.2020, 01:41

Теги

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