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
cardamom
Asked: 2019-02-19 06:01:50 +0800 CST

significado de "brd" na saída de comandos IP

  • 13

No exemplo a seguir:

$ ip a | grep scope.global
    inet 147.202.85.48/24 brd 147.202.85.255 scope global dynamic enp0s3

O que significa o 'brd'?

linux networking
  • 1 respostas
  • 17783 Views
Martin Hope
Philip Kirkbride
Asked: 2019-02-14 23:11:16 +0800 CST

Grep remove linha com 0, mas não com 0,2?

  • 13

Eu tenho um arquivo cujo conteúdo é semelhante ao seguinte.

0
0
0.2
0
0
0
0

Eu preciso remover todas as linhas com um único zero.
Eu estava pensando em usar grep -v "0", mas isso remove também a linha contendo 0.2. Eu vi que poderia usar a -wopção, mas isso também não parece funcionar.

Como posso remover todas as linhas contendo apenas um único 0 e manter todas essas linhas começando com 0?

grep
  • 8 respostas
  • 6633 Views
Martin Hope
Hitanshu Sachania
Asked: 2019-02-13 12:33:46 +0800 CST

O que significam as vírgulas em "${var,,}"?

  • 13
read -p "Enter yes/no   " SOMEVAR

SOMEVAR=`"echo ${SOMEVAR,,}"`

O código acima me dá um ${SOMEVAR,,}: bad substitutionerro.

bash
  • 1 respostas
  • 3658 Views
Martin Hope
Vlastimil Burián
Asked: 2019-02-11 03:41:49 +0800 CST

Que sinal é enviado para programas/scripts em execução no desligamento?

  • 13

Neste momento tenho o seguinte:

# this function is meant for future script expansions
# its purpose is clear, i.e. to clean up some temp files
# now, it is doing nothing, just a special null command
cleanup_on_signal() { :; }

# define functions to handle signals
# treat them as errors with appropriate messages
# example calls:
#    kill -15   this_script_name    # POSIX, all shells compatible
#    kill -TERM this_script_name    # Bash and alike - newer shells
signal_handler_HUP()   {  cleanup_on_signal; print_error_and_exit "\\ntrap()" "Caught SIGHUP (1).\\n\\tClean-up finished.\\n\\tTerminating. Bye!";    }
signal_handler_INT()   {  cleanup_on_signal; print_error_and_exit "\\ntrap()" "Caught SIGINT (2).\\n\\tClean-up finished.\\n\\tTerminating. Bye!";    }
signal_handler_QUIT()  {  cleanup_on_signal; print_error_and_exit "\\ntrap()" "Caught SIGQUIT (3).\\n\\tClean-up finished.\\n\\tTerminating. Bye!";   }
signal_handler_ABRT()  {  cleanup_on_signal; print_error_and_exit "\\ntrap()" "Caught SIGABRT (6).\\n\\tClean-up finished.\\n\\tTerminating. Bye!";   }
signal_handler_TERM()  {  cleanup_on_signal; print_error_and_exit "\\ntrap()" "Caught SIGTERM (15).\\n\\tClean-up finished.\\n\\tTerminating. Bye!";  }

# use the above functions as signal handlers;
# note that the SIG* constants are undefined in POSIX,
# and numbers are to be used for the signals instead
trap 'signal_handler_HUP' 1; trap 'signal_handler_INT' 2; trap 'signal_handler_QUIT' 3; trap 'signal_handler_ABRT' 6; trap 'signal_handler_TERM' 15

Eu quero que o script termine ordenadamente no desligamento, o que agora acontece.

Mas abri uma sugestão de um colega para fazer uma pergunta no CTRL+C ao invés de sair do shell.

Não quero desligar a máquina, não faço isso com frequência, de qualquer forma:

Que sinal é enviado para programas/scripts em execução no desligamento?

linux shell-script
  • 1 respostas
  • 9461 Views
Martin Hope
Tihomir Mitkov
Asked: 2019-02-04 02:04:59 +0800 CST

