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
John Smith
Asked: 2024-12-25 19:38:02 +0800 CST

Como posso fazer com que esse script expect funcione consistentemente conforme o esperado?

  • 8

Eu uso uma carteira interativa spectre-clide Spectre , uma moeda similar à Kaspa em seu design. Quando eu quero manualmente obter o saldo da minha carteira, preciso executar spectre-clie então connect, open de dentro de spectre-cli. Tudo isso se parece com isto:

spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
Connected to Spectre node version 0.3.16 at ws://127.0.0.1:19110
$ open
Enter wallet password: 

Your wallet hint is: This is a hint.

$ $ 
• ****************
    • [********]: 4.47042578 SPR   1 UTXOs
      spectre:******************************************************

[********] • 4.47042578 SPR $ 

Eu escrevi um script expect para executar essas etapas para mim (para que a única coisa que eu precisasse digitar fosse minha senha):

#!/usr/bin/expect -f

# Set a timeout (in seconds) for how long to wait for each prompt
set timeout 5

spawn spectre-cli

expect "$ "   
send "connect\r"

expect "$ "  
send "open\r"


interact

Eu obtenho uma saída inconsistente do script. Cerca de 70% das vezes eu obtenho:

./get_balance_works.exp 
spawn spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
connectopen
command not found: connectopen
$ 

enquanto o resto do tempo o script funciona como esperado:

./get_balance_works.exp 
spawn spectre-cli
Spectre Cli Wallet v0.3.16 (type 'help' for list of commands)
$ connect
$ open
Connected to Spectre node version 0.3.16 at ws://127.0.0.1:19110
Enter wallet password: 

Your wallet hint is: This is a hint.

$ $ 
• ****************
    • [********]: 4.47042578 SPR   1 UTXOs
      spectre:******************************************************

[********] • 4.47042578 SPR $ 

Existe uma maneira de fazer o script funcionar conforme o esperado de maneira consistente?

PS: Estou usando um Ubuntu LTS.

scripting
  • 2 respostas
  • 58 Views
Martin Hope
Dima Palov
Asked: 2024-12-25 17:34:30 +0800 CST

Você está em modo de emergência

  • 5

Sou novo no Linux e encontrei esse problema no Pop_os. Ao pressionar ctrl+d, recebo o mesmo erro. Ainda não tentei nada porque tenho medo de quebrar alguma coisa. O que posso fazer para voltar ao normal? Erro que recebi Editar: investiguei os logs com journalctl -xb e aqui estão alguns erros que encontrei (destacados em vermelho nos logs do sistema):

BIOS Error (bug): Could not resolve symbol
[drm] *ERROR* Port F/TC#3: timeout waiting for PHY ready
Failed to insert module 'autofs4': Invalid argument
Same error with modules 'lp', 'ppdev', 'parport_pc', 'msr', 'kyber_iosched'.
Failed to start Load Kernel Modules.
nvme0n1: /usr/lib/udev/rules.d/60-block-pop.rules:6 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:0e.0/pci10000:e0/10000:e0:1d.0/10000:e1:00.0/nvme/nvme0/nvme0n1/queue/scheduler}, ignoring: invalid argument
loop4: /usr/lib/udev/rules.d/60-block-pop.rules:2 Failed to write ATTR{/sys/devices/virtual/block/loop4/queue/scheduler}, ignoring: Invalid argument
Same with loop 0-7
FAT-fs (nvme0n1p2): IO charset iso8859-1 not found
Failed to mount /recovery
Failed to mount /boot/efi.
pop-os
  • 3 respostas
  • 116 Views
Martin Hope
xuhdev
Asked: 2024-12-25 13:42:32 +0800 CST

O Debian Bookworm sempre define `COLUMNS` como um pouco menor que a largura real do terminal

  • 9

No Debian Bookworm, a $COLUMNSvariável bash é sempre um pouco menor que a largura real do terminal. Isso deixa um pequeno espaço no lado direito sempre que executo um programa que roda por less, como man, git help commit, etc. Aqui está uma captura de tela da saída de man bash, observe o espaço em branco no lado direito:

