Jump to content

MidnightCommander и CLI


Recommended Posts

Столкнулся тут с такой проблемой, что в cli кинетика перестал запускаться mc (версия 4.8.27)
 

Failed to run:
Cannot create /.config/mc directory

посмотрел, а там что-то не то с путями
 

[User data]
    Config directory: /.config/mc/
    Data directory:   /.local/share/mc/
        skins:          /.local/share/mc/skins/
        extfs.d:        /.local/share/mc/extfs.d/
        fish:           /.local/share/mc/fish/
        mcedit macros:  /.local/share/mc/mc.macros
        mcedit external macros: /.local/share/mc/mcedit/macros.d/macro.*
    Cache directory:  /.cache/mc/

при этом через ssh всё норм

[User data]
    Config directory: /opt/root/.config/mc/
    Data directory:   /opt/root/.local/share/mc/
        skins:          /opt/root/.local/share/mc/skins/
        extfs.d:        /opt/root/.local/share/mc/extfs.d/
        fish:           /opt/root/.local/share/mc/fish/
        mcedit macros:  /opt/root/.local/share/mc/mc.macros
        mcedit external macros: /opt/root/.local/share/mc/mcedit/macros.d/macro.*
    Cache directory:  /opt/root/.cache/mc/

Как то можно это побороть, кроме отката на версию 4.8.26 ?
 

Link to comment
Share on other sites

1 час назад, Александр Рыжов сказал:

Версия ни при чём. В CLI и OPKG разные переменные среды.

Вот выполнение в одной и той же среде, версия 26 работает, версия 27 не работает:
 

Скрытый текст


(config)> exec sh
BusyBox v1.34.1 (2021-12-10 08:29:27 UTC) built-in shell (ash)
/ # source /opt/etc/profile
[root@SZ : /]#>mc
Failed to run:
Cannot create /.config/mc directory
[root@SZ : /]#>mc -V
GNU Midnight Commander 4.8.27
Built with GLib 2.70.0
Built with S-Lang 2.3.2 with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With multiple codepages support
Virtual File Systems:
 cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish
Data types:
 char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;
[root@SZ : /]#>mc -F
Home directory: /
Profile root directory: /

[System data]
    Config directory: /opt/etc/mc/
    Data directory:   /opt/share/mc/
    File extension handlers: /opt/lib/mc/ext.d/
    VFS plugins and scripts: /opt/lib/mc/
        extfs.d:        /opt/lib/mc/extfs.d/
        fish:           /opt/lib/mc/fish/

[User data]
    Config directory: /.config/mc/
    Data directory:   /.local/share/mc/
        skins:          /.local/share/mc/skins/
        extfs.d:        /.local/share/mc/extfs.d/
        fish:           /.local/share/mc/fish/
        mcedit macros:  /.local/share/mc/mc.macros
        mcedit external macros: /.local/share/mc/mcedit/macros.d/macro.*
    Cache directory:  /.cache/mc/
[root@SZ : /]#>opkg remove mc
Removing package mc from root...
[root@SZ : /]#>opkg install /opt/root/mc_4.8.26-1_mipsel-3.4.ipk
Installing mc (4.8.26-1) to root...
Configuring mc.
[root@SZ : /]#>mc -V
GNU Midnight Commander 4.8.26
Built with GLib 2.66.4
Built with S-Lang 2.3.2 with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm
With multiple codepages support
Virtual File Systems:
 cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish
Data types:
 char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;
[root@SZ : /]#>mc -F
Home directory: /
Profile root directory: /

[System data]
    Config directory: /opt/etc/mc/
    Data directory:   /opt/share/mc/
    File extension handlers: /opt/lib/mc/ext.d/
    VFS plugins and scripts: /opt/lib/mc/
        extfs.d:        /opt/lib/mc/extfs.d/
        fish:           /opt/lib/mc/fish/