Por que o til (~) não se expande quando usado com o argumento CLI começando com traço?

  • 13

Perdi algumas horas tentando executar o servidor VNC (x0vncserver) e o cliente se recusou a se conectar com uma mensagem estranha que

No password configured for VNC Auth

O servidor também imprime este erro

 SVncAuth:    opening password file '~/.vnc/passwd' failed

Ok, perdi muito tempo até perceber que o til não era expandido pelo shell, nem pelo x0vncserver. Então eu fiz esses testes

$ echo --PasswordFile=~/.vnc/passwd
--PasswordFile=~/.vnc/passwd

Mas

$ echo PasswordFile=~/.vnc/passwd
PasswordFile=/home/tichomir/.vnc/passwd

Por que é que? Por que o shell se recusa a expandir o til se o argumento começa com um traço? Eu pensei que o til sempre se expandiria desde que não fosse citado, mas aparentemente há outra regra que entra em jogo?

bash shell
  • 1 respostas
  • 1609 Views
Martin Hope
John Greene
Asked: 2019-01-18 10:11:36 +0800 CST

Por que meu kernel Linux Debian não está sendo atualizado após a 'instalação apt'?

  • 13

Passei a maior parte do mês tentando instalar, reinstalar, excluir manualmente e reinstalar o último linux-image-4.9.0-8 (ou dele) no meu Debian 9 (Stretch), mas ele sempre (re) inicializa nessa versão errada do Linux 3.16.0-5.

Eu até deletei todo o /bootconteúdo do diretório e reinstalei.

Eu tenho uma instalação padrão do Debian 9 na /dev/sdaunidade onde /dev/sda1está a /bootpartição autônoma.

Minha lista de verificação:

  • Checou o Manual de Administração do Debian .
  • Nenhum bootloader UEFI no hardware
  • Desativada a opção imageramfs em/etc/kernel-img.conf
  • Sem módulos de kernel sofisticados (nem mesmo NVIDIA nem ATI)
  • Usado corretamente aptem vez deapt-get

Esse é um sistema de quebra-cabeça aqui que eu mesmo encontrei.

O diretório mais recente de /booté:

$ ls -lat /boot
total 106000
drwxr-xr-x 23 root root     4096 Jan 17 12:25 ..
drwxr-xr-x  2 root root     4096 Jan 17 12:17 grub
drwxr-xr-x  3 root root     4096 Jan 17 12:17 .
-rw-r--r--  1 root root 19595458 Jan 17 12:17 initrd.img-4.9.0-8-amd64
-rw-r--r--  1 root root 19446192 Jan 17 12:08 initrd.img-4.9.0-5-amd64
-rw-r--r--  1 root root 19587298 Nov  7 13:58 initrd.img-4.9.0-7-amd64
-rw-r--r--  1 root root   186563 Oct 27 14:46 config-4.9.0-8-amd64
-rw-r--r--  1 root root  3195896 Oct 27 14:46 System.map-4.9.0-8-amd64
-rw-r--r--  1 root root  4232992 Oct 27 14:46 vmlinuz-4.9.0-8-amd64
-rw-r--r--  1 root root   186568 Aug 13 15:31 config-4.9.0-7-amd64
-rw-r--r--  1 root root  3192069 Aug 13 15:31 System.map-4.9.0-7-amd64
-rw-r--r--  1 root root  4232992 Aug 13 15:31 vmlinuz-4.9.0-7-amd64
-rw-r--r--  1 root root 19478453 Feb 19  2018 initrd.img-4.9.0-3-amd64
-rw-r--r--  1 root root   186473 Jan  4  2018 config-4.9.0-5-amd64
-rw-r--r--  1 root root  3185098 Jan  4  2018 System.map-4.9.0-5-amd64
-rw-r--r--  1 root root  4216608 Jan  4  2018 vmlinuz-4.9.0-5-amd64
-rw-r--r--  1 root root   186386 Sep 18  2017 config-4.9.0-3-amd64
-rw-r--r--  1 root root  3180929 Sep 18  2017 System.map-4.9.0-3-amd64
-rw-r--r--  1 root root  4204320 Sep 18  2017 vmlinuz-4.9.0-3-amd64

