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
Judah
Asked: 2025-04-14 22:26:26 +0800 CST

Editar ou instalar a sequência GRUB do Ubuntu

  • 3

Meu problema é mais complexo do que o título sugere. Tenho um PC que estou usando como servidor. Primeiro, instalei um Ubuntu headless porque era tudo o que eu precisava para executar meus serviços. Em seguida, instalei um Ubuntu padrão junto com a versão headless para me ajudar a acelerar o desenvolvimento dos meus serviços. Meu problema é o seguinte:

Se eu definir a inicialização para a versão headless, ao inicializar, não tenho a opção de inicializar na versão headless. Se eu definir a inicialização para a versão headless, então tenho a opção, mas a inicialização padrão é a versão headless. Quero saber se posso A) adicionar um gerenciador de inicialização para a versão headless que expire e inicialize na versão headless por padrão, ou B) editar a sequência do gerenciador de inicialização para a versão headless.

boot
  • 1 respostas
  • 26 Views
Martin Hope
kj-crypto
Asked: 2025-04-14 19:10:48 +0800 CST

Como verificar se o env existe no bash?

  • 4

Qual é a maneira padrão, no bash, de verificar se uma variável de ambiente está configurada? Estou um pouco confuso entre as seguintes opções:

  1. ! [ -z "${VAR}" ]
  2. [ -n "${VAR}" ]
  3. [ "${VAR}" ]

Ou existe uma abordagem melhor?

bash
  • 2 respostas
  • 87 Views
Martin Hope
Seamus
Asked: 2025-04-14 18:34:54 +0800 CST

Perguntas sobre o comando 'evtest'

  • 5

Estou trabalhando em um projeto que visa usar um pequeno teclado (de 6 teclas) para controlar música tocada por mpd(e mpc) em um Raspberry Pi. Obviamente, preciso "capturar" as entradas do teclado e traduzi-las em comandos para mpd. Não tenho (zero) experiência trabalhando com teclados, mas depois de alguma pesquisa e usando estas perguntas e respostas como ponto de partida , agora tenho um pequeno script funcional que evtestmonitora a saída do teclado.

Há uma declaração no site do Debian sobre o evtestpacote sobre o qual quero perguntar:

O evtest agora está em modo de manutenção e não suporta todos os recursos dos kernels mais recentes; o evemu-record do pacote evemu-tools deve ser usado em seu lugar.

Também testei o evemu-recordcomando no meu script; parece funcionar muito parecido com o evtest.

Tenho duas perguntas: a primeira é se os problemas mencionados evtestsão ou não uma preocupação real, dado o seguinte:

  • o sistema alvo é um Raspberry Pi sem cabeça ('bookworm', 64 bits)
  • o teclado tem apenas 6 teclas e é conectado via USB

Eu também tenho uma pergunta sobre esta afirmação em man evtest:

Se o sinalizador --grab for fornecido no modo de captura, o evtest mantém um EVIOCGRAB no dispositivo. Enquanto esse grab estiver ativo, outros processos não receberão eventos dos dispositivos do kernel.

Isso significa que, se meu script for iniciado @reboot( cron), a saída do teclado de 6 teclas nunca será direcionada a nenhum outro processo? Se for assim, isso me parece "uma coisa boa" e uma potencial vantagem sobre evemu-record.

A segunda pergunta é uma "pergunta de opinião", eu acho, mas eu gostaria de saber se há "vantagens convincentes" reais em escrever esse monitor de teclado em Cvez de em bashcomo eu fiz?

keyboard
  • 1 respostas
  • 23 Views
Martin Hope
Madoc Comadrin
Asked: 2025-04-14 11:37:32 +0800 CST

Onde posso encontrar logs de atualização no Fedora 41?

  • 7

Estou usando Fedora Linux 41 (Workstation Edition)com o desktop Gnome.

Onde posso encontrar logs de atualizações de pacotes mostrando o horário da alteração e a alteração da versão de cada pacote que foi atualizado?

Deixo o Softwareaplicativo atualizar meu computador sempre que ele me avisa que há atualizações disponíveis. Na próxima inicialização, recebo uma notificação informando que os pacotes foram atualizados. Mas onde posso encontrar essa informação depois?

Procurei em arquivos do /var/log/dnf*.logJournal e do Journal, mas não consegui encontrar essas informações.

Algumas fontes sugerem o uso do comando sudo dnf history list. Mas este mostra apenas os pacotes que alterei manualmente.

