J'ai récemment mis à niveau de 13.04 à 13.10 et réalisé que mon historique de bash terminal n'est pas survivre redémarrages.
cat ~/.bash_history
m'a donné une erreur d'autorisations refusées.
J’ai, inutilement ou à tort, publié un chmod 777 ~/.bash_history
pour voir si cela aiderait… et même si je pouvais alors cat
et lire certains contenus, il ne contenait pas grand-chose de l’histoire.
J'ai aussi essayé Sudo rm ~/.bash_history
après avoir lu l'historique de bash n'est pas préservé
Bizarrement, après avoir fait cela, j’ai tapé quelques commandes de test, ls
, ls -lah
... et en appuyant sur la flèche vers le haut pour revenir en arrière dans l’historique, elle contenait ces deux commandes ainsi que l’historique impair de un peu de temps dans le passé mais très peu de résultats et pas les centaines de commandes que j'ai tapées plus tôt dans la journée.
Existe-t-il un nouveau lieu où l'historique de bash est enregistré? Comment peut-on supprimer ~/.bash_history pour ne pas se débarrasser des commandes qui restent? Je ne suis pas certain, mais je crois que mon histoire de bash racine est normale. Mon historique utilisateur bash est ce qui me cause des problèmes. Toute aide et conseils pour dépister et résoudre ce problème sont les bienvenus.
Aussi pathétique que cela puisse paraître, cela s'est résolu après un redémarrage. Je ne suis pas sûr de ce que cela signifie et je déteste proposer une solution avec une solution aussi générique. Peut-être un redémarrage est-il nécessaire après avoir supprimé et recréé le ~/.bash_history
je ne sais pas pourquoi et nulle part j'ai lu que c'était une exigence. Si je découvre quelque chose de plus spécifique, je posterai mes résultats.
la solution correcte consiste à garantir les autorisations correctes sur votre fichier .bash_history
uid=1000(myuser) gid=1000(mygroup)
Sudo chown myuser:mygroup ~/.bash_history
Sudo chmod 0644 ~/.bash_history
en dehors de /tmp
il y a NO problème que chmod 777
résout. vous devez cesser complètement d'utiliser cet ensemble d'autorisations jusqu'à ce que vous soyez pleinement conscient des implications.
Encore plus vite sans avoir à jouer avec chown et chmod:
Connecté en tant qu'utilisateur dont l'historique n'est pas sauvegardé:
Sudo rm ~/.bash_history
touch ~/.bash_history
Assurez-vous de ne taper aucune commande entre les 2 ci-dessus