UnixWare 7 не удается передать переменную Linux

Это, похоже, было проблемой синхронизации при загрузке - значение rootdelay = 8 на опциях ядра в моем grub.conf было изменено на rootdelay = 10, и сейчас все работает, как ожидалось. Кажется, что машина не обнаружила все разделы на USB-накопителе к тому моменту, когда она начала загрузку.

Я создал еще одно правило udev, чтобы отобразить мой USB stick/dev/sdu с помощью метки ПРОИЗВОДИТЕЛЬ, найденной udevadm, и все хорошо.

-121--196131-

FS поступает из регистра дополнительного сегмента с именем FS в архитектуре 386 (конец второго абзаца).

Я предполагаю, что после DS для сегмента данных и ES для Extra Segment корпорация Intel просто перешла к следующим символам алфавита (FS, GS). Регистр 386 можно увидеть на вики-странице , на рисунке справа.

Из источника ядра Linux в моей системе Linux Mint ( arch/x86/include/asm/uaccess.h ):

/*
 * The fs value determines whether argument validity checking should be
 * performed or not.  If get_fs() == USER_DS, checking is performed, with
 * get_fs() == KERNEL_DS, checking is bypassed.
 *
 * For historical reasons, these macros are grossly misnamed.
 */

#define MAKE_MM_SEG(s)  ((mm_segment_t) { (s) })

#define KERNEL_DS       MAKE_MM_SEG(-1UL)
#define USER_DS         MAKE_MM_SEG(TASK_SIZE_MAX)

#define get_ds()        (KERNEL_DS)
#define get_fs()        (current_thread_info()->addr_limit)
#define set_fs(x)       (current_thread_info()->addr_limit = (x))

-121--97751-

Добавьте это в файл ~/.ssh/config :

Host *
  IdentityFile ~/.ssh/id_whatever

Теперь ssh будет (также) пытаться

Это можно ограничить определенным хостом, присвоив ему явное имя вместо использования * .

0
24.01.2015, 01:07
1 ответ

На самом деле это не проблема, специфичная для UnixWare, Bash или RSH. Это проблема цитирования, и она повлияет на любую систему, которая не имеет такой же даты реализации, как удаленная система. Например, это также произойдёт, когда SSHing с Mac, на котором запущен Bash, перейдёт на Linux box.

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

# rsh Linux1 'TEST=$(date --date=-9day +%A_%B-%d_Backup); echo $TEST'

Обратите внимание, что мы можем пропустить некоторые внутренние кавычки и escaping также и таким образом.

1
28.01.2020, 02:51

Теги

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