user@host:~ $ dnf history list
ID Command line                Date and time       Action(s) Altered
10 dnf install podman          2025-03-22 19:30:50                33
 9 dnf remove podman           2025-03-22 19:28:15                33
 8 dnf install odt2txt         2025-03-20 19:48:49                 1
 7 dnf install pdfgrep         2025-02-24 16:10:16                 1
 6 dnf install git-filter-repo 2025-02-06 18:40:01                 1
 5 dnf install python3.12      2025-01-18 16:28:12                 3
 4 dnf install python3.8       2025-01-14 10:25:39                 3
 3 dnf remove python3.12*      2025-01-14 10:24:30                 2
 2 dnf install python3.12      2025-01-13 12:02:36                 2
 1 dnf install 1password       2024-12-03 21:51:57                 5
user@host:~ $ dnf history info 2
Transaction ID : 2
Begin time     : 2025-01-13 12:02:36
Begin rpmdb    : e7a735605a2fd46f438ab398979091536caf0c2065c383b27be5ead0a877c8ce
End time       : 2025-01-13 12:02:47
End rpmdb      : 3088d9d71b2b98054a7bfc26ee602f7d2cd0668b970528156c12ea4beef7c0c9
User           : 1000 user
Status         : Ok
Releasever     : 41
Description    : dnf install python3.12
Comment        : 
Packages altered:
  Action  Package                                Reason     Repository
  Install python3.12-0:3.12.8-2.fc41.x86_64      User       updates
  Install python3.12-libs-0:3.12.8-2.fc41.x86_64 Dependency updates

Espero encontrar informações semelhantes às /var/log/apt/history.logdisponíveis sobre sistemas baseados em Debian.

fedora
  • 1 respostas
  • 55 Views
Martin Hope
sloppy
Asked: 2025-04-14 08:28:02 +0800 CST

Combine várias variáveis ​​em duas linhas e exclua a entrada inteira

  • 5
MATCH1.MATCH2 {
    always same MATCH3
}

Todos os três MATCHdevem corresponder.

entrada:

foo.bar {
    always same bus
}
1.2 {
    always same 3
}
a.b {
    always same c
}
i.ii {
    always same iii
}
b.2 {
    always same c
}
1.2 {
    always same b
}

digamos que eu queira excluir 1e a entrada MATCH(es) (do nome até a chave de 2fechamento )3}

saída:

foo.bar {
    always same bus
}
a.b {
    always same c
}
i.ii {
    always same iii
}
b.2 {
    always same c
}
1.2 {
    always same b
}

Tentei várias abordagens, sedmas nenhuma delas me levou perto:

sed "/$match1\.$match2/{/$match3//d;}" ./input
sed "/^$match1\.$match2 {/,/^always same $match3/d" ./input
# ...

Eu tive muita dificuldade com o fato de haver duas linhas que precisam ser correspondidas. Tentei adicionar \ne .*no meio, mas sem sucesso.

Aqui está o que usei para excluir a entrada correspondendo apenas à primeira linha, se isso ajudar:

sed "/^$match1\.$match2 {/,/^}/d" ./input # no match3
text-processing
  • 5 respostas
  • 77 Views
Martin Hope
Daniel T
Asked: 2025-04-14 06:44:54 +0800 CST

Como priorizar a remoção do cache de páginas do SSD em vez do HDD com velocidade mais lenta?

  • 7

Tenho um HDD grande e lento e um SSD pequeno e rápido. Isso se refere a leituras, não a RAID . Meu desktop trava quase até parar ao retornar ao Firefox ou às páginas de manual após (re)carregar mais de 12 GiB de árvores de compilação do kernel Linux e 39 GiB no total de LLMs diferentes no SSD, enquanto eu só tenho 31 GiB de RAM:

$ free -h
               total        used        free      shared  buff/cache   available
Mem:            31Gi        10Gi       2.4Gi       1.0Gi        19Gi        20Gi
Swap:             0B          0B          0B
$ lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                     8:0    0   1.8T  0 disk  
├─sda1                  8:1    0   512M  0 part  /boot/efi
├─sda2                  8:2    0   1.7G  0 part  /boot
└─sda3                  8:3    0   1.8T  0 part  
  └─sda3_crypt        254:0    0   1.8T  0 crypt 
    ├─vgubuntu-root   254:1    0   1.8T  0 lvm   /
    └─vgubuntu-swap_1 254:2    0   1.9G  0 lvm   
nvme0n1               259:0    0 953.9G  0 disk  
└─nvme0n1p1           259:1    0   100G  0 part  
  └─luks-...          254:3    0   100G  0 crypt /media/...
$ sysctl vm.swappiness
vm.swappiness = 60