Captura de tela

Entretanto, $COLUMNSno meu Fedora ele está configurado para a largura total do emulador de terminal.

Como posso fazer com que a $COLUMNSvariável seja sempre igual à largura total do emulador de terminal?

Como há muitos programas que passam pelo pager, prefiro não usar uma solução que seja definida COLUMNS=antes de um programa específico ser iniciado.

A solução também deve ser capaz de mudar $COLUMNSquando a janela do terminal for redimensionada, como o que o bash faz por padrão.

bash
  • 1 respostas
  • 168 Views
Martin Hope
Alex Braga
Asked: 2024-12-25 03:30:55 +0800 CST

Substituir caracteres acentuados por perl-rename

  • 8

Estou padronizando o nome de vários arquivos de uma vez, então escrevi uma regex para perl-rename:

perl-rename 'y/A-Z/a-z/; s/ã|á|â/a/g; s/é|ê/e/g; s/í/i/g; s/õ|ó/o/g; s/ú/u/g; s/ç/c/g; s/(?<=\d-)*\s/_/g; s/_+/_/g; s/(?<=\d)_/-/' *

Está funcionando exatamente como esperado:

2024-12-01 certidão de matrícula -> 2024-12-01-certidao_de_matricula

No entanto, pensei que poderia ser simplificado um pouco, então pensei nisso:

perl-rename 'y/A-Z/a-z/; y/ãáâéêíõóúç/aaaeeioouc/; s/(?<=\d-)*\s/_/g; s/_+/_/g; s/(?<=\d)_/-/' *

Os resultados, no entanto, não atenderam às minhas expectativas. Por exemplo:

2024-12-01 certidão de matrícula -> 2024-12-01-certidaao_de_matraccula

Por que o segundo comando não está funcionando, já que ele deveria estar fazendo uma transliteração direta de cada caractere acentuado? Não consigo nem entender o resultado. Obrigado antecipadamente.

regular-expression
  • 1 respostas
  • 87 Views
Martin Hope
netsplit
Asked: 2024-12-25 01:24:36 +0800 CST

como evitar que um servidor nfs sem resposta pare a inicialização sem o nowaitboot?

  • 5

Problema: Um servidor NFS está inativo e seu computador também está inativo!

Especificamente, ele bloqueia a inicialização. Um exemplo menos drástico é você levar seu laptop para seus amigos e então ele não consegue inicializar porque está tentando montar um servidor nfs na sua lan.

Problema confuso: Você não quer montá-lo manualmente após a inicialização, ou talvez o usuário que precisa dele não tenha permissão de montagem. Talvez você seja apenas preguiçoso? Quem se importa, ele deve montar se puder.

Quando pesquisei esse problema, descobri que costumava haver uma opção de inicialização chamada nowaitboot que resolveria esse problema. Infelizmente, ela foi removida há 10 anos. Qual é a alternativa?

Substituições comumente sugeridas:

nofail : causa um atraso enorme (edição: para testes posteriores, nem sempre é um travamento enorme. Uma falha de DNS causará um travamento rápido, mas o servidor inativo causará um longo)

noauto : não monta automaticamente

nfs
  • 2 respostas
  • 24 Views
Martin Hope
Ketho
Asked: 2024-12-25 00:27:16 +0800 CST

Reproduzindo o backdoor XZ Utils no Kali Linux

  • 9

Quero aprender sobre o backdoor do XZ Utils seguindo a demonstração do exploit xzbot e configurando o ambiente . Sei que a versão 5.6.1 do xz-utils deve ter o backdoor, mas não consigo instalar esse pacote comprometido.

Começando com um ambiente limpo Kali Linux 2024.4, ele tem liblzma 5.6.3 e sshdnão parece depender de libsystemd e liblzma. Aparentemente, nem o OpenSSH de estoque nem o portátil vêm com suporte ao systemd. Estou confuso com todos os guias que esperam sshdjá estar vinculados ao liblzma, enquanto ele simplesmente não é para mim.

