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-249806

Wimateeka's questions

Martin Hope
Wimateeka
Asked: 2020-03-05 12:02:48 +0800 CST

Use o comando `bind` interno do bash ao iniciar o chroot

  • 2

Eu tenho um chroot e quero que o chroot tenha seu próprio .inputrcarquivo quando for iniciado e, em seguida, execute um programa.

Estou acostumado a iniciar o chroot chroot <PATH> <PROGRAM_TO_RUN>, então tentei

chroot <PATH> bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN> 

mas depois recebo o erro:

chroot: failed to run command ‘bind’: No such file or directory

Depois de ler o readlinemanual que vi bindera um bashbuilt-in. Então eu tentei usar builtinpara executar o comando assim:

chroot <PATH> builtin bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN> 

mas deu o mesmo erro:

chroot: failed to run command ‘builtin’: No such file or directory

Eu sei executar dois programas juntos via &&funciona para chroot porque testei com:

~# chroot <PATH> echo "yo" && echo "Hi"
yo
Hi
~#

Eu também sei que o bindcomando e o builtincomando funcionam sozinhos dentro do chroot:

~# chroot <PATH> bash
/# builtin -h
bash: builtin: -h: invalid option
builtin: usage: builtin [shell-builtin [arg ...]]
/# builtin bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
/# bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]

Como posso executar o bindcomando dentro do chrootcomando para definir um personalizado .inputrcpara o chroot?

bash chroot
  • 1 respostas
  • 185 Views
Martin Hope
Wimateeka
Asked: 2019-12-07 12:18:32 +0800 CST

Como instalar o xev se não estiver presente

  • 2

Estou me ensinando xmodmape alguns dos tutoriais dizem que você pode obter o código de uma chave usando xev.

Quando tento executar o comando, recebo -bash: xev: command not found

apt-cache policy xevRendimentos em execução N: Unable to locate package xev.

O Google pesquisando e verificando os vários sites de troca de pilha também não possui artigos sobre instalação xev, se estiver faltando.

De qual pacote ele está separado e como faço para instalá-lo?

Estou executando o i386 Debian 8.

debian apt
  • 1 respostas
  • 2536 Views
Martin Hope
Wimateeka
Asked: 2019-10-30 08:54:53 +0800 CST

Como construir um chroot usando o docker?

  • 2

Atualmente, sou capaz de construir um chroot Ubuntu 18.04 de 32 bits na minha máquina de desenvolvedor e queria saber se posso fazer o processo acontecer dentro de um contêiner docker.

O processo que utilizo:

  • Descompacte uma imagem base do Ubuntu ( ubuntu-base-18.04.3-base-i386.tar.gz)
  • Copie o resolve.confdo host para o sistema de arquivos sem tar
  • Monte /sys, /proce/dev
  • Execute chroot /location/of/filesystem /bin/bashpara entrar no chroot e execute a configuração adicional
  • Quando terminar, desmonto tudo e tar o arquivo /location/of/filesystem.

É possível fazer esse mesmo método dentro de um contêiner docker?

Não vejo nada sobre poder montar/desmontar arquivos de dentro de um contêiner docker.

docker
  • 2 respostas
  • 4166 Views
Martin Hope
Wimateeka
Asked: 2019-10-01 10:46:56 +0800 CST

Alternar entre aplicativos X sem um gerenciador de janelas

  • 2

Atualmente tenho uma aplicação Java que interage com uma aplicação web.

O aplicativo Java é iniciado primeiro e se torna um aplicativo de tela inteira; em seguida, chromium-browseré iniciado em cima dele e também se torna um aplicativo de tela cheia.

Eu gostaria de poder alternar entre esses dois aplicativos.

Existe uma maneira de poder ir e voltar entre tornar esses aplicativos visíveis / os principais usando apenas o X e não usar um gerenciador de janelas? Não tenho muitos recursos para executar um gerenciador de janelas tipicamente completo.

Informações da máquina: Linux Debian 8 i386, monitor único, tela única, disco de 4 GB, 2 GB de RAM, sem troca

$ xdpyinfo | grep version
   version number:    11.0
   X.Org version: 1.16.4

Eu tentei usar wmctrle xdotools, mas você precisa de um gerenciador de janelas para eles. Eu continuo recebendo erros como

Seu gerenciador de janelas afirma não oferecer suporte a _NET_ACTIVE_WINDOW, portanto, a tentativa de consultar a janela ativa foi abortada. xdo_get_active_window relatou um erro

e

Não é possível obter as propriedades da lista de clientes. (_NET_CLIENT_LIST ou _WIN_CLIENT_LIST)

debian
  • 1 respostas
  • 1249 Views
Martin Hope
Wimateeka
Asked: 2019-07-09 09:48:34 +0800 CST

