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 / user-59989

Basj's questions

Martin Hope
Basj
Asked: 2024-09-06 16:27:37 +0800 CST

Opção de linha de comando para desabilitar muitos processos no htop

  • 5

Por padrão, htopmostra muito mais processos do que outras ferramentas (top, ps). A solução é pressionar H, como mencionado em Por que há muitos processos listados sob o mesmo título no htop?, para obter a lista de processos mais curta "usual".

Com qual argumento de linha de comando devemos executar htoppara ter esse comportamento?

command-line
  • 1 respostas
  • 34 Views
Martin Hope
Basj
Asked: 2024-01-31 17:32:41 +0800 CST

Liste todos os arquivos em um diretório, recursivamente, classificados por data de modificação

  • 5

A resposta principal de Classificar os arquivos no diretório recursivamente com base na data da última modificação fornece um método para listar todos os arquivos em um diretório, recursivamente, classificados por data de modificação:

find -printf "%TY-%Tm-%Td %TT %p\n" | sort -n

Porém não lista apenas os arquivos, mas também os diretórios. Como listar apenas os arquivos?

bash
  • 1 respostas
  • 37 Views
Martin Hope
Basj
Asked: 2021-12-15 11:50:07 +0800 CST

"systemd-tmpfiles-setup.service" lento no sistema de arquivos somente leitura

  • 1

Em um computador embutido sem cabeça (inicializando em um sistema de arquivos somente leitura ), vejo que systemd-tmpfiles-setup.serviceé bastante lento e impede que outros serviços sejam iniciados mais cedo (verifiquei com systemctl list-dependencies myservice.service).

Como torná-lo mais rápido em um sistema de arquivos somente leitura?

journalctl -u systemd-tmpfiles-setup.servicetambém confirma que leva quase 4 segundos:

-- Logs begin at Sat 2021-12-11 01:55:43 GMT, end at Sat 2021-12-11 01:58:03 GMT. --
Dec 11 01:55:**43** foo systemd[1]: Starting Create Volatile Files and Directories...
Dec 11 01:55:**47** foo systemd-tmpfiles[149]: **rm_rf(/tmp): Read-only file system**
Dec 11 01:55:47 foo systemd-tmpfiles[149]: symlink(/etc/machine-id, /var/lib/dbus/machine-id) failed: Read-only file system
Dec 11 01:55:47 foo systemd-tmpfiles[149]: symlink(../proc/self/mounts, /etc/mtab) failed: Read-only file system
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'coredump': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory 'private': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.X11-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.ICE-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.XIM-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.font-unix': No such file or directory
Dec 11 01:55:47 foo systemd-tmpfiles[149]: Failed to open directory '.Test-unix': No such file or directory
Dec 11 01:55:47 foo systemd[1]: Started Create Volatile Files and Directories.

Aqui está o resultado de systemd-analyze plot:

insira a descrição da imagem aqui

systemd boot
  • 1 respostas
  • 266 Views
Martin Hope
Basj
Asked: 2021-12-15 00:33:40 +0800 CST

Unidades flash USB montadas automaticamente (computador sem periféricos)

  • 1

Para o projeto SamplerBox , até agora eu estava usando /dev/sda1 /media auto nofail 0 0para ter unidades flash USB montadas automaticamente quando inseridas no computador sem periféricos, veja também Auto-mount and auto-remount with /etc/fstab . Mas isso não parece muito confiável, por exemplo, quando uma unidade flash USB é removida e depois inserida novamente.

Que solução leve e fácil de configurar está disponível no Debian para montar automaticamente todos os /dev/sd*dispositivos em/media/ ?

  • Se uma segunda unidade flash estiver conectada, ignore ou monte em outra pasta/media2/

  • Se uma unidade for removida (mesmo sem um umount) e reinserida alguns minutos depois, ela deverá ser montada novamente

O caso de uso é um dispositivo sem cabeça no qual o usuário final pode conectar unidades flash USB e deve ser sempre reconhecido (não importa se eles removeram a unidade flash USB anterior sem pedir permissão no software).

mount usb
  • 1 respostas
  • 1004 Views
Martin Hope
Basj
Asked: 2021-11-13 02:11:01 +0800 CST

Reinicie e reinicie um script se houver erro

  • 0

Eu tenho um script (não escrito por mim, não posso modificá-lo) que tem que rodar por dias, que às vezes falha (sai com erro).

Nesse caso, tudo o que preciso fazer é reiniciar o servidor (não há solução melhor por enquanto) e reiniciar o script. Atualmente faço isso:

  • logar via SSH

  • screen -S job

  • ./myscript.shpara iniciar o trabalho (digamos que este script contém apenas: dothise este processo pode sair com um erro)

  • CTRL A, Dpara separar da tela

  • ...aguardar algumas horas...

  • faça login, retome a tela com screen -r job.

    Se ainda estiver em execução, desconecte e volte mais tarde.
    Se o script falhou, sudo reboot, e inicie na etapa 1, para que o trabalho longo continue.