└─$ dpkg -l | grep liblzma5
ii  liblzma5:amd64                                 5.6.3-1+b1                               amd64        XZ-format compression library

└─$ ldconfig -p | grep liblzma
        liblzma.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/liblzma.so.5

└─$ sshd -V
OpenSSH_9.9p1 Debian-3, OpenSSL 3.3.2 3 Sep 2024

└─$ ldd $(which sshd)
        linux-vdso.so.1 (0x00007fc3de0b8000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fc3ddfde000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fc3dda00000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc3dd80a000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fc3dd768000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc3de0ba000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc3ddfbe000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fc3dd6a7000)

Ao fazer o downgrade para o pacote liblzma 5.6.1 e verificar lddnovamente, nada parece ter mudado.

└─$ wget https://snapshot.debian.org/archive/debian/20240328T025657Z/pool/main/x/xz-utils/liblzma5_5.6.1-1_amd64.deb             
2024-12-24 00:45:29 (4.72 MB/s) - ‘liblzma5_5.6.1-1_amd64.deb’ saved [252188/252188]

└─$ sudo dpkg -i ./liblzma5_5.6.1-1_amd64.deb
dpkg: warning: downgrading liblzma5:amd64 from 5.6.3-1+b1 to 5.6.1-1
(Reading database ... 425071 files and directories currently installed.)
Preparing to unpack ./liblzma5_5.6.1-1_amd64.deb ...
Unpacking liblzma5:amd64 (5.6.1-1) over (5.6.3-1+b1) ...
Setting up liblzma5:amd64 (5.6.1-1) ...
Processing triggers for libc-bin (2.40-3) ...

└─$ dpkg -l | grep liblzma5
ii  liblzma5:amd64                                 5.6.1-1                                  amd64        XZ-format compression library
                                                                                          
└─$ sudo systemctl restart ssh

└─$ ldd $(which sshd)                                                                                               
        linux-vdso.so.1 (0x00007f705e59b000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f705e4c1000)
        libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f705de00000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f705dc0a000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f705e41f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f705e59d000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f705e3ff000)
        libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f705db49000)

Então eu tentei construir o OpenSSH 9.7p1, já que isso foi antes do backdoor se tornar público, se isso talvez ajudasse. Isso exigiu uma reinicialização antes de sshd -Vmostrar 9.7p1

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
tar -xvf openssh-9.7p1.tar.gz
cd openssh-9.7p1
sudo apt install libssl-dev
./configure
make
sudo make install

Mas tanto o libsystemd quanto o liblzma ainda não estavam vinculados ao sshd.

Neste ponto, não tenho a mínima ideia de como instalar ou construir o pacote vulnerável xz-utils. Tive problemas semelhantes ao tentar os mesmos passos com o Ubuntu 24.04

systemd
  • 1 respostas
  • 100 Views
Martin Hope
杨思宇
Asked: 2024-12-24 11:06:03 +0800 CST

por que nmcli obteve vários SSIDs iguais e ponto de acesso SSID nulo

  • 5

captura de tela nmcli

Tentei usar nmcli para obter a lista de access_points, mas obtive várias entradas com o mesmo SSID e algumas com um SSID nulo. Não tenho certeza se isso é um problema.

Minhas informações do sistema: Linux Raiden 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC Qui, 12 Set 2024 17:21:02 +0000 x86_64 GNU/Linux

Versão do NetworkManager: 1.50.0-1

Quero saber por que o NetworkManager retorna o mesmo SSID e SSID nulo.

linux
  • 1 respostas
  • 24 Views
Martin Hope
learninglinux12345
Asked: 2024-12-24 10:59:14 +0800 CST

Adicione uma linha após uma string em um arquivo usando sed

  • 7

Quero encontrar uma string em um arquivo:

exemplo

https://google.com/first/second/45683

e eu gostaria de reescrevê-lo e manter a linha original assim:

https://google.com/first/second/45683
https://yahoo.com/third/fourth/45683

Eu fiz algumas tentativas

sed -r 's@https://google.com/first/second/([a-Z0-9]+)@yahoo.com/third/fourth/\1@' arquivo.txt

