[
] Используйте опцию [][] losetup[
] [] --list[
][]:[
] [
$ losetup --list /dev/loop0
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0 0 0 0 0 /tmp/backing-file
] [
] Если вам [] нужен только [] файл, воспользуйтесь опцией []-O[
], чтобы выбрать столбец:[
] [
$ losetup --list --noheadings -O BACK-FILE /dev/loop0
/tmp/backing-file
] [
] Эта опция является частью последних версий []util-linux[
]. В предыдущих версиях поддерживалась только опция [][]-a[
][] , которая перечисляет все активные устройства в более сложном для обработки формате:[
] [
$ losetup -a
/dev/loop0: []: (/tmp/backing-file)
] [
]В любом случае, обработка не является слишком обременительной.[
]
Я подозреваю, что базовая проблема не имеет ничего общего с вашим TTY, а скорее, это следствие гораздо более важной ошибки ошибки, отказ PAM, прерывая: критическая ошибка - немедленный прервать .
Эта статья от сайта помощи Debian может помочь. (Tl; DR? CR / LF В конце строк в файлах конфигурации PAM плохой.) Но не зная, что вы сделали с подсистемой PAM, это может быть только предположение.
Если последовательность замены встречается только один раз в строке, можно объединить различные утилиты.
Когда входные данные находятся в файле «input» и вы заменяете «is» на «us», вы можете использовать
LINENR=$(cat input | grep -n " is " | head -3 | tail -1 | cut -d: -f1)
cat input | sed ${LINENR}' s/ is / us /'
-121--40052- настройку репликации MySQL master-master.
С помощью этой схемы оба сервера могут одновременно вставлять данные в таблицы автоматического приращения, не попадая друг в друга, так что оба сервера могут использоваться для обновления базы данных. Конечно, программное обеспечение должно быть немного умным при обновлении существующих записей, которые не могут иметь оба сервера, обновляющих одну и ту же запись одновременно; это может быть предотвращено с помощью keepalived
или любого другого для назначения одного из серверов в качестве сервера «записи» до тех пор, пока этот сервер не станет недоступен.
В /dev
отсутствуют некоторые элементы. Изначально отсутствовали /dev/tty
, которые ядро перенаправляет на собственный терминал вызывающего процесса. Программы getty
и login
взаимодействуют с определенным терминалом (здесь /dev/ttySAC0
), но после этого другие программы просто хотят взаимодействовать через любой терминал, на котором они работают, и для этого они используют /dev/tty
. Вы создали его, но с неправильными разрешениями: /dev/tty
должен быть доступен для всех процессов. Так и /dev/full
, кстати, хотя он очень редко используется так, что, вероятно, ничего не ломает на практике.
chmod a+rw /dev/tty
(/dev/console
, с другой стороны, правильно зарезервирован для root. /dev/tty
относится к терминалу, на котором выполняется процесс, который может быть терминалом программного обеспечения, таким как xterm, sshd, screen и т.д. /dev/console
, с другой стороны, относится к консоли, т.е. к физическому терминалу; несколько программ должны взаимодействовать с консолью как таковой.)
Кроме того, для использования терминальных эмуляторов, таких как экран, необходимо создать /dev/ptmx
и смонтировать /dev/pts
.
mknod -m 666 /dev/ptmx c 5 2
mkdir /dev/pts
и поместите следующую строку в /etc/fstab
или выполните эквивалентную команду mount
во время загрузки с заменой 5 идентификатором группы для tty
(check '/etc/group):
devpts /dev/pts devpts gid=5,mode=620 0 0
Это все, что я вижу на данный момент. Я не проверял, возможно, что чего-то еще не хватает.