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
Alex Poca
Asked: 2018-07-05 09:36:48 +0800 CST

wget: como baixar um arquivo servido mantendo seu nome

  • 20

Um pequeno servidor IoT retorna um arquivo, cujo nome é dado pela data e hora atuais, para torná-lo único. O formato é 2018.07.04.18.22.45.dat.

Solicitando endereço XX.XX.XX.XX:5001/readem um navegador (com o cache do navegador desabilitado), o arquivo é retornado com seu nome original.

Usando wget, infelizmente, não consigo preservar o nome do arquivo: wget XX.XX.XX.XX:5001/readretorna o conteúdo adequado, mas com name read, read.1, read.2, etc.

Existe a possibilidade de coletá-lo mantendo o nome, usando wgetou outros comandos?

ADDENDUM : usando curl XX.XX.XX.XX:5001/readeu obtenho o conteúdo bruto em vez do arquivo.

ADDENDUM : como uma solução imperfeita, posso gerar um nome de arquivo com base no timestamp com wget -o $(date "+%Y.%m.%d-%H.%M.%S.%N.dat") XX.XX.XX.XX:5001/read. Claro que não corresponde ao nome do arquivo original.

wget
  • 1 respostas
  • 16708 Views
Martin Hope
Chris
Asked: 2018-06-24 11:34:57 +0800 CST

jq - imprime valores em uma linha

  • 20

entrada json:

[
  {
    "name": "cust1",
    "grp": [
      {
        "id": "46",
        "name": "BA2"
      },
      {
        "id": "36",
        "name": "GA1"
      },
      {
        "id": "47",
        "name": "NA1"
      },
      {
        "id": "37",
        "name": "TR3"
      },
      {
        "id": "38",
        "name": "TS1"
      }
    ]
  }
]

esperado, na saída são duas linhas:

name: cust1
groups: BA2 GA1 NA1 TR3 TS1

Eu estava tentando construir filtro sem sucesso..

$ jq -r '.[]|"name:", .name, "groups:", (.grp[]|[.name]|@tsv)' test_json
name:
cust1
groups:
BA2
GA1
NA1
TR3
TS1

Atualização: a solução fornecida abaixo funciona bem, mas não previ o caso quando não existe nenhum grupo:

[
  {
    "name": "cust1",
    "grp": null
  }
]

nesse caso, a solução fornecida retorna erro:

$ jq -jr '.[]|"name:", " ",.name, "\n","groups:", (.grp[]|" ",.name),"\n"' test_json2
name: cust1
jq: error (at test_json2:6): Cannot iterate over null (null)

qualquer solução é apreciada.

json jq
  • 2 respostas
  • 43132 Views
Martin Hope
Rui F Ribeiro
Asked: 2018-06-17 15:33:06 +0800 CST

obtendo o Checkpoint VPN SSL Network Extender funcionando na linha de comando

  • 20

A ferramenta de linha de comando oficial Checkpoint out da CheckPoint, para configurar uma VPN SSL Network Extender não está mais funcionando na linha de comando do Linux. Também não é mais suportado ativamente pelo CheckPoint.

No entanto, existe um projeto promissor, que tenta replicar o applet Java para autenticação, que conversa com o snxutilitário de linha de comando, chamado snxconnect.

Eu estava tentando colocar o snxconnectutilitário de texto para funcionar no Debian Buster, fazendo:

sudo pip install snxvpn

e

export PYTHONHTTPSVERIFY=0
snxconnect -H checkpoint.hostname -U USER 

No entanto, estava morrendo principalmente com um erro HTTP de:

HTTP/1.1 301 Moved Permanently:

ou:

Got HTTP response: HTTP/1.1 302 Found

ou:

Unexpected response, try again.

O que fazer sobre isso?

PS. O cliente oficial do EndPoint Security VPN está funcionando bem no Mac High Sierra e no Windows 10 Pro.

debian vpn
  • 2 respostas
  • 83539 Views
Martin Hope
Dave
Asked: 2018-05-15 12:04:53 +0800 CST

Como obtenho apenas o PID, sem nenhuma informação extra, de um processo rodando na porta 3000?

  • 20

Estou usando o CentOS 7. Quero obter o PID (se houver) do processo em execução na porta 3000. Gostaria de obter esse PID para salvá-lo em uma variável em um script de shell. Até agora eu tenho

[rails@server proddir]$ sudo ss -lptn 'sport = :3000'
State      Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port
Cannot open netlink socket: Protocol not supported
LISTEN     0      0                                            *:3000                                                     *:*                   users:(("ruby",pid=4861,fd=7),("ruby",pid=4857,fd=7),("ruby",pid=4855,fd=7),("ruby",pid=4851,fd=7),("ruby",pid=4843,fd=7))

mas não consigo descobrir como isolar o PID sozinho sem todas essas informações extras.

linux shell-script
  • 5 respostas
  • 13193 Views
