Я отлично использовал свой git, но внезапно, когда я попытался использовать git status
, он показал мне
fatal: unable to access '/home/username/.gitconfig': Bad message
Сначала я подумал, что это из-за того, что мой файл конфигурации git находится в venv, но все было в порядке, и, как показывает ошибка, это из-за файла .gitconfig
в моем пользовательском каталоге!
В первую очередь из того, что я нашел в Интернете, я использовал git config --global user.name "NewUser"
и git config --global user.email [email protected]
но это заканчивается той же ошибкой, что и раньше.
После того, как я закрыл и снова открыл свой VScode, расширение Git выдало мне предупреждение о том, что оно не может обнаружить какой-либо git exe-файл в системе, и мне нужно снова установить Git!
И когда я проверил git --version
, он снова выдал ту же ошибку!
Буквально я не могу использовать любую команду git
!
Затем я попытался написать конфигурацию самостоятельно, и когда я открыл ее в терминале с помощью nano, в ней ничего не было! и когда я хотел сохранить изменения, он выдал еще одну ошибку, поскольку
[ Error writing .gitconfig: Bad message ]
Затем я посмотрел на права доступа к файлу, и это был просто вопросительный знак вместо обычных разрешений.
Затем я попытался изменить разрешение с помощью chmod
, но это снова выдало ошибку отказа в доступе!
chmod: cannot access '.gitconfig': Bad messag
Затем я попытался удалить его, но он тоже не может быть удален!
rm: cannot remove '.gitconfig': Bad message
Я устанавливал и удалял git несколько раз! это тоже не сработало.
Я использую манджаро 20.2
Любая идея будет оценена!
ОБНОВЛЕНО
Это ошибки для dmesg
Куча этих ошибок тут и там
Можете ли вы попробовать перечислить разрешения .gitconfig
как root? Например, sudo ls -l ~/.gitconfig
.
@mnestorov Я не уверен в более масштабной проблеме! потому что я не сталкиваюсь с какими-либо проблемами с другими частями или какой-либо командой, но недавно у меня было сообщение о плохой истории zsh или поврежденной истории, которую я исправил, и с тех пор ничего
@Ч. Я включил в пост, но я обновлю с изображением! для разрешений он просто показывает кучу ???? ?? ??? ???. не более чем вопросительный знак
@amirmohammadian Да, я видел опубликованные разрешения, но они также показывают вопросительные знаки при запуске от имени пользователя root? Возможно, у вас нет прав на чтение разрешений .gitconfig
по какой-то причине в качестве вашего текущего пользователя.
@amirmohammadian А ты не мог бы попробовать ls -ld .gitconfig
? Возможно, по какой-то причине .gitconfig
стал каталогом, для которого у вас нет прав на выполнение.
@Ч. может дело в нем! Я не уверен, но что я могу сделать больше, чем использовать sudo! если это проблема пользователя, почему не какие-либо другие файлы и из-за того, что я не работаю с chmod, я не знаю, как еще я могу это исправить!
Пахнет аппаратной проблемой
@CH.about "ls -ld .gitconfig" показывает ту же самую ошибку недоступности неверного сообщения!
@BasileStarynkevitch правда? любой совет?
@amirmohammadian Можете ли вы получить доступ ко всему остальному в вашем домашнем каталоге без проблем с разрешениями?
Попробуйте бежать fsck
; см. fsck(8) но будьте осторожны
Возможно, это поможет:
имя пользователя sudo chown .gitconfig
Как упоминалось здесь, вопросительные знаки в выводе ls просто указывают на то, что он не может stat() запись в каталоге.
Это может быть ошибка диска или, возможно, повреждение файловой системы: для дистрибутива ArchLinux см. sudo journalctl --since=today или, при последней загрузке, sudo journalctl -b -1, чтобы раскрыть дополнительные подробности.
Проверьте раздел, в котором вы находитесь (df -h .
), и посмотрите, не является ли это проблемой монтирования файловой системы.
Если вы видите кучу сообщений типа:
EXT4-fs error (device nvme0n1p2): ext4_lookup:1574: inode #4833958: comm ls: iget: checksum invalid
Вы должны посмотреть на свой раздел из внешнего сеанса (имеется в виду живая сессия с USB-диска ), как здесь:
fsck.ext4 -p [my root device]
fsck.ext4 -z [undo file on secondary drive] [my root device]
ОП амир-мухаммадиан подтверждает в комментариях:
Поскольку я делаю первые шаги в Linux, у меня всегда есть живая загрузка моего дистрибутива.
Так что это было быстро, и когда я сначала использовал его «
fsck
», он сказал, что я не могу использовать ни-p
, ни-z
из-за некоторых ошибок, и мне нужно сделать это вручную, поэтому я просто набиралy
иy
иy
!
И когда я загружаюсь снова, это сработало!
в моем /var/log/ нет никаких "сообщений" или "dmesg"! Я думаю, это должно быть! но это не
@amirmohammadian dmesg
— это команда, а не файл (man7.org/linux/man-pages/man1/dmesg.1.html)
@amirmohammadian manjaro — это дистрибутив ArchLinux (itsfoss.com/manjaro-vs-arch-linux), поэтому команды разные: я отредактировал свой ответ.
большое спасибо! У меня есть ошибки видимо, я обновлю пост
@amirmohammadian Это похоже на поврежденный диск. Я обновил свой ответ, чтобы решить эту проблему.
@amirmohammadian Молодец! Какие команды вы выполняли? Вы сделали команды fsck из живого USB-сеанса?
да! потому что я в своих первых шагах в Linux у меня всегда есть живая загрузка моего дистрибутива. так что это было быстро, и когда я использовал его, «fsck» сначала сказал, что я не могу использовать какие-либо -p или -z из-за некоторых ошибок, и мне нужно сделать это вручную, поэтому я просто набирал y, y и y! и когда я загружаюсь снова, это сработало! еще раз спасибо
@amirmohammadian Спасибо за этот отзыв. Я включил ваш комментарий в ответ для большей наглядности.
Если использование
rm
иchmod
дает вамBad message
, то проблема, похоже, не только в git, но и в более широком масштабе. Я предполагаю, что может быть поврежден жесткий диск? Другие команды работают? Можете ли вы открыть другие терминалы? Помогла ли перезагрузка системы?