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 / 问题

All perguntas(unix)

Martin Hope
Palace Chan
Asked: 2024-11-28 11:50:30 +0800 CST

arch linux não inicializa e não é possível instalar o grub de dentro do chroot

  • 5

Tenho uma configuração de Arch Linux usando lvm que atualizei bem por anos até duas semanas atrás. Quando atualizei duas semanas atrás, executei um lvremove de um snapshot antigo do meu volume raiz e o comando travou. Desliguei minha máquina e desde então ela não inicializa. Acabei de inicializar por meio de um USB ativo para tentar descobrir o que está acontecendo. Minha saída fdisk -l mostra /dev/nvme0n1 (esta é minha única unidade) com partições p1 p2 p3, p1 é minha partição efi, p2 é minha partição de inicialização e p3 é minha partição lvm.

Por isso, fiz o seguinte ao inicializar o live usb para montar e fazer chroot no meu sistema:

vgchange -ay
mount /dev/vg0/lv_root /mnt
mount /dev/nvme0n1p2 /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot/efi
mount /dev/vg0/lv_home /mnt/home
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt /bin/bash

as coisas parecem "normais" lá (como em, minha casa todos os arquivos, basicamente como se eu tivesse inicializado normalmente). Como não sei por que não inicializa, tentei reinstalar o grub via, grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheckmas este comando reclama com o erro:

" Variáveis ​​EFI não são suportadas neste sistema Variáveis ​​EFI não são suportadas neste sistema grub-install: erro: efibootmgr falhou ao registrar a entrada de inicialização: Nenhum arquivo ou diretório desse tipo "

(sim, a primeira mensagem de erro aparece duas vezes). Primeiro, executar grub-install parece um método de "adivinhar e verificar" (mas não sei o que mais tentar)... e segundo, quando procuro esse erro no Google, a maioria dos resultados sugere que posso ter inicializado no modo legado, mas vejo o valor 64 se eu executar, cat /sys/firmware/efi/fw_platform_sizeentão sei que não é o caso (e quando inicializei na mídia live, também disse UEFI entre parênteses), então não entendo por que não consigo executar grub-install (não tenho certeza se isso vai consertar as coisas, mas vale a pena tentar, pois não sei o que mais verificar)

Edição 1: Encontrei este tópico Variáveis ​​EFI não são suportadas neste sistema e fiz o grub-install rodar passando --no-nvramcomo um sinalizador, seguido por grub-mkconfig -o /boot/grub/grub.cfg(não notei muita diferença no grub.cfg gerado antes). Infelizmente ainda não consigo inicializar, quando tento inicializar a partir da minha unidade, ele volta direto para o menu do BIOS, não tenho certeza de como ver "erros" para o que está acontecendo..

Edição 2: Por resposta de @grawity abaixo , adicionei aos meus comandos de montagem mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivarse então usei arch-chroot /mntem vez de chroot /mnt /bin/bash- dessa vez quando eu executei grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheckfuncionou! Eu segui por grub-mkconfig -o /boot/grub/grub.cfge então executei efibootmgr -ve vi que minha primeira ordem de inicialização está grub_uefi HD(1,GPT,some_guid)\EFI\grub_uefi\grubx64.efiapontando para o lugar certo. Então removi exit; umount -R /mnt; shutdown nowo USB e consegui inicializar novamente no meu sistema!

É um mistério como desligar meu PC de forma desajeitada enquanto ele travava em um "lvremove" poderia ter bagunçado tudo... mesmo assim, estou feliz por ter isso funcionando novamente

arch-linux
  • 1 respostas
  • 17 Views
Martin Hope
kr37
Asked: 2024-11-28 10:54:07 +0800 CST

Loop de login do console virtual (não-GUI)

  • 5