Como fazer isso sem intervenção manual?

Como automatizar isso e fazer com que o servidor reinicie automaticamente se o script existir com um erro e, em seguida, reinicie o script?

shell-script gnu-screen
  • 1 respostas
  • 541 Views
Martin Hope
Basj
Asked: 2021-09-23 03:41:09 +0800 CST

Durante a entrega de e-mail, como MTA, MDA, POP/IMAP se conectam?

  • 1

Já li Por que usar Dovecot AND Postfix/Sendmail? , Por que usar Dovecot e Postfix? , Por que usar Dovecot e Postfix? que dão a ideia geral, mas aqui estou procurando detalhes mais precisos para entender como os servidores de e-mail se conectam.

Digamos que eu possuo o domínio example.comcom DNS configurado assim:

example.com       MX     mail.example.com
mail.example.com  A      1.2.3.4

e estão instalados postfixno dovecotmeu servidor Debian de IP 1.2.3.4.

Digamos que eu envie um e-mail:

  • do meu endereço ISP [email protected], do meu computador local Thunderbird
  • ... para o endereço[email protected]

Qual é o quadro geral das diferentes conexões que acontecerão durante esse processo?

Está correto o seguinte:

  1. Meu computador local se conecta à smtp.myisp.com(porta 25 ou 587)
  2. O servidor SMTP do meu ISP (postfix?) consulta o DNS example.come eventualmente irá se conectar ao mail.example.com, ou seja, meu próprio servidor onde postfixestá escutando na porta 25 ou 587
  3. Meu servidor postfixsalva o e-mail no disco (onde, por padrão?)
  4. ou postfixenvia o e-mail para dovecot(como eles se conectam?)
  5. Quando eventualmente eu quiser buscar e-mails [email protected]com outra conta Thunderbird, o computador conectará meu servidor 1.2.3.4 na porta 110 ou 995 (POP3).

?

Nesse caso, postfixé o MTA, dovecoté o servidor POP3/IMAP, mas o que é o MDA/LDA (Delivery Agent)?

email postfix
  • 1 respostas
  • 231 Views
Martin Hope
Basj
Asked: 2020-02-04 12:02:47 +0800 CST

Como o rsync funciona neste exemplo simples?

  • 1

Digamos:

  • aé um arquivo de 256 MB contendo bytes aleatórios
  • bé o mesmo arquivo exceto que tem um byte inicial adicional0

Graças a esta resposta , descobri que rsyncé capaz de calcular um "patch binário diff" entre esses dois arquivos:

rsync --only-write-batch=patch b a

Neste exemplo, o patcharquivo tem... apenas 65 KB, então é muito bom.

Em suma, como rsyncdetectar tão poucos byes foram alterados? Inicialmente pensei que iria comparar:

  • a[0:k] e b[0:k]
  • a[k+1:2k] e b[k+1:2k]
  • a[2k+1:3k] e b[2k+1:3k]
  • ...
  • a[Nk:N] e b[Nk:N]

para vários valores de k, por exemplo, a maior potência de 2 possível (2^j), então se não houver correspondência, 2^(j-1), então 2^(j-2), etc.

Mas para esses arquivos ae b, ele falharia totalmente porque, como bé apenas adeslocado de um byte, não haveria pedaços semelhantes! Então esperaríamos patchque fosse... 256 MB.

Mas aqui funciona de uma maneira mais inteligente, como o algoritmo funcionou neste exemplo simples b= um byte concatenado com o conteúdo de a?

rsync diff
  • 1 respostas
  • 186 Views
Martin Hope
Basj
Asked: 2020-02-04 07:30:20 +0800 CST

Diferença de dois grandes arquivos binários brutos semelhantes

  • 16

Digamos que eu tenha um arquivo de 4 GB abcno meu computador local. Fiz o upload para um servidor distante via SFTP, demorou algumas horas.

Agora modifiquei ligeiramente o arquivo (provavelmente 50 MB no máximo, mas não bytes consecutivos neste arquivo) localmente e salvei-o em abc2. Também mantive o arquivo original abcno meu computador local.

Como calcular um diff binário de abce abc2?

Formulários:

  • Eu só poderia enviar um patcharquivo (provavelmente no máximo 100 MB) para o servidor distante, em vez de reenviar o abc2arquivo inteiro (levaria algumas horas novamente!) e recriar abc2no servidor distante abce patchsomente.

  • Localmente, em vez de desperdiçar 8 GB para fazer backup de ambos abce abc2, eu poderia salvar apenas abc+ patch, então levaria < 4100 MB apenas.