set -u encontra valor não definido no heredoc no script bash [duplicado]

  • 1
Essa pergunta já tem resposta aqui :
Erro de 'variável não vinculada' do Bash quando as variáveis ​​são referenciadas no comentário de várias linhas (set -u) [duplicado] (1 resposta)
Fechado há 3 anos .

Eu tenho um script que simplifiquei aqui:

#!/bin/bash
# test.sh

set -u

### test-script ###
cat <<SCRIPT > ~/test-file-output
#!/bin/bash
set -e

usage() {
  cat <<EOF
Does a thing
EOF
}

for opt in "$@"; do
  case $opt in
    -h|--help)
      usage
      exit 0
      ;;
    *)
      echo "Invalid option: $opt" >&2
      usage
      exit 1
      ;;
  esac
done
SCRIPT
chmod +x ~/test-file-output

e porque o script pai tem set -uele está pegando o optvar no script filho no heredoc; o script filho define opto valor de $@.

Existe uma maneira de ignorar todas as vars e textos no heredoc, pois não faz parte do próprio script pai? Eu pensei que iria tratar o heredoc como uma string gigante e não analisá-lo de acordo com a sintaxe do script.

bash variable
  • 1 respostas
  • 305 Views
Martin Hope
Wimateeka
Asked: 2019-06-14 08:25:26 +0800 CST

Altere o layout do teclado sem reiniciar o sistema que se aplica a todas as instâncias de terminal virtual

  • 2

Os dispositivos com os quais trabalho e desenvolvo são fabricados por uma empresa dinamarquesa. Sempre que entramos nos dispositivos baseados no Debian 8, o layout do teclado é QWERTY dos EUA, mas se anexarmos um teclado USB dos EUA ao próprio dispositivo, o layout do teclado é dinamarquês.

Estou tentando encontrar uma maneira simples de definir o layout do teclado em todos os 10 terminais virtuais, pois os usamos para fins de desenvolvimento. (Eles são um mingetty executado por um serviço systemd na inicialização).

Descobri que posso alterar com sucesso o layout para US se:

  • Estou SSH no dispositivo
  • Edite /etc/default/keyboardmanualmente para ter XKBLAYOUT="us"em vez deXKBLAYOUT="dk"
  • Correudevadm trigger --subsystem-match=input --action=change

No entanto, ele não alterou o layout dos terminais virtuais nos quais eu faço login localmente depois.

Posso alterar com sucesso o layout para US para todos os VTs se:

  • Estou SSH no dispositivo ou estou logado localmente
  • Edite /etc/default/keyboardmanualmente para ter XKBLAYOUT="us"em vez deXKBLAYOUT="dk"
  • Reinicie o dispositivo

Existe alguma outra maneira de obter essas alterações sem precisar reiniciar todo o dispositivo?

Eu sei que tudo que eu preciso fazer é mudar o XKBLAYOUTentão quando eu tentar usar setxkbmap -model pc105 -layout useu Cannot open display "default display"volto. Nota: Quando eu ssh ou faço login localmente no dispositivo, sou root e tenho executado todos os comandos como root.

Meu /etc/default/keyboardarquivo é muito simples:

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="dk"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"

Meu objetivo é fazer um script do processo para que tudo o que o QA faça seja executar um script simples para alternar entre US (para que eles possam digitar mais facilmente) e dinamarquês (para que eles possam definir o dispositivo de volta para ser semelhante aos dispositivos de produção que possível).

debian terminal
  • 1 respostas
  • 1735 Views
Martin Hope
Wimateeka
Asked: 2018-08-10 09:52:52 +0800 CST

Dado um arquivo de dispositivo de bloco, como posso listar todas as partes relevantes?

  • 0

Dado um arquivo de dispositivo (ex: /dev/sda) como posso obter uma lista de todas as partições relevantes?

Entrada esperada:

/dev/sda

Saída esperada:

/dev/sda1
/dev/sda2
/dev/sda3
...

Eu sei que existem muitas maneiras de obter informações sobre dispositivos de bloco, como lsblk, blockdev, fdisk, e blkidpara citar algumas, mas eu quero uma solução que seja a mais sucinta (ou seja, não use um número enorme de pipes para grep, sed, awk, uniqetc).

Qual é o forro mais condensado para resolver este problema?

Notas: Estou usando linux (especificamente ubuntu) e usando terminal ou script de shell para resolver esse problema.

shell devices
  • 1 respostas
  • 489 Views
Martin Hope
Wimateeka
Asked: 2018-02-10 07:41:34 +0800 CST

O script do mantenedor postinst impede que o arquivo da unidade systemd seja iniciado automaticamente na instalação

  • 1

Estou criando um pequeno pacote Debian para instalar arquivos de unidade systemd, especificamente *.servicearquivos.

