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
melston
Asked: 2025-01-06 01:55:11 +0800 CST

Erro /dev/kvm não encontrado com virtualização habilitada

  • 6

Tenho o problema mencionado nesta pergunta . Tenho um sistema Ryzen (Ubuntu 24.04) e olhei a configuração do BIOS e o SVM está habilitado.

Executei as etapas iniciais nesta página para instalar o KVM, mas na etapa 4, quando executei sudo systemctl status libvirtd, obtive:

     Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-05 12:52:55 EST; 1min 5s ago
TriggeredBy: ● libvirtd-ro.socket
             ● libvirtd.socket
             ● libvirtd-admin.socket
       Docs: man:libvirtd(8)
             https://libvirt.org/
   Main PID: 8460 (libvirtd)
      Tasks: 22 (limit: 32768)
     Memory: 20.7M (peak: 25.7M)
        CPU: 413ms
     CGroup: /system.slice/libvirtd.service
             ├─1484 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/li>
             ├─1485 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/li>
             └─8460 /usr/sbin/libvirtd --timeout 120

Jan 05 12:52:55 linux-mini systemd[1]: Starting libvirtd.service - libvirt legacy monolithic daemon...
Jan 05 12:52:55 linux-mini systemd[1]: Started libvirtd.service - libvirt legacy monolithic daemon.
Jan 05 12:52:55 linux-mini dnsmasq[1484]: read /etc/hosts - 8 names
Jan 05 12:52:55 linux-mini dnsmasq[1484]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 names
Jan 05 12:52:55 linux-mini dnsmasq-dhcp[1484]: read /var/lib/libvirt/dnsmasq/default.hostsfile
Jan 05 12:52:55 linux-mini libvirtd[8460]: libvirt version: 10.0.0, package: 10.0.0-2ubuntu8.5 (Ubuntu)
Jan 05 12:52:55 linux-mini libvirtd[8460]: hostname: linux-mini
Jan 05 12:52:55 linux-mini libvirtd[8460]: Unable to open /dev/kvm: No such file or directory

Então algo está impedindo o kvm de iniciar (? - não tenho certeza se isso está correto).

sudo dmesg | grep kvmmostra:

[    4.403905] kvm_amd: NX (Execute Disable) not supported
[  409.676621] kvm_amd: NX (Execute Disable) not supported

Não sei o que isso está me dizendo. lsmod | grep kvmmostra:

kvm                  1404928  0
irqbypass              12288  1 kvm

Estou tentando executar o emulador do Android, mas isso, aparentemente, está impedindo que isso aconteça. Qualquer dica é bem-vinda.

ubuntu
  • 1 respostas
  • 31 Views
Martin Hope
Zero
Asked: 2025-01-05 20:30:37 +0800 CST

bash - divide substrings entre aspas delimitadas por espaços em uma matriz

  • 5

exemplo a seguir:

string=" 'f o o' 'f oo' 'fo o' "
array=($string)
echo "${array[0]}"

saídas:

'f

enquanto a saída esperada é:

'f o o'

A única solução que encontrei foi alterar o delimitador para nova linha (em vez de espaço):

IFS=$'\n'
string="'f o o' # 'f oo' # 'fo o' #"
array=($(echo "$string" | tr '#' '\n'))
echo "${array[0]}"

saídas:

'f o o'

que produz o resultado esperado, no entanto, isso requer definir um delimitador personalizado em string e invocará um novo subprocesso em cada chamada. Gostaria de ver uma solução melhor do que essa, obrigado!

Editar:

A string de exemplo acima deve ser suficiente, mas como alguns perguntaram como é o conteúdo do arquivo, é algo parecido com isto:

'magic1' 'some text' 'another simple text' 'some t£xt'
'magic2' 'another line with simple text' 'foo bar' 'yeah another substring'
'magic3' 'so@m{e$%& te+=*&' 'another substring' 'here is the substring'
'magic4' 'why not another line !' 'yeah I like that' 'the substring yeah !!!'

Ainda mais detalhes (como alguns usuários solicitaram): há uma função personalizada que grepretorna a linha do arquivo acima usando um substring.

por exemplo, minha função find é semelhante a esta:

_find()
{
   string="$(grep "$1" "$file")"
}

então eu chamo assim:

_find "magic2"
echo "$string"

que produz:

'magic2' 'another line with simple text' 'foo bar' 'yeah another substring'