saída:

yahoo.com/terceiro/quarto/45683

ele reescreve mas não mantém a linha original.

Outra tentativa

sed -r 'a\s@https://google.com/first/second/([a-Z0-9]+)@yahoo.com/third/fourth/\1@' arquivo.txt

saída:

https://google.com/first/second/45683
https://google.com/first/second/([a-Z0-9]+)@yahoo.com/third/fourth/1@

ele acrescenta ambas as linhas, mas não reescreve a segunda linha.

sed
  • 5 respostas
  • 160 Views
Martin Hope
teeeeee
Asked: 2024-12-24 06:01:36 +0800 CST

Obtendo múltiplas variáveis ​​da saída do comando docker exec em um script bash?

  • 8

Gostaria de executar um script em uma máquina host ( script_on_host.sh), que então alcança dentro de um contêiner docker para obter alguns dados usando um segundo script (script_in_container.sh). Os dados estão disponíveis somente dentro do contêiner, e não diretamente do host, daí o motivo de fazer dessa forma.

Estou com problemas para passar dados entre os dois scripts. Tentei o seguinte:

script_em_container.sh

#!/bin/bash

x=1
y=2
z=6.3
echo $x
echo $y
echo $z

script_no_host.sh

#!/bin/bash

results=$(docker exec mycontainer './script_in_container.sh')
X=$results(1)
Y=$results(2)
Z=$results(3)

Mas ele gera um erro. Alguém pode me ajudar com isso? Existe uma maneira legal ou mais padrão de passar variáveis ​​dessa forma? Sinto que talvez esteja fazendo algo um pouco desajeitado aqui, usando echo para imprimir várias linhas do script do contêiner.

bash
  • 3 respostas
  • 25 Views
Martin Hope
Kamil
Asked: 2024-12-24 04:06:06 +0800 CST

tlrc não funciona com homebrew no mac por motivo desconhecido

  • 5

Eu instalei o pacote usando brew installcomo indicado em READ.mesem ressalvas, então instalei o rust porque era uma dependência ausente, e o comando tlrcainda não é reconhecido. Aqui está a saída do brew info e o uso do comando:

brew info tlrc
==> tlrc: stable 1.9.3 (bottled), HEAD
Official tldr client written in Rust
https://github.com/tldr-pages/tlrc
Conflicts with:
  tealdeer (because both install `tldr` binaries)
  tldr (because both install `tldr` binaries)
Installed
/opt/homebrew/Cellar/tlrc/1.9.3 (12 files, 2.3MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-12-14 at 09:50:31
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/t/tlrc.rb
License: MIT
==> Dependencies
Build: rust ✔
==> Options
--HEAD
    Install HEAD version
==> Caveats
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
==> Analytics
install: 456 (30 days), 1,420 (90 days), 7,478 (365 days)
install-on-request: 456 (30 days), 1,420 (90 days), 7,478 (365 days)
build-error: 0 (30 days)
❯ tlrc h
zsh: correct 'tlrc' to 'tr' [nyae]? n
zsh: command not found: tlrc

rustfoi instalado corretamente:

brew info rust
==> rust: stable 1.83.0 (bottled), HEAD
Safe, concurrent, practical language
https://www.rust-lang.org/
Installed
/opt/homebrew/Cellar/rust/1.83.0 (3,552 files, 312.8MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-12-14 at 09:56:51
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/r/rust.rb
License: Apache-2.0 OR MIT
==> Dependencies
Required: libgit2 ✔, libssh2 ✔, llvm ✔, openssl@3 ✔, pkgconf ✔, zstd ✔
==> Requirements
Required: macOS >= 10.12 (or Linux) ✔
==> Options
--HEAD
    Install HEAD version
==> Caveats
zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions
==> Analytics
install: 38,074 (30 days), 106,686 (90 days), 460,024 (365 days)
install-on-request: 28,723 (30 days), 80,606 (90 days), 344,330 (365 days)
build-error: 248 (30 days)
macos
  • 1 respostas
  • 10 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