Como fazer isso?

PS: para texto, eu sei diff, mas aqui estou procurando algo que possa funcionar para qualquer formato binário bruto, podem ser arquivos zip ou executáveis ​​ou até mesmo outros tipos de arquivo.

PS2: Se possível, não quero usar rsync; Eu sei que ele pode replicar alterações entre 2 computadores de maneira eficiente (não reenviando dados que não foram alterados), mas aqui eu realmente quero ter um patcharquivo, que seja reproduzível posteriormente se eu tiver ambos abce patch.

files diff
  • 5 respostas
  • 10090 Views
Martin Hope
Basj
Asked: 2020-01-10 14:56:07 +0800 CST

Como criar um usuário SFTP isolado/preso?

  • 7

Acabei de criar um novo usuário friendno meu servidor, o objetivo é dar acesso SFTP a um amigo meu, para que ele possa hospedar seu site lá.

Percebi que ao conectar o servidor por SFTP com o usuário friend, a pasta padrão é /home/friend/, mas você pode facilmente sair /home/friend/ e visitar todos os arquivos em acesso de leitura no servidor , como /home/anotheruser/website2/config.php! Eu não quero isso.

Foi-me dito para colocar este usuário em "modo preso/isolado", então, no final do meu padrão sshd_config:

...
Subsystem sftp /usr/lib/openssh/sftp-server

... Eu adicionei isso:

Match User friend
ChrootDirectory /home/friend
ForceCommand internal-sftp

e fez service sshd restart.

Então não consegui mais conectar o servidor por SFTP com user friend, oops! Também tentei substituir Subsystem ...por Subsystem sftp internal-sftpmas o resultado foi o mesmo: friendnão consigo mais conectar o servidor via SFTP.

Pergunta:

Como isolar o usuário friendpara que ele não possa sair de casa /home/friend/via SFTP/SSH?


Nota: Eu já li Como restringir usuários de SFTP a diretórios domésticos usando chroot Jail , Como posso chroot usuários SSH somente sftp em suas casas? , etc

sshd ssh
  • 3 respostas
  • 2663 Views
Martin Hope
Basj
Asked: 2019-11-01 23:04:13 +0800 CST

Listar todos os arquivos presentes em backup2.tar.bz2, mas não presentes em backup1.tar.bz2

  • 1

Isso lista todos os arquivos em dois backups, classificados por tamanho:

tar tvf backup1.tar.bz2 |sort -k3 -n >backup1_files.txt
tar tvf backup2.tar.bz2 |sort -k3 -n >backup2_files.txt

Eu gostaria de listar todos os arquivos presentes em backup2.tar.bz2 mas não presentes em backup1.tar.bz2 , ordenados por tamanho.

Como fazer isso?


NB:

  • Fazer um diffdesses arquivos .txt não funcionará porque as datas de modificação de alguns arquivos não serão as mesmas. Assim, esta pergunta não é uma duplicata de Existe uma ferramenta para obter as linhas em um arquivo que não estão em outro? .

  • A remoção vremoveria as datas de modificação, mas também os tamanhos dos arquivos, portanto, não é uma opção porque seria impossível classificá-los por tamanho.

backup
  • 2 respostas
  • 81 Views
Martin Hope
Basj
Asked: 2018-11-30 09:17:44 +0800 CST

Existe uma solução mais leve para ler/gravar MP3 com Linux+Python?

  • 0

Isso funciona muito bem para exportar um WAV para MP3:

from pydub import AudioSegment
song = AudioSegment.from_wav("test.wav")
song.export("test.mp3", format="mp3", bitrate="256k")

mas requer a instalação ffmpegque leva 338 MB com apt-get install ffmpeg:

insira a descrição da imagem aqui

Estou trabalhando em um pequeno contêiner, portanto, gostaria de evitar o uso de 338 MB para esta tarefa.

Existe uma solução mais leve para ler/gravar MP3 com Python + Linux?

apt python
  • 1 respostas
  • 57 Views
Martin Hope
Basj
Asked: 2018-11-28 04:05:17 +0800 CST

Sincronize uma pasta entre 2 computadores, com um observador de sistema de arquivos para que cada vez que um arquivo for modificado, ele seja imediatamente replicado

  • 23

Eu tenho:

  • um servidor Linux que eu conecto via SSH no IP 203.0.113.0 porta 1234

  • um computador doméstico (atrás de um roteador), IP público 198.51.100.17, que é Debian ou Windows+Cygwin