P/S: cada substring é delimitada por espaço, e cada substring é citada entre aspas simples. _findNão é possível editá-la, pois ela é usada por outras funções. Veja os comentários para mais informações.

bash
  • 4 respostas
  • 148 Views
Martin Hope
Greendrake
Asked: 2025-01-05 02:52:48 +0800 CST

Assinatura de arquivo com o mínimo de incômodo para o verificador

  • 5

Suponha que eu queira publicar (ou enviar para alguém) um arquivo. Eu também quero que os destinatários dele possam verificar se quaisquer atualizações futuras dele vêm da mesma fonte/autor do original.

A solução óbvia é enviar o arquivo original com uma chave pública e uma assinatura GPG do arquivo. Quaisquer atualizações subsequentes também serão assinadas.

Entretanto, os verificadores teriam que importar a chave pública para seu chaveiro local.

Não há uma abordagem mais flexível e menos intrusiva? Talvez não GPG, mas outra coisa?

Por exemplo, algo assim seria o ideal:

toolname --verify --pub path/to/public.key --sig path/to/signature path/to/file-to-verify

Parece que o GPG pode fazer isso, mas apenas em 3 etapas peculiares:

gpg --no-default-keyring --keyring ./temp-keyring.gpg --import pub.key
gpg --no-default-keyring --keyring ./temp-keyring.gpg --verify signature.gpg path/to/file
rm ./temp-keyring.gpg

Perguntas relacionadas: um , dois .

gpg
  • 1 respostas
  • 28 Views
Martin Hope
Pompey Magnus
Asked: 2025-01-04 23:44:45 +0800 CST

sintaxe adequada do arquivo de unidade Systemd para fazer os comandos funcionarem

  • 5

Eu tenho esse script que funciona:

#! /usr/bin/bash

export SEQVAL=$(date +%s) &&  sed -i "s/^SEQ1=.*$/SEQ1=${SEQVAL}/" /etc/environment
systemctl restart ccs-srvapp-telemetry.service

Não consigo fazer o que foi dito acima funcionar corretamente em um arquivo de unidade.

a última encarnação que tenho está abaixo, mas houve várias tentativas com várias configurações, todas falhando porque a variável não foi definida ou algo não escapou corretamente no comando sed.

[Unit]
Description=restarts fluent bit with a new SEQ1 to force a logrotate
After=network.target


[Service]
Type=oneshot
EnvironmentFile=/etc/environment
ExecStart=/usr/bin/sh -c 'export SEQVAL=$(date +%s) && sed -i "s/^SEQ1=.*$/SEQ1=${SEQVAL}/" /etc/environment'
ExecStartPost=/bin/systemctl restart ccs-srvapp-telemety.service


[Install]
WantedBy=multi-user.target
systemd
  • 1 respostas
  • 21 Views
Martin Hope
Steve Cohen
Asked: 2025-01-04 11:27:42 +0800 CST

Excluí inadvertidamente um diretório usando o FileZilla. Como posso recuperá-lo?

  • 5

Eu estava usando o FileZilla para tentar transferir alguns arquivos. Fiz um clique do mouse no lugar errado e acabei excluindo um diretório com mais de 14.000 arquivos que eu não queria que fossem excluídos. Tenho certeza de que o FileZilla está fazendo algo como rm -rf e não movendo o diretório para "lixo". Tenho um backup usando o IDrive, mas a função de restauração deles também está falhando. Liguei para eles, então há esperança nessa direção, mas há algo que eu possa fazer para restaurá-lo localmente?

ATUALIZAÇÃO (1 dia depois):

Não importa. Os arquivos não foram deletados. O clique do mouse no FileZilla moveu o diretório abaixo do que estava acima dele na lista. Pensei que tinha verificado isso com o findcomando, mas devo ter feito errado.

Pelo menos restabelecemos o fato de que não há nada que possamos fazer se realmente excluímos a pasta.

E também que não faz mais sentido usar o FileZilla a menos que você esteja gerenciando muitos servidores. Apenas o aplicativo Ubuntu Files simples pode lidar com minhas necessidades, embora esteja um pouco escondido. Alguém sugeriu que eu o usasse, mas não é necessário.

rm
  • 1 respostas
  • 36 Views
Martin Hope
Pietro Battiston
Asked: 2025-01-04 07:23:18 +0800 CST