Percebi que não há imagem/initramfs do Linux 3.16.0-5.

No entanto, a execução uname sempre resulta em:

Linux arca 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08)

O conteúdo do diretório de nível superior e seus links simbólicos também estão corretos:

# ls -lat /
total 112
drwxrwxrwt  14 root root 11264 Jan 17 13:15 tmp
drwxr-xr-x  33 root root  1080 Jan 17 12:46 run
drwxr-xr-x  19 root root  3480 Jan 17 12:45 dev
drwxr-xr-x 178 root root 12288 Jan 17 12:45 etc
dr-xr-xr-x  13 root root     0 Jan 17 12:44 sys
dr-xr-xr-x 195 root root     0 Jan 17 12:44 proc
drwx------  36 root root  4096 Jan 17 12:44 root
drwxr-xr-x  23 root root  4096 Jan 17 12:25 .
drwxr-xr-x  23 root root  4096 Jan 17 12:25 ..
drwxr-xr-x   3 root root  4096 Jan 17 12:17 boot
drwxr-xr-x   2 root root 12288 Jan 17 11:27 sbin
drwxrwxr-x   2 root root  4096 Jan 17 11:27 bin
lrwxrwxrwx   1 root root    29 Nov  7 13:56 initrd.img -> boot/initrd.img-4.9.0-8-amd64
lrwxrwxrwx   1 root root    29 Nov  7 13:56 initrd.img.crap -> boot/initrd.img-4.9.0-7-amd64
lrwxrwxrwx   1 root root    26 Nov  7 13:56 vmlinuz -> boot/vmlinuz-4.9.0-8-amd64
lrwxrwxrwx   1 root root    26 Nov  7 13:56 vmlinuz.crap.4.9.0.7 -> boot/vmlinuz-4.9.0-7-amd64
drwxr-xr-x   6 root root  4096 Oct 11 17:01 opt
drwxr-xr-x  20 root root  4096 Oct 10 16:52 lib
drwxr-xr-x   3 root root  4096 Oct 10 16:34 srv
drwxr-xr-x   8 root root  4096 Sep  5 13:34 home
drwxr-xr-x  13 root root  4096 Mar 17  2018 var
drwxr-xr-x   2 root root  4096 Mar 17  2018 lib64
drwxr-xr-x   7 root root  4096 Feb 19  2018 media
drwxr-xr-x   2 root root  4096 Feb 19  2018 debootstrap
drwxr-xr-x  10 root root  4096 May 16  2017 usr
drwxr-xr-x   2 root root  4096 Oct  8  2016 mnt
drwx------   2 root root 16384 Oct  8  2016 lost+found

Mesmo a partição de inicialização sda1para /bootestá marcada corretamente.

# fdisk /dev/sda

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xfa4b1728

Device     Boot  Start        End    Sectors   Size Id Type
/dev/sda1  *      2048     499711     497664   243M 83 Linux
/dev/sda2       501758 1953523711 1953021954 931.3G  5 Extended
/dev/sda5       501760 1953523711 1953021952 931.3G 8e Linux LVM

Partition 2 does not start on physical sector boundary.

Command (m for help): quit
debian linux-kernel
  • 1 respostas
  • 1610 Views
Martin Hope
Simon
Asked: 2019-01-09 09:09:54 +0800 CST

"Comando não encontrado" ao usar comandos ssh e não absolutos

  • 13

Eu quero usar um comando sobre ssh:

ssh myuser@myhost mycommand

mas fazendo isso eu sempre recebo:

sh: mycommand: command not found

usando o seguinte obviamente funciona:

ssh myuser@myhost /usr/local/bin/mycommand

e eu entendo o porquê: é porque o comando é de alguma forma executado em um shell sem login.