Enquanto digito isso, no meu sistema Netrunner Debian 12 KDE, se eu clicar, por exemplo, em Ctrl- Alt- F3, será exibido um prompt de login de terminal.

  • Não consigo passar desse prompt. Se eu digitar o nome de usuário e a senha corretamente, ele simplesmente limpa a tela e mostra o prompt de login do terminal novamente.
  • Ainda posso voltar para a GUI usando Ctrl- Alt- F7para continuar digitando esta pergunta.

Alguma sugestão de onde procurar?

  • /var/log/syslogcontém isso depois de fazer isso:
    2024-11-27T18:59:14.388452-08:00 RzT470Netrunner systemd[1]: Started session-1623.scope - Session 1623 of User rinzin.
    2024-11-27T18:59:14.394477-08:00 RzT470Netrunner wireplumber[1500]: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
    2024-11-27T18:59:14.394688-08:00 RzT470Netrunner wireplumber[1500]: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
    2024-11-27T18:59:14.396358-08:00 RzT470Netrunner systemd[1]: [email protected]: Deactivated successfully.
    2024-11-27T18:59:14.410998-08:00 RzT470Netrunner systemd[1]: session-1623.scope: Deactivated successfully.
    2024-11-27T18:59:14.411962-08:00 RzT470Netrunner systemd[1]: [email protected]: Scheduled restart job, restart counter is at 3.
    2024-11-27T18:59:14.412850-08:00 RzT470Netrunner systemd[1]: Stopped [email protected] - Getty on tty3.
    2024-11-27T18:59:14.436539-08:00 RzT470Netrunner systemd[1]: Started [email protected] - Getty on tty3.
    2024-11-27T18:59:16.025507-08:00 RzT470Netrunner rtkit-daemon[1392]: Supervising 0 threads of 0 processes of 0 users.
    2024-11-27T18:59:16.034408-08:00 RzT470Netrunner rtkit-daemon[1392]: Supervising 0 threads of 0 processes of 0 users.
    2024-11-27T18:59:20.238554-08:00 RzT470Netrunner wireplumber[1500]: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
    2024-11-27T18:59:20.239586-08:00 RzT470Netrunner wireplumber[1500]: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
    2024-11-27T18:59:21.834857-08:00 RzT470Netrunner kded5[531489]: Initializing  "/usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/kcms/systemsettings/kcm_mouse.so"
    2024-11-27T18:59:21.872833-08:00 RzT470Netrunner kded5[531489]: Initializing  "/usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/kcms/systemsettings/kcm_touchpad.so"
    2024-11-27T18:59:21.872895-08:00 RzT470Netrunner kded5[531489]: kcm_touchpad: Using X11 backend
    2024-11-27T18:59:21.874708-08:00 RzT470Netrunner kded5[531489]: Width:  3794  height:  3036
    2024-11-27T18:59:21.874761-08:00 RzT470Netrunner kded5[531489]: Approx. resX:  42  resY:  60
    2024-11-27T18:59:21.874822-08:00 RzT470Netrunner kded5[531489]: Touchpad resolution: x:  45  y:  54
    2024-11-27T18:59:21.874863-08:00 RzT470Netrunner kded5[531489]: Final resolution x: 45  y: 54
    2024-11-27T18:59:21.881830-08:00 RzT470Netrunner kwin_x11[1794]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 43603, resource id: 153092101, major code: 18 (ChangeProperty), minor code: 0
    
  • E com journalctl -risso eu encontro:
    Nov 27 19:22:21 RzT470Netrunner login[532343]: Permission denied
    Nov 27 19:22:21 RzT470Netrunner login[532343]: gkr-pam: couldn't unlock the login keyring.
    
terminal
  • 1 respostas
  • 36 Views
Martin Hope
Fravadona
Asked: 2024-11-28 08:13:22 +0800 CST

Atualizações automáticas condicionais RHEL8

  • 5

Fui encarregado de configurar atualizações automáticas em algumas estações de trabalho e servidores RHEL8 de alto desempenho.
Não gosto disso, pois muitas coisas podem dar errado com atualizações não supervisionadas, mas bem, parece que provocar bugs e perdas de dados é "mais seguro" do que ter computadores não atualizados pelo menos semanalmente...