O SSD é rápido, então prefiro que o Linux remova os arquivos em cache de página do SSD primeiro. O tempo de leitura sem cache é de segundos, de qualquer forma. O que deve impedir é a remoção de qualquer arquivo em /usrou /home. Meus man basharquivos e dpkg -S bin/bashretornam instantaneamente do cache de página, mas sem cache, levam meio minuto após sair dos LLMs. Mais gravemente, o Firefox precisa da minha ~/.mozillapasta para histórico e cache; com ela sem cache, esperar a barra de endereços funcionar leva minutos.

Estou procurando uma opção de configuração. systemd-runPoderia definir MemoryMax para ktorrent, mas reinicio frequentemente llama-serverpara alternar entre os LLMs de ~6 GiB e não quero um daemon separado para manter o cgroup ativo. Os problemas mancom e dpkgserão corrigidos quando meu /sistema migrar para o SSD, assim que eu resolver fscryptmeus problemas; enquanto isso, o /usrLLM tmpfsdeixaria RAM disponível insuficiente e overlayfsseria muito complexo. A carga de trabalho do LLM poderia, mas não deveria, remontar o SSD como uma solução alternativa. Isso deixa a nicecarga de trabalho de compilação do kernel em d ainda limpando o cache do meu navegador web.

Procurei /sys/block, mas não consegui encontrar a configuração correta. O Cgroups v2 tem opções por dispositivo, mas apenas para cargas de trabalho de gravação paralelas ( io.max), não para controlar como as cargas de trabalho sequenciais afetam o cache. Um patch de 2011 e uma pergunta de 2023 não veem nenhuma interface de espaço do usuário. Qual configuração pode ser usada para forçar a remoção do cache de páginas do SSD antes do cache do HDD?

linux
  • 1 respostas
  • 39 Views
Martin Hope
cacamailg
Asked: 2025-04-14 03:32:44 +0800 CST

rxvt-unicode e xterm cores amarelas diferentes em journalctl

  • 11

Recentemente, notei algo estranho. Se eu executar o comando sudo journalctl -f -u ModemManagerem rxvt-unicode(esquerda) e xterm(direita), rxvt-unicodeo amarelo não aparece quando a mensagem é de aviso.

Ambos os terminais possuem TERM=xterm-256colore notei esse problema somente no amarelo, pois o vermelho aparece nos dois terminais.

Tentei diferentes sequências de escape, mas não consegui detectar o problema.

Esquerda: xterm Direita: urxvt

colors
  • 1 respostas
  • 323 Views
Martin Hope
Alexis Wilke
Asked: 2025-04-13 23:18:27 +0800 CST

Como posso determinar qual software está enviando pacotes TCP na porta 53 com endereços IP locais indefinidos?

  • 5

Estou vendo várias das duas linhas a seguir nos meus logs do dmesg¹:

[602956.308844] [iptables] (10): IN=eno1 OUT=eno2 MAC=xx:yy:..:zz SRC=10.174.26.245 DST=192.168.22.59 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=TCP SPT=53 DPT=47150 WINDOW=28960 RES=0x00 ACK SYN URGP=0 
[602956.652575] [iptables] (10): IN=eno1 OUT=eno2 MAC=xx:yy:..:zz SRC=10.172.0.22 DST=192.168.22.59 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=0 DF PROTO=TCP SPT=53 DPT=44204 WINDOW=28960 RES=0x00 ACK SYN URGP=0 

Meu firewall os bloqueia porque não reconhece os endereços IP 10.172.0.22 e 10.174.26.245.

Na verdade, olhando as listas de endereços IP eno1 e eno2, esses dois não estão incluídos. Eu tenho dois 10.xxx que uso, mas não os dois listados acima (daí o firewall bloqueando esses dois).

Minha rede se parece com isso:

+----------+     +--------+     +--------+     +--------+
| Internet |<--->| Router |<--->| Server |<--->| Laptop |
+----------+     +--------+     +--------+     +--------+

Tanto o servidor quanto o laptop possuem firewalls. O laptop está conectado em 192.168.22.59. Nenhum desses pacotes UDP TCP é enviado a ele.

O eno1 e o eno2 estão no servidor. O eno1 se conecta ao roteador, que se conecta à internet. A conexão do roteador usa endereços de rede local (IPv4 e IPv6). O eno2 é minha rede local (LAN). O servidor está configurado para ENCAMINHAR tráfego entre o laptop e a internet.

O laptop usa uma VPN e suspeito que possa vir dela, mas o laptop também tem um firewall e, portanto, ignoraria esse tráfego. O que me pergunto é de onde esses pacotes estão vindo? Seria de um sistema local ou de algum hacker? Ou a VPN poderia ser a culpada? De qualquer forma, não entendo como um pacote UDP TCP pode estar usando um endereço IP que não está presente em uma interface de rede e, se for local, não vejo como poderia vir de fora. Existe uma maneira de descobrir quem envia esses pacotes, supondo que seja um processo local?

Observação: Tenho o libvirt instalado, mas tentei interromper a VPN que estou usando e não adiantou. Além disso, as duas pontes que ele cria não usam os endereços IP 10.17[24].xx. Além disso, não consigo imaginar nenhum motivo para a VPN enviar pacotes UDP TCP para a máquina errada.

Atualizar

Então, fui até meu laptop e reconectei a VPN. Depois disso, as duas linhas acima pararam de aparecer.

Isso me permitiu ver outra linha:

[608974.298853] [iptables] (192): IN=eno1np0 OUT=eno2np1 MAC=xx:yy:...:zz SRC=192.168.19.2 DST=192.168.22.189 LEN=151 TOS=0x00 PREC=0x00 TTL=63 ID=8281 DF PROTO=UDP SPT=53 DPT=47512 LEN=131 

Este é UDP, mas a questão é que, assim como no laptop, ele precisa de dados do que parece ser um IP local que vem do roteador (portanto, da internet). O dispositivo 189 é minha impressora HP, então talvez ela também tenha um sistema semelhante a uma VPN e falhe em solicitações de DNS de vez em quando dessa maneira.

Resolução

Na verdade, eu consegui ver esses dois IPs na tabela de rotas, o que você pode fazer assim:

$ ip route

Isso significa que meu gráfico seria mais ou menos assim:

+----------+     +-----+     +--------+     +--------+     +--------+
| Internet |<--->| VPN |<--->| Router |<--->| Server |<--->| Laptop |
+----------+     +-----+     +--------+     +--------+     +--------+

Claro, como mencionado pela telcoM, também há o ISP entre o roteador e a VPN, mas ele não é o culpado. Agora, eu DESCARTO esses pacotes sem registrá-los primeiro:

-A bad_tcp_packets -i eno1 -s 10.172.0.0/16 -j DROP
-A bad_tcp_packets -i eno1 -s 10.174.0.0/16 -j DROP

Um ponto a ser observado: isso significa que usar uma VPN pode abrir um conjunto de IPs locais do outro lado. Portanto, você precisa ficar atento a isso, pois isso pode afetar a configuração da sua LAN.


¹ Configurei meu firewall para registrar esses acessos para garantir que eu possa ver esses problemas. No momento, não estou tentando evitar o registro, mas sim entendê-lo.

networking
  • 1 respostas
  • 65 Views
Martin Hope
Matteo
Asked: 2025-04-13 20:51:02 +0800 CST

como passar variáveis ​​de ambiente para singularity exec

  • 7

Tenho um BASHpipeline que em determinado momento executa um Singularitycontêiner com singularity exec da seguinte maneira:

singularity exec --bind `pwd`:/folder --bind $d:/results <image>.sif <tool_command> -i /folder/<file>.fastq -v /results/<output>/<file>.vcf -r /folder/<reference>.fna -s <vcf_sample_name> -j 24 -t 24 -o /results/<output_file_suffix>

Como estou executando vários experimentos ao mesmo tempo com uma matriz, estou redefinindo os experimentos com uma variável de ambiente que desejo adicionar ao <output_file_suffix>; funciona para todas as etapas do pipeline, mas Singularityparece que não consegue ver a(s) variável(is) que estou definindo no meu script...

Alguém tem alguma dica de como fazer isso? Pesquisei um pouco, mas --envparece que não está funcionando. Agradeço desde já!

bash
  • 1 respostas
  • 290 Views
Martin Hope
pglpm
Asked: 2025-04-13 20:39:56 +0800 CST

Como parar um memtester em execução (sem correr o risco de ter que reiniciar)?

  • 5

Pergunta extremamente "de novato": Tenho um sistema operacional rodando sudo memtester ...em uma máquina Ubuntu 22.04, mas dei muita memória para ele testar e está demorando muito (vejo que ele está rodando e atualizando, então me certifiquei de que a RAM fornecida para teste era menor do que a disponível). Gostaria de pará-lo. Estava pensando em tentar com um simples comando Ctrl-c, mas me pergunto se isso causaria algum tipo de travamento, me forçando a reiniciar.

Infelizmente, as páginas de manual não dizem nada sobre como pará-lo.

memory
  • 2 respostas
  • 30 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