Como posso garantir que a implantação "foo" não tenha a anotação "bar"?
Quero definir isso em um manifesto para que o Flux imponha meu estado desejado.
Isso é possível com o atual Modelo de Recursos do Kubernetes?
Como posso garantir que a implantação "foo" não tenha a anotação "bar"?
Quero definir isso em um manifesto para que o Flux imponha meu estado desejado.
Isso é possível com o atual Modelo de Recursos do Kubernetes?
Não encontrei nenhuma maneira de remover um mdraid de um servidor com um comando.
Eu posso pará-lo atravésmdadm --stop /dev/md0
Mas o superbloco ainda está nos aparelhos.
mdadm --zero-superblock DEVICE
precisa de todos os dispositivos (como /dev/sdb1)
Eu sei que posso fazer mdadm --detail /dev/md0
e então vejo os dispositivos.
Eu poderia escrever um script frágil para buscar as strings /dev/sd... da saída de mdadm --detail /dev/md0
, mas gostaria de evitar isso.
Existe uma linha única para remover o superbloco de todos os dispositivos de um mdraid?
Gostaria de evitar analisar a saída de mdadm --detail
, pois parece frágil.
Eu muitas vezes digito | less [ENTER]
.
Eu gostaria de otimizar isso.
Ambiente: Ubuntu 20.04
Isso também precisa funcionar para terminais em execução no navegador.
Alguma idéia de como eu poderia entrar acima da string com menos esforço?
Seria super legal, se a tecla CapsLock pudesse ser usada para isso, já que eu não preciso dessa tecla (e é de fácil acesso com o sistema de digitação de dez dedos).
Estou procurando uma imagem de contêiner comum que eu possa usar para depurar coisas no Kubernetes.
busybox
não funciona, pois tem um bug com nslookup
.
alpine
não contém curl
.
ubuntu
não contém curl
.
Eu gostaria de ter algumas ferramentas comuns como: nslookup, netstat, dig, curl, traceroute, tcptraceroute, ...
Eu sei que poderia, apt update; apt install ...
mas gostaria de ter uma imagem pronta para uso.
Como executar em um nó K8s ?
Até agora eu só encontrei maneiras de executar em contêineres em execução em um nó.
Eu gostaria de evitar ssh
.
Como posso acessar os diretórios de um container a partir do nó que executa o container?
Eu tenho acesso root ao nó mestre. Agora eu gostaria de dar uma olhada no /etc
diretório do etcd
pod/container.
kubectl exec
não ajuda, pois é uma imagem distroless que perde as ferramentas usuais do shell como ls
e tar
.
eu usocontainerd
Descobri que o relatório de status de entrega tem o mesmo ID de mensagem que o e-mail original.
Aqui está o texto do relatório de entrega:
Mensagem DSN recebida:
From: Mail Delivery Subsystem <[email protected]>
To: [email protected]
Subject: DELAY: **********************************************
Message-ID: <[email protected]>
...
**********************************************
** THIS IS A WARNING MESSAGE ONLY **
** YOU DO NOT NEED TO RESEND YOUR MESSAGE **
**********************************************
The original message was received at Wed, 23 Mar 2016 14:36:53 +0100
from [x.x.x.x]
----- Transcript of session follows -----
[email protected]... Deferred: Connection timed out with gmail.de.
Warning: message still undelivered after 4 hours
Will keep trying until message is 4 days old
Correio original de saída correspondente:
From: [email protected]
Message-ID: <[email protected]>
Não consegui encontrar nada sobre isso na página da Wikipédia de mensagens de rejeição .
Existe uma especificação para isso ou é apenas a maneira como esse servidor de e-mail específico lida com isso?
Até agora recebemos novos e-mails com a ferramenta getmail .
Isso funciona bem. Existe um cron job que é executado a cada minuto.
Existe uma maneira de obter o correio mais rápido?
Eu vejo duas maneiras:
A solução 1 é simples:
* * * * * getmail; sleep 25; getmail
Melhores soluções são bem-vindas.
Protocolo: IMAP
É possível chamar este estado via salt-ssh
diretamente?
vim:
pkg.installed
Quero dizer, sem criar um arquivo sls?
Eu tenho um servidor linux que roda em uma VM. O hipervisor é VMWare.
Esta configuração foi feita por um ex-administrador:
server:~ # pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 system lvm2 a-- 119,84g 0
server:~ # vgs
VG #PV #LV #SN Attr VSize VFree
system 1 3 0 wz--n- 119,84g 0
server:~ # lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
home system -wi-ao--- 97,84g
root system -wi-ao--- 20,00g
swap system -wi-ao--- 2,00g
Eu me pergunto: Por quê?
É ótimo que você possa fazer muitas coisas interessantes com o LVM. Mas por que?
Por que não criar um dispositivo de bloco/partição/sistema de arquivos?
A troca pode ser feita em um arquivo.
Uma partição/sistema de arquivos me daria menos dispositivos de bloco. Isso significa que os diretórios no sistema de arquivos têm mais espaço para crescer.
Se eu usar um dispositivo de bloco com um sistema de arquivos, é menos provável que fique sem espaço em disco.
Exemplo: Se os arquivos do "sistema raiz" precisarem de mais de 20 GByte, e "home" tiver espaço sobrando, então está tudo bem.
Aqui está uma arte ascii simplificada da configuração do LVM:
+--------------------+
| |
| Filesystem |
| |
|---------------------
| |
| Logical Volume |
| |
|---------------------
| |
| Volume Group |
| |
----------------------
| |
| Physical Volume |
| |
|---------------------
| |
| Block device |
| |
+--------------------+
Background: Este não é um sistema de alta disponibilidade. Uma reinicialização à noite é sempre possível.
O arquivo /etc/HOSTNAME
no SuSE-Linux contém o nome do host.
Este deve ser o nome de domínio completo ou o nome abreviado (sem ".")?
Pergunta relacionada: socket.getfqdn() não retorna domínio, mas socket.gethostname() sim?
Infelizmente um rpm ( apache2-utils
) tem duas fontes em um servidor.
Se eu tentar atualizá-lo, recebo esta mensagem:
sle-server# zypper in apache2-utils
Loading repository data...
Reading installed packages...
'apache2-utils' is already installed.
There is an update candidate for 'apache2-utils',
but it comes from a repository with a lower priority.
Use 'zypper install apache2-utils-2.4.34-175.1.x86_64' to install this candidate.
Resolving package dependencies...
Nothing to do.
Agora eu quero saber quais versões são instaláveis:
sle-server# zypper info apache2-utils
Loading repository data...
Reading installed packages...
Information for package apache2-utils:
--------------------------------------
Repository : ES standard patch baseline 4Q2018
Name : apache2-utils
Version : 2.4.23-29.27.2
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Support Level : unknown
Installed Size : 221.6 KiB
Installed : Yes (automatically)
Status : up-to-date
Source package : apache2-2.4.23-29.27.2.src
Summary : Apache 2 utilities
Description :
Utilities provided by the Apache 2 Web Server project which are useful
to administrators of web servers in general.
Como posso ver todas as versões instaláveis deste pacote na linha de comando (sem yast)?
Como posso mostrar todos os repositórios de pacotes ativos com zypper
?
Eu preciso da saída para um script de verificação.
Eu sei como listar todos eles. Mas gostaria de evitar analisar essa saída com um regex:
foo-work:~ # LANG=C zypper lr
# | Alias | Name | Enabled | Refresh
--+-----------------------------------+-----------------------------------+---------+--------
1 | openSUSE 12.3 FOO-BAR | openSUSE 12.3 FOO-BAR | Yes | Yes
2 | openSUSE 12.3 FOO-BAR Test | openSUSE 12.3 FOO-BAR Test | Yes | No
3 | openSUSE-12.3 Updates (FOO-BAR) | openSUSE-12.3 Updates (FOO-BAR) | Yes | Yes
4 | openSUSE-12.3-Non-Oss (FOO-BAR) | openSUSE-12.3-Non-Oss (FOO-BAR) | Yes | No
5 | openSUSE-12.3-Oss (FOO-BAR) | openSUSE-12.3-Oss (FOO-BAR) | Yes | No
Eu gostaria de ver os horários de início/parada de um PC Linux.
Encontrei este comando, mas a saída está errada:
last reboot -F
reboot system boot 4.15.0-46-generi Thu Mar 14 10:04:27 2019 - Thu Mar 14 15:31:11 2019 (05:26)
Isso não é verdade. Em vez de 10:04 são 09:04.
Veja a pergunta relacionada: https://askubuntu.com/questions/854567/last-reboot-is-missing-one-hour/859782
Como posso ver os horários corretos de início/parada no Ubuntu 18.04?
Como você resolve isso no Ansible?
Eu tenho um arquivo /etc/foo/foo.config
. Eu quero substituir a string "DisallowBar" para "AlllowBarUntilMidnight" neste arquivo.
O Ansible deve agir nesses casos assim:
Case3 é importante para mim, pois esse estado não deveria existir. É um erro e isso não deve passar silenciosamente.
Nosso cliente tem um domínio. Vamos chamá-lo de exemplo.com.
Estamos executando uma VM na rede do nosso cliente. Vamos chamá-lo de "nosso-vm".
O cliente está acessando a vm com este nome: our-vm.example.com.
O endereço IP é interno, por exemplo 10.1.2.3
O servidor de nomes de nosso cliente (example.com) não resolve o nome do host.
Temos uma VPN para nosso cliente e podemos acessar 10.1.2.3 via endereço IP.
Mas eu gostaria de acessar o host pelo nome.
O que eu quero:
Como configurar o bind desta forma?
Sub-questão: existe um nome para este tipo de configuração?
Esta não é uma duplicata de ( Substituindo algumas entradas DNS no BIND para redes internas ) porque quero que example.com seja tratado pelo cliente.
Eu quero habilitar o log de um servidor fstp como este: https://serverfault.com/a/74234/90324
Mas o sal não faz nada. Reduzi para isso:
enable_logging_of_sftp:
file.replace:
- name: /etc/ssh/sshd_config
- pattern: Sxxxxubsystem
- repl: Syyyubsystem
- ignore_if_missing: False
Ainda assim, sal diz:
ID: enable_logging_of_sftp
Function: file.replace
Name: /etc/ssh/sshd_config
Result: True
Comment: No changes needed to be made
Started: 11:09:24.356010
Duration: 15.231 ms
Changes:
Eu não entendo isso. Claro Sxxxxubsystem
e Syyyubsystem
não estão em /etc/ssh/sshd_config
.
Como ignore_if_missing está faltando é False (que é o padrão de qualquer forma), acho que deveria receber uma mensagem de erro.
Por que não há mensagem de erro se pattern
e repl
não estão no arquivo?
A pergunta acima surgiu desde que eu interpretei mal os documentos. Aqui está a pergunta de acompanhamento que lida com meu caso de uso: Salt: Raise Error if file.replace não encontrou nada para substituir
Após a reinicialização normal, alguns processos wsgi do python falham com 500 (erro interno do servidor):
[20:06:33] [mpm_prefork:notice] AH00171: Graceful restart requested, doing restart
[20:06:36] [wsgi:error] Truncated or oversized response headers received from daemon process 'foo_vums_di2865'
(As linhas de log acima foram cortadas para facilitar a leitura)
Qual seria a razão?
Existe uma maneira de reiniciar o apache sem criar 500 respostas.
Atrasos de alguns segundos são aceitáveis, mas as falhas devem ser evitadas.
Versões:
Descobri que um de nossos servidores roda em uma máquina virtual VMWware e possui um software RAID.
O administrador não está acessível durante os próximos dias.
Acho que um ataque de software em uma VM não faz sentido. Acho que RAID é algo que deve ser tratado pelo hipervisor, não dentro da VM.
O que poderia ser uma razão viável para fazer isso?
cat /proc/mdstat
Personalities : [raid10]
md127 : active raid10 sde1[3] sdc1[1] sdb1[0] sdd1[2]
209712128 blocks super 1.0 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/2 pages [0KB], 65536KB chunk
unused devices: <none>