Como posso realmente consertar um sistema ext4 muito corrompido (mas com hardware OK)?

  • 7

Ao criar um disco USB de instalação, cometi o erro trivial de indicar o dispositivo errado e acabei sobrescrevendo as poucas centenas de megabytes iniciais de um disco de 230 GB.

Os dados não eram extremamente importantes, mas eu ainda gostaria de recuperar o que eu puder. A primeira tentativa, óbvia, foi photorec, que encontrou algumas coisas. Mas então, eu esperava poder "consertar" o que sobrou do sistema de arquivos (afinal, eu sobrescrevi menos de 0,5%).

Então eu tentei executar e2fsckcom várias combinações de parâmetros, incluindo o uso de um superbloco de backup (de forma análoga ao que é sugerido em uma resposta a uma pergunta relacionada ), e acabei com um monte de pastas em "lost+found" - justo. O problema é que algumas dessas pastas ainda dão erros como

ls: cannot access 'lost+found/#26128': Structure needs cleaning

... mas se eu executar novamente e2fsck -f(como sugerido em outras respostas ), não recebo nada de estranho

e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
EData: 191504/15269888 files (0.1% non-contiguous), 48227460/61049344 blocks

... e, a propósito, isso leva apenas alguns segundos, então está claro que não é realmente verificar todo o conteúdo do disco. Tentei verificar outras opções e, por exemplo, tentei -E discard, mas nada mudou: a verificação ainda é muito rápida, e algumas pastas internas lost+foundainda dão os mesmos erros.

Como posso corrigir os erros com essas pastas que dizem "Estrutura precisa de limpeza"?

Observe que o dispositivo está funcionando perfeitamente do ponto de vista de hardware.

filesystems
  • 1 respostas
  • 38 Views
Martin Hope
treuss
Asked: 2025-01-04 06:17:54 +0800 CST

Como evitar que o xfce4-terminal passe shift-pgup/pgdown para o vim

  • 5

Após uma atualização recente do Ubuntu, o comportamento de usar o vim dentro de um terminal xfce4 mudou. As teclas de atalho "Shift+Page Up" e "Shift+Page Down" são mapeadas no terminal xfce4 para "Rolar uma página para cima" e "Rolar uma página para baixo" respectivamente, ou seja, elas emulam o comportamento que os terminais UNIX tiveram por décadas.

Infelizmente, quando inicio o vim em um terminal, parece que essas teclas não são mais manipuladas, pois ele não rola o terminal de volta para o conteúdo que estava antes de iniciar o vim. Usando o xterm em vez do xfce4-terminal, tudo funciona como esperado. Existe alguma configuração que me permita restaurar o comportamento antigo do UNIX e não fazer o terminal agir de forma diferente, dependendo do que está sendo executado no shell?

xfce4-terminal é 1.1.3, vim é 9.1.

vim
  • 2 respostas
  • 23 Views
Martin Hope
Enlico
Asked: 2025-01-04 03:53:05 +0800 CST

"Arquivo muito grande" ao copiar arquivo de 8 GB para dispositivo Apple de 30 GB (pen drive USB sem rótulo)

  • 5

Tenho este arquivo no disco:

$ ls -lh /path/to/some.mkv
-rwxr-xr-x 1 enrico enrico 7.4G Dec 17 18:54 /path/to/some.mkv

então é menos de 8 gigabytes, mas quando tento copiá-lo para um pen drive de 30 GiB, recebo este erro:

cp: error writing '/path/to/some.mkv': File too large

Aqui está o caminho:

$ sudo fdisk -l | tail -n 16

Disk /dev/sdc: 29.3 GiB, 31457280000 bytes, 61440000 sectors
Disk model: USB DISK        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6f20736b

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sdc1        778135908 1919645538 1141509631 544.3G 72 unknown
/dev/sdc2        168689522 2104717761 1936028240 923.2G 65 Novell Netware 386
/dev/sdc3       1869881465 3805909656 1936028192 923.2G 79 unknown
/dev/sdc4       2885681152 2885736650      55499  27.1M  d unknown

Partition table entries are not in disk order.
$ sudo mount /dev/sdc /mnt/foo
$ cd /mnt/foo
$ df . -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc         30G   16K   30G   1% /mnt/foo
filesystems
  • 2 respostas
  • 89 Views
Martin Hope
Radovan Beler
Asked: 2025-01-03 20:54:40 +0800 CST

