AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 792412
Accepted
Cary
Cary
Asked: 2025-03-13 23:51:17 +0800 CST2025-03-13 23:51:17 +0800 CST 2025-03-13 23:51:17 +0800 CST

Como consertar grep quebrado no Debian

  • 772

Atualizei meu sistema para o Debian bookworm e o processo pareceu prosseguir normalmente, mas terminou com alguns erros. Quando tento usar o apt para resolver o problema, acabo com uma tela cheia do seguinte erro:

grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8

Parece que qualquer tentativa de usar grep resulta nesse erro, não importa quão básico seja o comando. Então, suponho que grep esteja de alguma forma quebrado neste sistema agora, o que dificulta qualquer esforço para repará-lo usando apt ou dpkg, por exemplo:

$ sudo apt install -f
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up initramfs-tools (0.142+deb12u1) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-6.1.0-31-amd64 (6.1.128-1) ...
/etc/kernel/postinst.d/dracut:
dracut: Generating /boot/initrd.img-6.1.0-31-amd64
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8

[... 6 more times ...]

grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
dracut: Disabling early microcode, because kernel does not support it. CONFIG_MICROCODE_[AMD|INTEL]!=y
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8

[... 27 more times ...]

grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
The default plymouth plugin () doesn't exist
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8

[... 41 more times ...]

grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.1.0-31-amd64
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
W: zstd compression (CONFIG_RD_ZSTD) not supported by kernel, using gzip
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
E: gzip compression (CONFIG_RD_GZIP) not supported by kernel
update-initramfs: failed for /boot/initrd.img-6.1.0-31-amd64 with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-6.1.0-31-amd64 (--configure):
 installed linux-image-6.1.0-31-amd64 package post-installation script subprocess returned error exit status 1
Processing triggers for initramfs-tools (0.142+deb12u1) ...
update-initramfs: Generating /boot/initrd.img-6.1.0-31-amd64
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
W: zstd compression (CONFIG_RD_ZSTD) not supported by kernel, using gzip
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
E: gzip compression (CONFIG_RD_GZIP) not supported by kernel
update-initramfs: failed for /boot/initrd.img-6.1.0-31-amd64 with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 linux-image-6.1.0-31-amd64
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
$ apt policy grep libpcre2-8-0
grep:
  Installed: 3.8-5
  Candidate: 3.8-5
  Version table:
 *** 3.8-5 500
        500 https://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
libpcre2-8-0:
  Installed: 10.42-1
  Candidate: 10.42-1
  Version table:
 *** 10.42-1 500
        500 https://deb.debian.org/debian bookworm/main amd64 Packages
        100 /var/lib/dpkg/status
$ ldd /bin/grep
        linux-vdso.so.1 (0x00007fff81ff6000)
        libpcre2-8.so.0 => /usr/local/lib/libpcre2-8.so.0 (0x00007fa6c7800000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa6c761f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fa6c7c7e000)

$ LD_DEBUG=all grep 2>&1 | busybox grep pcre2_set_compile_extra_options_
    155549:     symbol=pcre2_set_compile_extra_options_8;  lookup in file=grep [0]
    155549:     symbol=pcre2_set_compile_extra_options_8;  lookup in file=/usr/local/lib/libpcre2-8.so.0 [0]
    155549:     symbol=pcre2_set_compile_extra_options_8;  lookup in file=/lib/x86_64-linux-gnu/libc.so.6 [0]
    155549:     symbol=pcre2_set_compile_extra_options_8;  lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
    155549:     grep: error: symbol lookup error: undefined symbol: pcre2_set_compile_extra_options_8 (fatal)
grep: symbol lookup error: grep: undefined symbol: pcre2_set_compile_extra_options_8
$dpkg -S {/usr,}/lib/x86_64-linux-gnu/libpcre2-8*
libpcre2-dev:amd64: /usr/lib/x86_64-linux-gnu/libpcre2-8.a
libpcre2-dev:amd64: /usr/lib/x86_64-linux-gnu/libpcre2-8.so
libpcre2-8-0:amd64: /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0
libpcre2-8-0:amd64: /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2
dpkg-query: no path found matching pattern /lib/x86_64-linux-gnu/libpcre2-8.a
dpkg-query: no path found matching pattern /lib/x86_64-linux-gnu/libpcre2-8.so
dpkg-query: no path found matching pattern /lib/x86_64-linux-gnu/libpcre2-8.so.0
dpkg-query: no path found matching pattern /lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2
$ (cd / && md5sum -c < /var/lib/dpkg/info/libpcre2-8-0:amd64.md5sums)
usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.11.2: OK
usr/share/doc/libpcre2-8-0/README.Debian: OK
usr/share/doc/libpcre2-8-0/changelog.Debian.gz: OK
usr/share/doc/libpcre2-8-0/changelog.gz: OK
usr/share/doc/libpcre2-8-0/copyright: OK

O problema parece esotérico e meus esforços para encontrar uma solução foram improdutivos. Alguém pode me ajudar?

debian
  • 1 1 respostas
  • 81 Views

1 respostas

  • Voted
  1. Best Answer
    Stéphane Chazelas
    2025-03-14T15:09:13+08:002025-03-14T15:09:13+08:00

    De acordo com ldd, você tem outra versão (presumivelmente mais antiga) do libpcre2-8.so.0in /usr/local/libque tem precedência sobre a /usr/libdo libpcre2-8-0pacote Debian e a saída de depuração do vinculador dinâmico confirma que ela não tem esse pcre2_set_compile_extra_options_8símbolo, o que explica por que grep(e presumivelmente todos os aplicativos do bookworm que usam PCRE2) falha.

    Você precisaria removê-los /usr/local/lib/libpcre2-8*do caminho (excluí-los, renomeá-los ou movê-los para um diretório separado ou executá-los sudo make uninstalla partir do diretório de origem de onde você os compilou), depois executar sudo ldconfige grepdeve funcionar novamente.

    Agora, presumivelmente você instalou o PCRE2 no /usr/localpassado para poder compilar outros aplicativos que usam o PCRE2. Esses aplicativos provavelmente precisarão ser recompilados (ou instalados a partir de pacotes Debian, se disponíveis lá), pois parece que a API para as duas versões do PCRE2 é diferente.

    Talvez você também queira verificar /usr/local/liboutras bibliotecas que podem entrar em conflito com as novas do bookworm ou que agora são redundantes.

    Também ter um não funcionamento grepenquanto alguns pacotes foram instalados e configurados pode ter causado danos (pacotes mal configurados). Eu revisaria os logs da atualização do Debian para ver quais pacotes foram afetados e dpkg-reconfigureeles ou até mesmo possivelmente os reinstalaria.

    • 1

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve