LINUX.ORG.RU

Настройки getty и bash_history

 ,


0

2

Собираю систему при помощи buildroot. Хочу повесить 2 терминала, один из них с автологином и настроить для них горячее сохранение истории команд.

В /etc/inittab прописаны 2 консоли:

tty1::respawn:/sbin/getty -n -l/bin/sh -L tty1 38400 vt100 # GENERIC_SERIAL
ttyS1::respawn:/sbin/getty -L  ttyS1 115200 vt100 # GENERIC_SERIAL

Консоль на ttyS1 честно подхватывает настройки среды окружения из /etc/profile (вроде бы глобальный для всех пользователей). Откуда берет настройки терминал подвешенный на tty1 непонятно (whoami=root); «env» практически пустое. Если кто-то может прояснить ситуацию, будет здорово.

Также пытаюсь изменять сохранение истории команд bash_history. Файл .bash_profile в директории /root/ имеется, но такое впечатление, что никаких манипуляций с ним не производится. Файл /.mbash_history создан, доступ 777. Вроде бы для этого в файл /root/.bashrc надо добавить следующие строки:

export HISTSIZE=100
export HISTFILESIZE=100
export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
export HISTCONTROL=ignorespace:erasedups
export HISTFILE=/.mbash_history
shopt -s histappend

Никакого влияния это не производит, при добавлении в /etc/profile вроде начинает сохранять историю, но при отключении питания сохраняется не все и не всегда, к тому же только с консоли на ttyS1.

Советы, рекомендации? Подскажите, знающие люди, в каком направлении копать дальше.


это нескьюрно, и потому по дефолту не работает. Что-то там в man bash было, но я не вдавался, т.к. несекьюрно, а значит не нужно.

emulek ()

Файл /.mbash_history создан, доступ 777

это конечно не моё дело, но ИМХО это полный долбоипписм.

emulek ()

-l/bin/sh

Это не запуск логин шелла. Для автологина в шелл, указанный в /etc/password у login есть флаг -f, а у getty — флаг -o. Либо оставить запуск bash, но прочитать раздел INVOCATION в man bash — там про логин шелл и как его готовить.

P.S. Это какая-то платка на арме что ли, что питание постоянно пропадает? Зачем сохранять историю в .bash_history до последней команды? Лучше всего сделать пользователя и позволить ему sudo, тогда все суперпользовательские команды будут в логе автоматически без бубнов с history.

diafour ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.