Usar o comando completo ou qualquer outro parâmetro no meu comando ssh não é uma opção no meu cenário. Meu comando é executado por um script que não posso tocar e funcionou em todos os hosts, exceto este.

O host que está me dando o problema é um Synology NAS e a configuração /etc/passwd para esse myuser é:

myuser:x:1048:100::/var/services/homes/myuser:/bin/sh

Novamente:

Eu posso:

  • ssh como myuser em myhost
  • execute como myuser usando o caminho absoluto fornecido pelo qual mycommand
  • execute mycommand (não absoluto) quando já estiver em myhost (via ssh)

Não posso deixar de querer:

  • execute: ssh myuser@myhost mycommand (não absoluto, sem parâmetros adicionais)
shell ssh
  • 2 respostas
  • 37523 Views
Martin Hope
Valentin Bajrami
Asked: 2018-12-22 13:33:15 +0800 CST

Executando um script bash ou binário ac em um sistema de arquivos com a opção noexec

  • 13

Alguém pode explicar em detalhes o que está acontecendo com o seguinte. Vamos imaginar que estou montando um diretório com noexecopção da seguinte forma:

mount -o noexec /dev/mapper/fedora-data /data

Então, para verificar isso, executei mount | grep data:

/dev/mapper/fedora-data on /data type ext4 (rw,noexec,relatime,seclabel,data=ordered)

Agora dentro /dataestou criando um script simples chamado hello_worldda seguinte forma:

#!/bin/bash

echo "Hello World"
whoami

Então eu fiz o script executável por chmod u+x hello_world(isso, no entanto, não terá efeito em um sistema de arquivos com noexecopções) e tentei executá-lo:

# ./hello_world
-bash: ./hello_world: Permission denied

No entanto, pré-pender bashpara o arquivo resulta em:

# bash hello_world
Hello World
root

Então criei um simples hello_world.ccom o seguinte conteúdo:

#include <stdio.h>

int main()
{
    printf("Hello World\n");
    return 0;
}

Compilei usando cc -o hello_world hello_world.c

Agora rodando:

# ./hello_world
-bash: ./hello_world: Permission denied

Então eu tentei executá-lo usando

/lib64/ld-linux-x86-64.so.2 hello_world

O erro:

./hello_world: error while loading shared libraries: ./hello_world: failed to map segment from shared object: Operation not permitted

Portanto, é claro que isso é verdade, pois lddretorna o seguinte:

ldd hello_world
ldd: warning: you do not have execution permission for `./hello_world'
    not a dynamic executable

Em outro sistema em que noexeca opção de montagem não se aplica, vejo:

ldd hello_world
    linux-vdso.so.1 (0x00007ffc1c127000)
    libc.so.6 => /lib64/libc.so.6 (0x00007facd9d5a000)
    /lib64/ld-linux-x86-64.so.2 (0x00007facd9f3e000)

Agora minha pergunta é esta: Por que a execução de um script bash em um sistema de arquivos com noexecopção funciona, mas não um cprograma compilado? O que está acontecendo sob o capô?

linux bash
  • 5 respostas
  • 5097 Views
Martin Hope
lamino
Asked: 2018-12-19 11:42:51 +0800 CST

Isso é um bug de criptografia zip?

  • 13

Eu descobri recentemente um exploit, onde eu (ou supondo que alguém) pode recriptografar meu arquivo zip criptografado sem precisar saber a senha:

#zip --encrypt encrypted.zip -r dir1/

O acima solicitará que o usuário insira uma nova senha. Está faltando alguma coisa ou isso é um problema conhecido?

encryption zip
  • 1 respostas
  • 2977 Views
Martin Hope
Chris Stryczynski
Asked: 2018-12-18 07:32:48 +0800 CST

Como modifico meu arquivo hosts no Nixos?

  • 13

Parece que meu arquivo hosts ( /etc/hosts) aponta para /nix/store/gds7bha3bx0a22pnzw93pgf0666anpyr-etc-hostse é somente leitura.

Como devo modificar este arquivo?

nixos hosts
  • 1 respostas
  • 5463 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