Os computadores de destino usam zfse kmod-nvidia(de zfsonlinux.org e www.elrepo.org , respectivamente); ambos os RPMs precisam de uma "versão" de kernel correspondente, então a primeira medida de segurança que eu gostaria de implementar é garantir que, quando um novo kernel estiver disponível, o e instalado zfs( kmod-nvidiaou sua atualização disponível) seja compatível com ele.

Por exemplo, agora há um novo kernel:

$ sudo dnf update --assumeno
Updating Subscription Management repositories.
Last metadata expiration check: 0:57:59 ago on Thu 28 Nov 2024 12:08:30 AM CET.
Dependencies resolved.
==========================================================================================================================================================
 Package                           Architecture           Version                                  Repository                                        Size
==========================================================================================================================================================
Installing:
 kernel                            x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     10 M
Upgrading:
 bpftool                           x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     11 M
 kernel-headers                    x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     12 M
 kernel-tools                      x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     11 M
 kernel-tools-libs                 x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     10 M
 pam                               x86_64                 1.3.1-36.el8_10                          rhel-8-for-x86_64-baseos-rpms                    748 k
 python3-perf                      x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     11 M
 webkit2gtk3                       x86_64                 2.46.3-2.el8_10                          rhel-8-for-x86_64-appstream-rpms                  28 M
 webkit2gtk3-jsc                   x86_64                 2.46.3-2.el8_10                          rhel-8-for-x86_64-appstream-rpms                 4.5 M
Installing dependencies:
 kernel-core                       x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     43 M
 kernel-devel                      x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     24 M
 kernel-modules                    x86_64                 4.18.0-553.30.1.el8_10                   rhel-8-for-x86_64-baseos-rpms                     36 M

Transaction Summary
==========================================================================================================================================================
Install  4 Packages
Upgrade  8 Packages

Total download size: 202 M

As kmod-nvidiacosturas instaladas são compatíveis:

$ sudo dnf repoquery --requires kmod-nvidia | awk '$1 == "kernel"'
kernel >= 4.18.0-553.el8_10

Mas não sei o que dizer sobre zfs, pois não há menção de nenhum kernelrequisito em seu RPM:

$ sudo dnf repoquery --requires zfs
Updating Subscription Management repositories.
/bin/sh
/usr/bin/python3.6
libblkid.so.1()(64bit)
libblkid.so.1(BLKID_1.0)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
libcrypto.so.1.1()(64bit)
libdl.so.2()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libnvpair.so.3()(64bit)
libnvpair3(x86-64) = 2.1.15-1.el8
libnvpair3(x86-64) = 2.1.15-2.el8
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.12)(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.3.3)(64bit)
libtirpc.so.3()(64bit)
libudev.so.1()(64bit)
libudev.so.1(LIBUDEV_183)(64bit)
libuuid.so.1()(64bit)
libuuid.so.1(UUID_1.0)(64bit)
libuutil.so.3()(64bit)
libuutil3(x86-64) = 2.1.15-1.el8
libuutil3(x86-64) = 2.1.15-2.el8
libz.so.1()(64bit)
libzfs.so.4()(64bit)
libzfs5(x86-64) = 2.1.15-1.el8
libzfs5(x86-64) = 2.1.15-2.el8
libzfs_core.so.3()(64bit)
libzpool.so.5()(64bit)
libzpool5(x86-64) = 2.1.15-1.el8
libzpool5(x86-64) = 2.1.15-2.el8
openssl
rtld(GNU_HASH)
sysstat
systemd
util-linux
zfs-kmod = 2.1.15

Como posso verificar se a atualização instalada (ou disponível) zfsé compatível com o novo kernel?

rhel
  • 1 respostas
  • 36 Views
