Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Bash Historie  (Read 6129 times)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
[DE] Bash Historie
« on: 2014/12/29, 10:47:53 »
Hallo zusammen,

ich habe hier aktuell an meinem PC mit der Bash Historie ein Problem das die Datei /root/.bash_history immer wieder gekürzt wird, obwohl ich das völlig anders konfiguriert habe.

Auszug aus der .bashrc von root:
Code: [Select]
HISTCONTROL=''
HISTTIMEFORMAT='[%F %T] '
export HISTCONTROL
export HISTTIMEFORMAT

export HISTSIZE=100000
export HISTFILESIZE=100000

Erreichen will ich das Bash Historie 100.000 Zeilen lang werden kann bevor sie gekürzt wird. Allerdings wird die Historie bei knapp 27.000 Einträgen schon gekürzt. Was läuft hier schief?

Vor der letzten Kürzung war sie ca. 344K groß.
Code: [Select]
-rw------- 2 root root 344K Dez 27 19:05 ./daily.0/polarfox/root/.bash_history

Gibt es noch eine Stelle wo man das konfigurieren kann?
« Last Edit: 2014/12/29, 12:14:28 by bluelupo »

Offline OppaErich

  • OLE
  • User
  • Posts: 381
Re: Bash Historie
« Reply #1 on: 2014/12/29, 12:06:11 »
Hallo nach Bayern,


hast Du eine inputrc ? Schau' mal da rein.

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Bash Historie
« Reply #2 on: 2014/12/29, 12:15:41 »
Hallo nach Bayern,


hast Du eine inputrc ? Schau' mal da rein.
@OppaErich: nein, da steht nichts dazu drinnen (/etc/inputrc).

Offline OppaErich

  • OLE
  • User
  • Posts: 381
Re: Bash Historie
« Reply #3 on: 2014/12/29, 12:39:04 »
Hmm, das war jetzt alles was ich auf die Schnelle gefunden hatte. Steht in irgendeinem anderen rc-file nochmal was von HISTSIZE ? Vielleicht wird Deine Einstellung von einer weiteren Datei wieder überschrieben...

Offline michaa7

  • User
  • Posts: 2.300
Re: Bash Historie
« Reply #4 on: 2014/12/29, 14:05:00 »
wie schaut es aus mit

.bashrc

.profile

?

Fragen:
Warum 100000 zeilen lang? Das ist doch irrsinniger ballast.
Hast du irgendeine function laufen, die doppelte einträge löscht?

Quote
down vote   
(re-posted from http://stackoverflow.com/a/19533853/128597)

After many large, ugly iterations and weird edge cases over the years, I now have a concise section of my .bashrc dedicated to this.

First, you must comment out or remove this section of your .bashrc (default for Ubuntu). If you don't, then certain environments (like running screen sessions) will still truncate your history:
Quelle: http://superuser.com/questions/137438/how-to-unlimited-bash-shell-history , hier wird auch klar, dass die 27000 zeilen wohl irgendwo festgelegt sind, denn auch dieser user hat den cut bei dieser länge.
« Last Edit: 2014/12/29, 14:14:50 by michaa7 »
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Bash Historie
« Reply #5 on: 2014/12/30, 11:31:21 »
Hi michaaa7,
bezüglich HIST-Variablen steht nur in der .bashrc etwas (wie oben angegeben). Ich würde einfach gerne eine laufende Historie all meiner eingegebenen Befehle auf der Kommandozeile haben. Die paar MByte Speicherplatz sind mir egal. Wenn bei 27000 Zeilen etwa 344K verbrauchen werden sind das bei 100.000 Zeilen nur etwa viermal soviel. Meiner Meinung nach vernachlässigbar, auch wenn diese im RAM vorgehalten werden.

Offline Jörg

  • User
  • Posts: 95
Re: Bash Historie
« Reply #6 on: 2014/12/31, 09:07:50 »
Hallo bluelupo,

hast Du Dein bashrc inzwischen so veraendern koennen, dass es tut, was Du moechtest? Dann wuerde mich naemlich interessieren, wie es jetzt  aussieht.

Gruss,
Jörg

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: Bash Historie
« Reply #7 on: 2014/12/31, 11:30:57 »
@bluelupo:
2 Sachen
- schon mal ins Ubuntu-Wiki geschaut? Man history könnte ebenfalls helfen.
- ich sehe ein Problem bei mehreren offenen Terminals - die letzte geschriebene Historie gewinnt - und das ist meist die, in der am wenigsten passiert ist :) - von daher, bitte hoffe nicht auf Vollständigkeit. Ich tapp da immer wieder rein. :)
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Bash Historie
« Reply #8 on: 2015/01/01, 13:51:47 »
@Jörg: nein keine Änderung, d.h. die .bash_historie wird bei ca. 27.000 Einträgen, egal was in den Bash-Konfigurationsdateien des Users steht, gekürzt.