Qual é a forma mais fácil de ter uma pasta /home/inprogress/ sincronizada (em ambas as direções), um pouco como rsync, mas com um observador do sistema de arquivos , para que cada vez que um arquivo seja modificado, ele seja imediatamente replicado no outro lado? (ou seja, não há necessidade de chamar manualmente um programa de sincronização)

Estou procurando uma solução de linha de comando / sem GUI, pois o servidor é sem cabeça.

Existe uma solução integrada Linux/Debian?

networking filesystems
  • 2 respostas
  • 5424 Views
Martin Hope
Basj
Asked: 2018-04-19 11:58:05 +0800 CST

Se a tela GNU já existir, anexe-a novamente, caso contrário, crie-a

  • 1

Estou tentando fazer isso: se uma tela GNU chamada workerjá existir, conecte-a novamente, caso contrário, crie-a iniciando python example.py.

Eu tentei:

if [ls /var/run/screen/S-root/ |grep -Fxq worker] then screen -r worker else cd /home/www/example/; screen -S worker python example.py fi

mas não parece funcionar.

Há algo errado na sintaxe?

bash gnu-screen
  • 1 respostas
  • 432 Views
Martin Hope
Basj
Asked: 2018-02-14 00:58:30 +0800 CST

Crie uma tela, inicie um comando nela e desconecte

  • 3

Eu gostaria de fazer um comando bash de uma linha que faz isso automaticamente:

screen -S myserver 
python myserver.py  # inside the new screen
CTRL A, D (detach)

Acho que isso não vai funcionar:

screen -S myserver && python myserver.py

porque python myserver.pynão será iniciado dentro do arquivo screen.

command-line gnu-screen
  • 1 respostas
  • 7395 Views
Martin Hope
Basj
Asked: 2018-02-03 08:07:27 +0800 CST

Perfuração UDP ou TCP para conectar dois pares (cada um atrás de um roteador)

  • 5

Estou tentando conectar diretamente (sem servidor de terceiros) meu computador ao computador de um amigo. Ambos estamos atrás de um roteador ISP e gostaríamos (como um desafio!) de nos conectar sem modificar a configuração do roteador .

Conforme sugerido aqui e aqui , tentamos a perfuração TCP:

myself$ nc -p 7777 public-ip-friend 8888
friend$ nc -p 8888 public-ip-myself 7777

e perfuração UDP:

myself$ nc -u -p 7777 public-ip-friend 8888
friend$ nc -u -p 8888 public-ip-myself 7777

mas nenhum deles funcionou.

Como resolver isso?

Nota: VPS (não atrás de um NAT) <--> meu computador doméstico (ainda atrás do roteador) funciona com o mesmo método.

tcp networking
  • 1 respostas
  • 3605 Views
Martin Hope
Basj
Asked: 2017-11-23 09:11:55 +0800 CST

Recebendo e-mail em um novo Debian fresco

  • 0

Reinstalei um Debian 8 limpo e fresco no meu VPS.

Tudo está configurado para valores padrão.

dpkg -s exim4e dpkg -s postfixdiz que o exim não está instalado e que o postfix está instalado. Isso é confirmado por lsof -i :25que mostra um PID 478 e, em seguida, ps p 478mostra 478 ? Ss 0:00 /usr/lib/postfix/master. Eu não fiz apt-get install postfix, parece que foi instalado por padrão.

Já fiz um registro DNS MX example.compelo meu registrador, direcionando-o para o meu servidor.

Acabei de enviar um e-mail do meu Gmail para [email protected].

  1. Eu ainda vejo No mailao fazer $ mail.

  2. Como ver se chegou algo para postfix?

  3. Existe uma configuração a ser feita em uma nova instalação do Debian para aceitar e-mails da Internet?

  4. Devo criar a caixa de correio rootlocalmente, para aceitar e-mails que chegam de remetentes externos para [email protected]?


Aqui está o resultado de iptables(configuração padrão não modificada):

root@blah:~# iptables -nvL
Chain INPUT (policy ACCEPT 77135 packets, 50M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 2 packets, 120 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 66416 packets, 11M bytes)
 pkts bytes target     prot opt in     out     source               destination

Eu vejo agora cat /var/log/mail.lognisso:

Nov 22 11:57:32 blah postfix/smtpd[10485]: connect from mail-ua0-f171.google.com[209.85.xxx.xxx]  
Nov 22 11:57:32 blah postfix/smtpd[10485]: NOQUEUE: reject: RCPT from mail-ua0-f171.google.com[209.85.xxx.xxx]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-ua0-f171.google.com>  
Nov 22 11:57:32 blah postfix/smtpd[10485]: disconnect from mail-ua0-f171.google.com[209.85.xxx.xxx]
debian email
  • 2 respostas
  • 581 Views

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