Martin Hope
PRouleau
Asked: 2024-11-28 07:32:55 +0800 CST

Crie o comando find a partir de argumentos em um script de shell compatível com POSIX

  • 7

Gostaria de saber se é possível escrever um script compatível com POSIX que crie um findcomando a partir de seus argumentos.

A maneira de fazer isso para Bash (e zsh) é explicada neste outro artigo do SE, mas usando recursos específicos do bash (ou zsh).

A questão original era conseguir construir um comando find como este:

find -iname '*foo*' -o -iname '*bar*' -o -iname '*blah*'

A resposta está no seguinte código de script Bash:

findany() {
    local args=('-iname' "*$1*")
    shift

    while [ "$#" -gt 0 ]; do
        args+=('-o' '-iname' "*$1*")
        shift
    done

    find . "${args[@]}"
}

É possível fazer algo semelhante em um script compatível com POSIX ?

shell-script
  • 1 respostas
  • 45 Views
Martin Hope
Alexandros
Asked: 2024-11-27 20:20:18 +0800 CST

Listar GPUs e variáveis ​​de ambiente relacionadas

  • 7

Uma vez me deparei com um comando de terminal que lista as GPUs disponíveis no sistema junto com as variáveis ​​de ambiente para usá-las. Por exemplo, meu laptop tem uma Nvidia dGPU e uma Intel Arc iGPU, então eu obteria 2 resultados com a placa Nvidia mencionando __GLX_VENDOR_LIBRARY_NAME/ __NV_PRIME_RENDER_OFFLOAD/ __VK_LAYER_NV_optimuse para a placa Intel eu obteria DRI_PRIME.

Meu problema é que não consigo lembrar o comando que forneceu essa informação. Alguém conhece esse utilitário?

gpu
  • 1 respostas
  • 44 Views
Martin Hope
abg1984
Asked: 2024-11-27 18:20:20 +0800 CST

Implementação de unregister_chrdev_region()

  • 6

Então, atualmente estou aprendendo a escrever módulos de kernel/drivers de dispositivo e estava analisando a implementação de unregister_chrdev_region:

https://elixir.bootlin.com/linux/v6.12/source/fs/char_dev.c#L311

/**
 * unregister_chrdev_region() - unregister a range of device numbers
 * @from: the first in the range of numbers to unregister
 * @count: the number of device numbers to unregister
 *
 * This function will unregister a range of @count device numbers,
 * starting with @from.  The caller should normally be the one who
 * allocated those numbers in the first place...
 */
void unregister_chrdev_region(dev_t from, unsigned count)
{
    dev_t to = from + count;
    dev_t n, next;

    for (n = from; n < to; n = next) {
        next = MKDEV(MAJOR(n)+1, 0);
        if (next > to)
            next = to;
        kfree(__unregister_chrdev_region(MAJOR(n), MINOR(n), next - n));
    }
}

O que não entendo é a verificação nesta linha:

https://elixir.bootlin.com/linux/v6.12/source/fs/char_dev.c#L318

if (next > to) next = to;

O loop, como eu vejo, já quebra quando a variável do loop é igual ao limite superior to = from + count. Quando teríamos o caso de encontrarmos o condicional if (next > to)? Qual é o motivo dessa verificação condicional?

linux-kernel
  • 2 respostas
  • 18 Views
Martin Hope
elbarna
Asked: 2024-11-27 09:26:20 +0800 CST

como resolver o erro "interrupção espúria 8259A: IRQ7."?

  • 5

Estou com esse erro no dmesg

"interrupção espúria 8259A: IRQ7."

Eu tentei essas soluções

desabilitar iommu pelo grub

desabilitar iommu na bios

E simplesmente não funcionam

Alguém sabe mais? Obrigado

sistema é

ASUSTeK Pro B550M-C

cpu é AMD Ryzen 3 3200G com Radeon Vega Graphics

ram 64gb

disco são serial ata em raid (zfs)

distro é Debian 12

