Согласно этой ветке, есть ошибка/проблема с mc, зависящая также от того, как он скомпилирован.
Можно перекомпилировать с выключенным SUBSHELL
; или запустить его как:
mc -u
Таким образом, самый простой вариант — создать псевдоним для mc
как mc -u
. Например:
alias mc='mc -u'
Из man mc
:
-u, --nosubshell Отключите использование параллельной оболочки (имеет смысл только в том случае, если Midnight Commander был собран с поддержкой параллельной оболочки).
Оказывается, я накосячил с командой ls
.
# ls -lL
lr-x------ daemon root 0 -> pipe:[931613]
lrwx------ root root 1 -> /dev/tty1
lrwx------ root root 2 -> /dev/tty1
Это не опечатка. Это была ошибка в логике, которая исправляется одним символом. Видите ли, я знаю , что эти узлы на самом деле не являются символическими ссылками, потому что их открытие дает правильный файл, даже если он был открыт в chroot-тюрьме, что дает неверный путь в выводе ls -l
. Почему-то я думал, что системный вызов ядра возвращает больше атрибутов базового индексного дескриптора, чем на самом деле.