apt-get tenta acessar ~/.config/git/

apt-get tenta acessar ~/.config/git/

Ao instalar novos pacotes com o gerenciador de pacotes, recebo o erro de permissão mostrado abaixo. Isso acontece porque /homeestá montado a partir de outro servidor, porém por que está apt-get tentando acessar ~/.config/gitem primeiro lugar?

(base) blk6@gho:~/$ sudo apt-get install libssl-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  libssl-doc
The following NEW packages will be installed:
  libssl-dev
0 upgraded, 1 newly installed, 0 to remove and 57 not upgraded.
Need to get 1,566 kB of archives.
After this operation, 7,846 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl-dev amd64 1.1.1-1ubuntu2.1~18.04.5 [1,566 kB]
Fetched 1,566 kB in 3s (507 kB/s)       
warning: unable to access '/home/Users/blk6/.config/git/attributes': Permission denied
warning: unable to access '/home/Users/blk6/.config/git/ignore': Permission denied
Selecting previously unselected package libssl-dev:amd64.
(Reading database ... 219434 files and directories currently installed.)
Preparing to unpack .../libssl-dev_1.1.1-1ubuntu2.1~18.04.5_amd64.deb ...
Unpacking libssl-dev:amd64 (1.1.1-1ubuntu2.1~18.04.5) ...
Setting up libssl-dev:amd64 (1.1.1-1ubuntu2.1~18.04.5) ...
warning: unable to access '/home/Users/blk6/.config/git/ignore': Permission denied

Responder1

Não tenho ideia de por que seu gerenciador de pacotes tentaria invocar o git, mas você pode tentar usar ostraceutilitário para descobrir o que está acontecendo. O strace rastreia chamadas do sistema, incluindo tentativas de abrir arquivos ou executar programas.

Para investigar seu problema específico, tentaria descobrir quais comandos estão sendo executados ( -e execve) apt-gete seus processos filhos bifurcados ( -f):

sudo strace -f -e execve apt-get install ...

Se você remover a -e execveopção, nenhum filtro será aplicado, resultando em uma saída demorada. Para fazer o strace gravar sua saída em um arquivo, você pode usar a -o file.txtopção antes do comando (por exemplo strace -f -o file.txt apt install ..., ).

Você também pode usar -e execve -e filepara rastrear execuções de comandos, bem como tentativas de abrir ou ler arquivos. Em seguida, procure a invocação do comando git e procure as linhas acima desta invocação. Talvez isso revele um nome de script a partir do qual o comando foi invocado.

Se isso ainda não for suficiente, você pode considerar verificar a configuração do apt em /etc/apt/. Talvez você o tenha configurado para invocar algum gancho. Exemplo para procurar invocações do git:

grep -nre git /etc/apt

A saída ficará vazia se não houver correspondências e, caso contrário, exibirá o arquivo, o número da linha e o conteúdo da linha.

informação relacionada