@melmarker: Ich habe das Netz dazu schon mehrfach "abgegrast", da wird immer auf die beiden Variablen HISTSIZE und HISTFILESIZE verwiesen.

Die Problematik mit den mehrfachen offenen Konsolen ist mir bekannt. Dazu kann man aber die Variable PROMPT_COMMAND in der .bashrc mit history -a bestücken, also sowas:

Code: [Select]
PROMPT_COMMAND='history -a;echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'

Das bewirkt ein sofortiges schreiben in die Bash-Historie nach jedem ausgeführten Kommando. Irgendwas läuft trotzdem schief beim Kürzen den Historie.

Offline michaa7

  • User
  • Posts: 2.300
Re: Bash Historie
« Reply #9 on: 2015/01/01, 15:00:10 »
Hast du denn mal nachgeforscht welche anderen umgebungen die .bash_history noch kürzen können (wie in mienem obigen posting angedeutet, screen u.a.).

Zudem nochmals, wenn du duplikate ausfiltern läßt sollten 27000 lines reichlich erinnerungsvermögen bereitstelln. Klar, es wäre schon schön zu wissen, wo, von welchem programm diese grenze festgelegt wurde.
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

Offline ralul

  • User
  • Posts: 1.814
Re: Bash Historie
« Reply #10 on: 2015/01/01, 18:54:30 »
Tip: ein Leerzeichen vor einem Befehl verhindert ein Schreiben in die History ... bei trivialen Befehlen :)

history -a
funktioniert :) :) Danke für den Tip!
« Last Edit: 2015/01/01, 19:02:47 by ralul »
experiencing siduction runs better than my gentoo makes me know I know nothing

Offline brummer

  • User
  • Posts: 276
    • http://guitarix.sourceforge.net/
Re: Bash Historie
« Reply #11 on: 2015/01/02, 04:43:02 »
Ein workaround könnte sein die bashhistory selber eher klein zu hallten, doppelte Einträge zu löschen und regelmäßig zu archivieren.
http://mywiki.wooledge.org/BashFAQ/088

mylo

  • Guest
Re: Bash Historie
« Reply #12 on: 2015/01/02, 06:28:00 »
Hi bluelupo,

im graf. Modus kann man als fixe Länge max. 100.000 Zeilen angeben. Eine mehr geht schon nicht.
Das wird wohl in irgendeinem "Profil" abgelegt. Vielleicht mal mit 99.999 probieren und dann schauen.

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Bash Historie
« Reply #13 on: 2015/01/04, 10:52:38 »
@mylo, die Konsole im KDE ist ein anders Thema. Dieser Verlauf (Historie) hat nichts mit .bash_history zu tun.

@brummer: mal sehen vielleicht werde ich Bash-Histories nochmals jeden Tag sichern und ggf.  dann automatisiert restoren (per Script) wenn sie gekürzt worden sind.

@michaa7: screen habe ich installiert benutze ich aber nicht. Ich werde das Paket mal löschen und beobachten.

Offline michaa7

  • User
  • Posts: 2.300
Re: Bash Historie
« Reply #14 on: 2015/01/04, 13:09:14 »
...die Konsole im KDE ist ein anders Thema. Dieser Verlauf (Historie) hat nichts mit .bash_history zu tun.
...
Falls du damit das VT namens "konsole" meinst, das hat natürlich mit .bash_history zu tun, ist mein standard VT.
Ok, you can't code, but you still might be able to write a bug report for Debian's sake