[User data]
    Config directory: /opt/etc/mc/
    Data directory:   /opt/etc/mc/
        skins:          /opt/etc/mc/skins/
        extfs.d:        /opt/etc/mc/extfs.d/
        fish:           /opt/etc/mc/fish/
        mcedit macros:  /opt/etc/mc/mc.macros
        mcedit external macros: /opt/etc/mc/mcedit/macros.d/macro.*
    Cache directory:  /opt/etc/mc/
[root@SZ : /]#>

1 час назад, Александр Рыжов сказал:

Запуск чего-либо в CLI используйте только в аварийной ситуации.

Оно и используется в аварийной ситуации (в частности в случае проблем с ssh), даже не через cli, а через serial console

Edited by yrzorg
Link to comment
Share on other sites

27 минут назад, MDP сказал:

Как это через serial console...провода что ли припаяли в потроха ?

Зачем)  пины припаять и купить переходник usb ttl 

Вот такой ( только не за такую цену) https://www.chipdip.ru/product/ttl-232r-3v3-3.3-v-ttl-usb-to-uart-cable

P.S. Если устройство совсем кирпич --то иногда это единственный способ достучаться до устройства и ребутнуть tftpd ....ну или нести в сц...

Edited by krass
Link to comment
Share on other sites

28 минут назад, MDP сказал:

провода что ли припаяли в потроха

Гребёнку, там есть посадочное место, а к ней переходник usb-to-serial

Link to comment
Share on other sites

54 минуты назад, krass сказал:

Зачем)  пины припаять и купить переходник usb ttl 

Вот такой ( только не за такую цену) https://www.chipdip.ru/product/ttl-232r-3v3-3.3-v-ttl-usb-to-uart-cable

P.S. Если устройство совсем кирпич --то иногда это единственный способ достучаться до устройства и ребутнуть tftpd ....ну или нести в сц...

Не ну я понимаю.... что если совсем кирпич, то без mc вообще никуда)))

Link to comment
Share on other sites

  • 4 months later...
В 19.01.2022 в 19:47, yrzorg сказал:

Столкнулся тут с такой проблемой

В общем, ларчик просто открывался: почему-то в новых версиях mc в cli-среде переменная HOME ведёт в /
Решается либо командой `export HOME=/opt/root` либо добавлением переменной в /opt/etc/profile (а заодно и переменную SHELL, тогда и subshell в mc будет работать)

 

Link to comment
Share on other sites

Среда по умолчанию после установки Entware

~ # env
USER=root
SSH_CLIENT=10.0.0.4 4767 22
SHLVL=1
HOME=/opt/root
TERMINFO=/opt/share/terminfo
SSH_TTY=/dev/pts/0
LOGNAME=root
TEMP=/opt/tmp
TERM=xterm
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.UTF-8
TMP=/opt/tmp
SHELL=/opt/bin/sh
PWD=/opt/root
LC_ALL=
SSH_CONNECTION=10.0.0.4 4767 10.0.0.2 22

Вы сломали что-то.....

  • Upvote 1
Link to comment
Share on other sites

2 часа назад, zyxmon сказал:

Вы сломали что-то.....

Может и сломал, а может и починил 😃

 

2 часа назад, zyxmon сказал:
SSH_CLIENT=10.0.0.4 4767 22

В ssh то проблем нет, а в cli вот такое окружение:
 

(config)> exec sh


BusyBox v1.35.0 (2022-04-13 08:47:51 UTC) built-in shell (ash)