Meu pacote se parece com:

myservice
      | 
      |--debian
            |- comapat
            |- preinst
            |- postinst
            |- rules
            |- myservice.service

Quando instalo meu pacote, os serviços do systemd são desabilitados automaticamente e não inicializam.

Logo após a instalação, systemctl status myservicemostra

root@ubuntu-xenial:~# systemctl status myservice
  ● myservice.service - My Service - echos output and says when it started
  Loaded: loaded (/lib/systemd/system/myservice.service; disabled; vendor preset: enabled)
  Active: inactive (dead)

No entanto, quando instalo meu pacote sem um postinstscript , os serviços systemd são ativados automaticamente e são iniciados após a instalação.

root@ubuntu-xenial:~# systemctl status myservice
● myservice.service - MyService - echos output and says when it started
Loaded: loaded (/lib/systemd/system/myservice.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-02-09 15:06:36 UTC; 10s ago
Main PID: 5024 (sh)
Tasks: 2
Memory: 172.0K
  CPU: 1ms
CGroup: /system.slice/myservice.service
       ├─5024 /bin/sh -c echo 'myservice.service started' && echo $(date +%s) && sleep infinity
       └─5026 sleep infinity

Estou confuso porque meu postinst é "pequeno e burro":

#!/bin/sh -e
# POSTINST script for myservice
set -e

echo "\033[36m HI I'M A POSTINST SCRIPT `date +"%s"` \033[39m"

Por que a presença de um postinst substitui a "ativação e inicialização automáticas" de um serviço systemd?

Que parte do debhelper lida com isso e o que estou perdendo?

Ou o que devo adicionar ao meu postinstscript de manutenção para colocar meus serviços em funcionamento na instalação?


NOTAS: Meu ambiente é uma pequena caixa vagabunda com um provedor de caixa virtual. Estou usando a caixa ubuntu-xenial64 Vagrant . Não tenho certeza se esse ambiente afeta isso.

debian ubuntu
  • 1 respostas
  • 2022 Views
Martin Hope
Wimateeka
Asked: 2018-01-26 11:48:50 +0800 CST

systemd antes e depois das declarações

  • 13

A definição dada no man para systemd unit é um pouco confusa: https://www.freedesktop.org/software/systemd/man/systemd.unit.html

Se uma unidade foo.servicecontém uma configuração Before=bar.servicee ambas as unidades estão sendo iniciadas, bar.servicea inicialização do é atrasada até que foo.serviceseja inicializada. [...] After=é o inverso de Before=, ou seja, enquanto After=garante que a unidade configurada seja iniciada após a inicialização da unidade listada, Before=garante o contrário, que a unidade configurada seja totalmente iniciada antes da unidade listada ser iniciada.

Digamos que eu tenho a.servicee b.service. Eu quero a.servicecomeçar completamente antes b.serviceporque b.servicedepende do a.service.

Depois de ler a página de manual acima mencionada, não consegui encontrar nenhuma explicação conclusiva sobre se:

  • Você só precisa especificar Before=b.serviceno a.servicearquivo da unidade
  • Você só precisa especificar After=a.serviceno b.servicearquivo da unidade
  • Você precisa tanto After=a.service no arquivo da b.serviceunidade quanto Before=b.service no arquivo da a.serviceunidade

O que eu preciso para declarar dependências para arquivos de unidade systemd? Isso importa?

systemd services
  • 1 respostas
  • 23952 Views
Martin Hope
Wimateeka
Asked: 2018-01-23 05:08:47 +0800 CST

Local para colocar o EnvironmentFile do serviço systemd ao criar o pacote debian

  • 12

No momento, estou reescrevendo upstarttrabalhos para usar systemde queria saber:

Onde está o local "padrão" para umEnvironmentFile ?

Pode potencialmente entrar/etc/environment

Pode ser com todos os outros arquivos de serviço em /etc/systemd/service, /run/systemd/systemou /lib/systemd/systemmas não vejo nenhum outro EnvironmentFiles nesses locais para nenhum outro Service.

Eu também debati /etc/default/ou/etc/<PACKAGE_NAME>

Não há um lugar "convencional" documentado para colocá-lo. Muitos dos exemplos que vi parecem usar o /tmp/<FILE_NAME>que não faz sentido, pois /tmpsão apagados na reinicialização, e esses arquivos precisam persistir para que possam ser referenciados sempre que o Servicefor iniciado ou reiniciado.


Antecedentes: Estou gerando o EnvironmentFiletempo de pré-instalação (com scripts de manutenção) antes do pacote debian ser instalado e sei que o arquivo deve estar disponível toda vez que o serviço for iniciado/reiniciado.

files systemd
  • 1 respostas
  • 11896 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