Martin Hope
excalibur
Asked: 2018-04-14 00:24:51 +0800 CST

Volume do fone de ouvido Bluetooth muito baixo (somente no arco)

  • 20

Conectei um par de AirPods a tudo que pude. Android, OSX, Linux Mint, Arch Linux. Parece ótimo em todos eles, mas quando conectado no Arch, consigo obter menos da metade do volume, mesmo se eu maximizar todos os volumes que puder encontrar. É estranho que o Mint acerte o volume. Mudei para o Linux Mint por um tempo exatamente por esse motivo. Mas eu prefiro o Arch. É mais suave e rápido. Pacman é outra ferramenta fácil de usar. No entanto, procurei por todas e quaisquer soluções para o volume do bluetooth, mas nenhuma funcionou. O volume nos fones de ouvido com fio e nos alto-falantes do laptop é alto e claro. O problema existe apenas no dispositivo bluetooth que depende da fonte para definir o volume. Se o dispositivo tiver botões de volume próprios, posso aumentar o volume até o fim.

Nas configurações de som do Gnome, tentei ultrapassar 100%, mas o som está distorcido.

Eu tentei alsamixer e pavucontrol. Todos os volumes estão no máximo, mas só recebo placa Intel e PulseAudio. também devo ter um volume bluetooth?

Também encontrei PulseAudio/Solução de problemas - O ajuste de volume não funciona corretamente, o que mencionou o limite de volume de 65536. Como o som é claro, acredito que esse limite de volume seja a fonte do meu problema. Mas mesmo que eu tente aumentar o volume conforme mencionado lá, não consigo ultrapassar o limite superior de 65536.

$ amixer set Master 12345+
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]

A depuração de informações ruins de dB dos drivers ALSA descreve o mesmo problema, mas não consegui obter nenhuma informação usando esta ferramenta.

Acredito que deve haver uma maneira de definir uma configuração por dispositivo bluetooth e definir os limites inferior e superior. Alternativa, talvez definir o volume para dB em vez do valor absoluto possa ajudar, mas desabilitar volumes planos em /etc/pulse/daemon.conf não fez nada.

A única comparação que consegui fazer com o LinuxMint é que o Mint define dB em vez de valor absoluto. (Eu tenho um USB ao vivo para poder inicializar a qualquer momento no Mint)

Qualquer sugestão é bem-vinda.

arch-linux audio
  • 6 respostas
  • 25132 Views
Martin Hope
Weishan Yang
Asked: 2018-04-06 06:47:45 +0800 CST

Como verificar se o kernel do Linux está habilitado para "Retpoline" ou não?

  • 20

Quanto à vulnerabilidade de segurança "Spectre", o "Retpoline" foi introduzido para ser uma solução para mitigar o risco. No entanto, li um post que mencionava:

Se você construir o kernel sem CONFIG_RETPOLINE, não poderá criar módulos com retpoline e esperar que eles carreguem - porque os símbolos de conversão não são exportados.

Se você construir o kernel com o retpoline, você pode carregar com sucesso os módulos que não são construídos com o retpoline. ( Fonte )

Existe uma maneira fácil e comum/genérica/unificada de verificar se o kernel está habilitado para "Retpoline" ou não? Eu quero fazer isso para que meu instalador possa usar a compilação adequada do módulo do kernel a ser instalado.

linux kernel
  • 2 respostas
  • 20693 Views
Martin Hope
marathon
Asked: 2018-02-12 23:27:33 +0800 CST

Como obtenho o endereço IPv6 com ping da minha máquina?

  • 20

quando tento: $ ip -6 addr recebo algo como:

inet6 fe80::d773:9cf0:b0fd:572d/64 scope link

se eu tentar pingar isso da própria máquina:

$ ping6 fe80::d773:9cf0:b0fd:572d/64
unknown host

$ ping6 fe80::d773:9cf0:b0fd:572d
connect: Invalid argument

O que estou fazendo errado?

linux networking
  • 2 respostas
  • 28037 Views
Martin Hope
wener
Asked: 2018-01-22 22:39:59 +0800 CST

Por que o tráfego de rede Linux passa apenas pela eth0?

  • 20

Eu tenho dois NICs no lado do servidor, eth0? 192.168.8.140 e eth1 ? 192.168.8.142. O cliente envia dados para 192.168.8.142, e espero iftopmostrar o tráfego para eth1, mas isso não acontece. Todas as redes passam por eth0, então como posso testar as duas NICs?

Por que todo o tráfego passa por eth0 em vez de eth1? Eu esperava conseguir 1 Gbit/s por interface. O que há de errado com minha instalação ou configuração?

Servidor

ifconfig

