O histórico de Bash é muito curto / continua sendo excluído (possivelmente não sobrevive a reinicializações)

1

Meu histórico está funcionando bem, exceto que é muito curto.

HISTSIZE e HISTFILESIZE estão configurados para 16k, mas eu só vi cerca de 1000 entradas no meu arquivo de histórico. Atualmente, o comando mais antigo parece ter cerca de uma semana, o que coincide aproximadamente com a minha última reinicialização. Pode ser que o arquivo de histórico não esteja sobrevivendo a reinicializações. (Esse problema específico é mencionado nesta questão , mas nenhuma solução é dada)

Alguns dados relevantes:

.bash_history:
-rw------- 1 aib aib 10633 Mar 22 10:56 /home/aib/.bash_history
(~700 lines, oldest about a week ago)

.bashrc:
HISTCONTROL=ignoreboth
shopt -s histappend
HISTSIZE=16384
HISTFILESIZE=16384

Nada em /etc parece mencionar .bash_history além de apparmor (sobre o qual não sei quase nada).

Eu corro o bash do Konsole (terminal do KDE) e raramente uso tty1 ~ 6.

Editar: identifiquei a data de uma entrada antecipada (# 30) e são 10 dias. Meu tempo de atividade é de 11 dias. É muito provável que meu arquivo .bash_history simplesmente não sobreviva a reinicializações.

Edit: Acabei de fazer uma reinicialização e meu arquivo de histórico foi preservado. Então não posso duplicar o problema.

    
por aib 22.03.2014 / 10:14

1 resposta

2

No meu sistema eu criei um arquivo /etc/profile.d/histsize.sh com estas duas linhas:

export HISTSIZE=10000

export HISTFILESIZE=2000000

Além disso, substituí as duas linhas similares em .bashrc pelo mesmas duas linhas. O padrão .bashrc tem essas duas linhas:

HISTSIZE=1000
HISTFILESIZE=2000

Que eu também substituí com:

export HISTSIZE=10000
export HISTFILESIZE=2000000

Ao atualizar o .bashrc, você deve se lembrar de atualizá-lo / etc / skel, assim como em cada diretório inicial criado antes de você atualizar /etc/skel/.bashrc

Como os passos acima deixam muito espaço para erros, é de Claro que é crucial ter também um backup.

    
por kenn 22.03.2014 / 10:27