Tcpdump captura quadros de barramento CAN duas vezes

  • 6

Estou escrevendo um dissector Wireshark para nosso protocolo de barramento CAN e notei que o tcpdump captura quadros CAN duas vezes e sua saída difere do programa candump.

Por exemplo, quando executo os seguintes comandos

$ cansend vcan0 123#R
$ cansend vcan0 123#22

tcpdump mostra a seguinte saída

$ tcpdump -i vcan0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vcan0, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
00:19:18.372611
    0x0000:  2301 0040 0000 0000 0000 0000 0000 0000  #..@............
00:19:18.374097
    0x0000:  2301 0040 0000 0000 0000 0000 0000 0000  #..@............
00:19:33.605064
    0x0000:  2301 0000 0100 0000 2200 0000 0000 0000  #.......".......
00:19:33.610799
    0x0000:  2301 0000 0100 0000 2200 0000 0000 0000  #.......".......

mas o candump mostra isso corretamente.

$ candump vcan0
  vcan0  123   [0]  remote request
  vcan0  123   [1]  22

versão tcpdump

$ tcpdump --version
tcpdump version 4.9.2
libpcap version 1.9.0-PRE-GIT (with TPACKET_V3)

Eu tenho duas perguntas

  1. Existe alguma solução para esse problema ou ele foi resolvido em uma versão mais recente?
  2. Se nenhuma versão ou uma versão mais recente for necessária, posso usar o candump na captura remota do Wireshark? Sei que posso visualizar os logs do candump, mas prefiro a inspeção ao vivo usando a captura remota.
tcpdump
  • 1 respostas
  • 28 Views
Martin Hope
elbarna
Asked: 2025-01-03 07:14:36 +0800 CST

Openzfs, Linux e acl nfsv4

  • 5

No Linux o zfs parece suportar nfsv4acl

zfs set acltype=nfsv4 rpool/ROOT/nas
echo $?
0

Eu crio um fs

zfs create -o mountpoint=/var/pub rpool/pub

e...nada funciona

nfs4_setfacl -e /var/pub
Failed to instantiate ACL.

nfs4_setfacl -a A:fd:OWNER@:rwaDdxtTnNy,A:GROUP@:rwaDdxtTnNy,D:fd:EVERYONE@:rwaDdxtTnNy /var/pub
Failed to instantiate ACL.

Não conheço nenhum outro utilitário para gerenciar nfsv4acl. O que sinto falta?

O zfs parece configurado corretamente para usar o nfs4acl

rpool                      acltype                nfsv4                     local
rpool/ROOT                 acltype                nfsv4                     local
rpool/ROOT/nas             acltype                nfsv4                     local
rpool/ROOT/nas@26-12-2024  acltype                nfsv4                     inherited from rpool/ROOT/nas
rpool/pub                  acltype                nfsv4                     local
rpool/root                 acltype                nfsv4                     inherited from rpool
rpool/tmp                  acltype                nfsv4                     inherited from rpool

EDIT: provavelmente este aplicativo funciona https://github.com/truenas/nfs4xdr-acl-tools o problema é que não compila no Slackware 15, então não posso testá-lo

/usr/bin/libtool --mode=link gcc -o nfs4xdr_torture   nfs4xdr_torture.o   ../libnfs4acl/libnfs4acl.la -lattr  
libtool: link: gcc -o nfs4xdr_torture nfs4xdr_torture.o  ../libnfs4acl/.libs/libnfs4acl.a -lbsd -ljansson -lattr
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:54: multiple definition of `flags2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:54: first defined here
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:67: multiple definition of `perms2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:67: first defined here
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:87: multiple definition of `type2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:87: first defined here
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:98: multiple definition of `aclflags2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:98: first defined here
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:107: multiple definition of `basicperms2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:107: first defined here
/usr/bin/ld: ../libnfs4acl/.libs/libnfs4acl.a(nfs4_json_to_acl.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:117: multiple definition of `basicflags2txt'; ../libnfs4acl/.libs/libnfs4acl.a(nfs4_ace_to_json.o):/root/nfs4xdr-acl-tools/libnfs4acl/../include/nfs4_json.h:117: first defined here
collect2: error: ld returned 1 exit status
gmake[1]: *** [../include/buildrules:47: nfs4xdr_torture] Error 1
make: *** [Makefile:53: default] Error 2
zfs
  • 1 respostas
  • 27 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