eth0    Link encap:Ethernet  HWaddr 00:00:00:19:26:B0
        inet addr:192.168.8.140  Bcast:0.0.0.0  Mask:255.255.252.0
        inet6 addr: 0000::0000:0000:fe19:26b0/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:45287446 errors:0 dropped:123343 overruns:2989 frame:0
        TX packets:3907747 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:66881007720 (62.2 GiB)  TX bytes:261053436 (248.9 MiB)
        Memory:f7e00000-f7efffff

eth1    Link encap:Ethernet  HWaddr 00:00:00:19:26:B1
        inet addr:192.168.8.142  Bcast:0.0.0.0  Mask:255.255.255.255
        inet6 addr: 0000::0000:0000:fe19:26b1/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:19358 errors:0 dropped:511 overruns:0 frame:0
        TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:1772275 (1.6 MiB)  TX bytes:1068 (1.0 KiB)
        Memory:f7c00000-f7cfffff

Lado do servidor

# Listen for incomming from 192.168.8.142
nc -v -v -n -k -l 192.168.8.142 8000 | pv > /dev/null
Listening on [192.168.8.142] (family 0, port 8000)
Connection from 192.168.8.135 58785 received!

Cliente

# Send to 192.168.8.142
time yes | pv |nc -s 192.168.8.135 -4 -v -v -n 192.168.8.142 8000 >/dev/null
Connection to 192.168.8.142 8000 port [tcp/*] succeeded!

Lado do servidor

$ iftop -i eth0
interface: eth0
IP address is: 192.168.8.140

TX:             cumm:  6.34MB   peak: 2.31Mb   rates: 2.15Mb  2.18Mb  2.11Mb
RX:                    2.55GB          955Mb           874Mb   892Mb   872Mb
TOTAL:                 2.56GB          958Mb           877Mb   895Mb   874Mb

$ iftop -i eth1
interface: eth1
IP address is: 192.168.8.142

TX:             cumm:      0B   peak:     0b   rates:     0b      0b      0b
RX:                    4.51KB         3.49Kb          3.49Kb  2.93Kb  2.25Kb
TOTAL:                 4.51KB         3.49Kb          3.49Kb  2.93Kb  2.25Kb

$ ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:00:00:19:26:b0 brd ff:ff:ff:ff:ff:ff
$ ip link show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:00:00:19:26:b1 brd ff:ff:ff:ff:ff:ff
linux networking
  • 3 respostas
  • 7219 Views
Martin Hope
k0pernikus
Asked: 2018-01-10 03:42:05 +0800 CST

Como extrair parcialmente um enorme arquivo de texto simples compactado?

  • 20

Eu tenho um arquivo zip com tamanho de 1,5 GB.

Seu conteúdo é um arquivo de texto simples grande e ridículo (60 GB) e atualmente não tenho espaço suficiente em meu disco para extrair tudo nem quero extrair tudo, mesmo que tivesse.

Quanto ao meu caso de uso, seria suficiente se eu pudesse inspecionar partes do conteúdo.

Portanto, desejo descompactar o arquivo como um fluxo e acessar um intervalo do arquivo (como se pode fazer cabeça e cauda em um arquivo de texto normal).

Tanto pela memória (por exemplo, extraia no máximo 100kb a partir da marca de 32GB) ou por linhas (me dê as linhas de texto simples 3700-3900).

Existe uma maneira de conseguir isso?

text-processing zip
  • 6 respostas
  • 10755 Views
Martin Hope
PhilBot
Asked: 2018-01-05 16:31:27 +0800 CST

Como encerrar o comando tee do Linux sem matar o aplicativo do qual ele está recebendo

  • 20

Eu tenho um script bash que é executado enquanto a máquina Linux estiver ligada. Eu começo como mostrado abaixo:

( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) &

Após o lançamento, posso ver o comando tee na saída do meu ps , conforme mostrado abaixo:

$ ps | grep tee
  418 root       0:02 tee /tmp/nginx/debug_log.log
3557 root       0:00 grep tee

Eu tenho uma função que monitora o tamanho do log que o tee produz e mata o comando tee quando o log atinge um determinado tamanho:

monitor_debug_log_size() {
                ## Monitor the file size of the debug log to make sure it does not get too big
                while true; do
                                cecho r "CHECKING DEBUG LOG SIZE... "
                                debugLogSizeBytes=$(stat -c%s "/tmp/nginx/debug_log.log")
                                cecho r "DEBUG LOG SIZE: $debugLogSizeBytes"
                                if [ $((debugLogSizeBytes)) -gt 100000 ]; then
                                                cecho r "DEBUG LOG HAS GROWN TO LARGE... "
                                                sleep 3
                                                #rm -rf /tmp/nginx/debug_log.log 1>/dev/null 2>/dev/null
                                                kill -9 `pgrep -f tee`
                                fi
                                sleep 30
                done
}

Para minha surpresa, matar o comando tee também mata por instância start.sh. Por que é isso? Como posso encerrar o comando tee , mas fazer com que meu start.sh continue em execução? Obrigado.

linux scripting
  • 2 respostas
  • 6192 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