o kernel é 6.1.0-28-amd64

o sistema funciona bem nada acontece só quero saber se é possível "resolver" essa mensagem, de qualquer forma

EDITAR1

cat /proc/interrupts relatar isso

   5:          0          0          0          0  IR-IO-APIC    5-edge      parport0
   7:          0          0          0          2  IR-IO-APIC    7-fasteoi   pinctrl_amd

e esta linha sobre as interrupções espúrias

 SPU:          0          0          0          0   Spurious interrupts
hardware
  • 1 respostas
  • 19 Views
Martin Hope
John Hawthorne
Asked: 2024-11-27 06:04:50 +0800 CST

O que expr faz ao processar matrizes?

  • 6

Tenho um problema de script BASH que reduzi, mas não consigo entender o que estou vendo. Quero obter uma substring de um array de forma sucinta. Aqui está o que estou vendo no bash, com 'set -x' para que os comandos sejam impressos conforme são executados:

$: read -a colours
+ read -a colours
blue green red yellow pink purple
$: echo ${colours[@]}
+ echo blue green red yellow pink purple
blue green red yellow pink purple
$: expr substr "${colours[@]}" 16 6
+ expr substr blue green red yellow pink purple 16 6
expr: syntax error: unexpected argument ‘yellow’
$: expr substr \"${colours[@]}\" 16 6
+ expr substr '"blue' green red yellow pink 'purple"' 16 6
expr: syntax error: unexpected argument ‘yellow’

A última tentativa do expr substrcomando retornou aspas estranhas para os elementos do array, então de onde isso veio? Ajude-me a entender o que expr substrestá acontecendo aqui ou isso é um bug?

EDIT: Listei abaixo alguns comportamentos desejados em uma string entre aspas simples, mas por que não posso citar um array da mesma maneira?

$: all_colours=${colours[@]}
+ all_colours='blue green red yellow pink purple'
$: expr substr $all_colours 16 6
+ expr substr blue green red yellow pink purple 16 6
expr: syntax error: unexpected argument ‘yellow’
$: expr substr "$all_colours" 16 6
+ expr substr 'blue green red yellow pink purple' 16 6
yellow
bash
  • 1 respostas
  • 8 Views
Martin Hope
Bussiere
Asked: 2024-11-27 01:32:29 +0800 CST

Meia-noite (00:00) significa o horário no final do dia, dependendo da localidade do cron?

  • 6

Aqui na França, meia-noite 00:00 é o fim do dia, em inglês é o começo do dia.

Em uma tabela cron, se um lote for agendado para 00:00 de sexta-feira, ele terminará na manhã de sexta-feira.

Minha pergunta é: alterar o local e o horário altera a definição de meia-noite?

Se eu configurar um servidor com a localidade francesa, o lote agendado para 00:00 de sexta-feira terminará na manhã de sábado?

cron
  • 1 respostas
  • 37 Views
Martin Hope
Autodidactyle
Asked: 2024-11-27 00:53:33 +0800 CST

Posso fazer com que um pipe salve dados no disco em vez de bloqueá-los até que o leitor possa continuar?

  • 8

Existe alguma ferramenta estabelecida onde o pipe vaza para o disco em vez de bloquear o processo upstream?

Por exemplo, em um pipeline tradicional A | B, obtemos o seguinte comportamento quando B não lê do stdin:

  • A emite saída até que o stdout fique cheio
  • Então A é bloqueado até que B leia de stdin

Eu gostaria do seguinte comportamento:

  • A emite uma saída até que seu buffer stdout fique cheio
  • Outras saídas de A são gravadas em um arquivo de cache no disco, de modo que A não é bloqueado
  • Quando B ingere dados do stdin, novos dados do arquivo de cache no disco são lidos (FIFO) no buffer

Existe alguma ferramenta existente que faça isso?

Obrigado!

linux
  • 1 respostas
  • 522 Views
Prev
Próximo

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