/ # source /opt/etc/profile
[root@Devyatkino : /]#>env
HISTTIMEFORMAT=%h %d %H:%M:%S
USER=root
TELNET_PEER_ADDRESS=192.168.222.22
LD_LIBRARY_PATH=/opt/lib:/opt/usr/lib:/lib:/usr/lib
SHLVL=1
HISTIGNORE=ls:ll:history:w:htop
HOME=/
TERMINFO=/opt/share/terminfo
NDM_MOUNT_ROOT=/tmp/mnt
PS1=\[\e[32m\][\[\e[m\]\[\e[31m\]\u@\h\[\e[m\]\[\e[33m\] : \[\e[m\]\[\e[1;34m\]\w\[\e[m\]\[\e[32m\]]\[\e[m\]\[\e[32m\]\$\[\e[m\]\[\e[32m\]>\[\e[m\]
LD_BIND_NOW=1
COLORTERM=truecolor
TEMP=/opt/tmp
TERM=xterm-256color
TELNET_PEER_ADDRESS6=::ffff:192.168.222.22
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.UTF-8
HISTSIZE=10000
TMP=/opt/tmp
SHELL=/bin/sh
PROMPT_COMMAND=history -a; history -c; history -r;
PWD=/
LC_ALL=
[root@Devyatkino : /]#>

раньше mc худо-бедно работал с такой средой

Link to comment
Share on other sites

1 час назад, yrzorg сказал:

В ssh то проблем нет, а в cli вот такое окружение:

Ну-у, врать-то не надо... Вот в CLI:

➜ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
KeeneticOS version 3.08.A.8.0-1, copyright (c) 2010-2022 Keenetic Ltd.

Login: admin
Password: *****

THIS SOFTWARE IS A SUBJECT OF KEENETIC LIMITED END-USER LICENCE AGREEMENT. BY USING IT YOU AGREE ON TERMS AND CONDITIONS HEREOF. FOR MORE INFORMATION PLEASE CHECK https://keenetic.com/legal

(config)> exec /opt/bin/env
HOME=/
TERM=linux
PATH=/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
USER=root
NDM_MOUNT_ROOT=/tmp/mnt
LD_BIND_NOW=1
LANG=UTF-8
TELNET_PEER_ADDRESS=192.168.2.1
TELNET_PEER_ADDRESS6=::ffff:192.168.2.1
(config)> 

Остальное - руко*опство:

(config)> 
(config)> exec /opt/bin/busybox sh


BusyBox v1.35.0 (2022-04-15 09:32:59 UTC) built-in shell (ash)

/ # /opt/bin/env
USER=root
TELNET_PEER_ADDRESS=192.168.2.1
SHLVL=1
HOME=/
NDM_MOUNT_ROOT=/tmp/mnt
LD_BIND_NOW=1
TERM=linux
TELNET_PEER_ADDRESS6=::ffff:192.168.2.1
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LANG=UTF-8
SHELL=/bin/sh
PWD=/
/ # 

или

/ # 
/ # . /opt/etc/profile 
/ # 
/ # env
USER=root
TELNET_PEER_ADDRESS=192.168.2.1
SHLVL=1
HOME=/
TERMINFO=/opt/share/terminfo
NDM_MOUNT_ROOT=/tmp/mnt
LD_BIND_NOW=1
TMPDIR=/opt/tmp
TEMP=/opt/tmp
TERM=xterm
TELNET_PEER_ADDRESS6=::ffff:192.168.2.1
PATH=/opt/sbin:/opt/bin:/opt/usr/sbin:/opt/usr/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=en_US.UTF-8
TMP=/opt/tmp
SHELL=/bin/sh
PWD=/
LC_ALL=
/ # 

или Ваш вариант. И к CLI оно отношения не имеет, совсем...

  • Thanks 2
  • Upvote 1
Link to comment
Share on other sites

До кучи (CLI):

(config)> 
(config)> exec /bin/sh -c set
FUNCNAME=''
HOME='/'
HOSTNAME='Keenetic_Duo'
IFS='   
'
LANG='UTF-8'
LD_BIND_NOW='1'
LINENO=''
NDM_MOUNT_ROOT='/tmp/mnt'
OPTIND='1'
PATH='/bin:/sbin:/usr/bin:/usr/sbin'
PPID='15990'
PS1='\w \$ '
PS2='> '
PS4='+ '
PWD='/'
SHELL='/bin/sh'
SHLVL='1'
TELNET_PEER_ADDRESS='192.168.2.1'
TELNET_PEER_ADDRESS6='::ffff:192.168.2.1'
TERM='linux'
USER='root'
(config)>

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...