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

Joseph Sible-Reinstate Monica's questions

Martin Hope
Joseph Sible-Reinstate Monica
Asked: 2024-12-09 01:06:13 +0800 CST

Como posso substituir iptables por iptables-nft de forma não interativa no Arch Linux?

  • 6

Estou tentando criar um Dockerfile para uma imagem do Arch Linux com iptables-nftinstalado. Se eu executar a archlinuximagem do Docker interativamente e então pacman -Syu iptables-nft, me perguntam iptables-nft-1:1.8.10-2 and iptables-1:1.8.10-2 are in conflict. Remove iptables? [y/N]e Proceed with installation? [Y/n]. Responder sim para ambas as perguntas faz o que eu quero.

O problema surge quando tento fazer o script no Dockerfile, onde não consigo responder interativamente a essas perguntas. Minha primeira tentativa foi RUN pacman --noconfirm -Syu iptables-nft, mas isso não funciona porque --noconfirmsignifica ir com a resposta padrão, e a resposta padrão para a primeira pergunta é não. Então tentei remover iptablesprimeiro antes de instalar iptables-nft, mas iproute2depende de ou iptables, iptables-nfte basedepende de iproute2.

Isso me deixa com algumas abordagens que funcionam tecnicamente, mas todas me deixam com preocupações:

  1. RUN yes | pacman -Syu iptables-nftfunciona, mas responder cegamente ya qualquer pergunta que o pacman fizer quebraria se ele fizesse uma pergunta que não fosse sim-não, e se ele fizesse qualquer pergunta padrão não diferente de "Remover iptables?", provavelmente seria ruim responder sim cegamente a elas também.
  2. RUN pacman --noconfirm -Rdd iptables && pacman --noconfirm -Syu iptables-nftfunciona, mas se iptablesalguma vez surgirem dependências que iptables-nftnão sejam satisfatórias, o sistema ficará quebrado e, se houver pacotes que foram instalados apenas porque o antigo iptablesprecisava deles, eles ficarão para trás indefinidamente.
  3. RUN pacman --noconfirm -Rsdd iptables && pacman --noconfirm -Syu iptables-nftfunciona, mas apresenta o mesmo risco de quebra de sistema que o #2, e também desinstala vários outros pacotes apenas para reinstalá-los imediatamente.

Existe uma solução melhor do que qualquer uma das acima? Idealmente, eu gostaria apenas de um equivalente pacman de dnf swap, mas não consigo encontrar nada parecido.

arch-linux
  • 1 respostas
  • 101 Views
Martin Hope
Joseph Sible-Reinstate Monica
Asked: 2022-06-17 18:49:36 +0800 CST

Como o bash sabe sobre o coprocesso de seu pai nessa situação e por que uma linha shebang o altera?

  • 2

outer.sh:

ls -l /proc/$$/exe
coproc cat
./inner.sh
kill $!

inner.sh:

ls -l /proc/$$/exe
set | grep COPROC || echo No match found
coproc cat
kill $!

Quando executo ./outer.sh, isso é impresso:

lrwxrwxrwx 1 joe joe 0 Jun 16 22:47 /proc/147876/exe -> /bin/bash
lrwxrwxrwx 1 joe joe 0 Jun 16 22:47 /proc/147879/exe -> /bin/bash
No match found
./inner.sh: line 3: warning: execute_coproc: coproc [147878:COPROC] still exists

Já que COPROCe COPROC_PIDnão estão definidos na criança, como ele sabe sobre o do pai para poder me dar esse aviso?

Além disso, descobri que, se eu adicionar #!/bin/bashao topo de inner.sh, ou se eu chamar bash ./inner.shem vez de apenas ./inner.shde outer.sh, o aviso desaparecerá. Por que isso muda alguma coisa, já que está sendo executado com um subprocesso bash de qualquer maneira?

bash shebang
  • 1 respostas
  • 83 Views
Martin Hope
Joseph Sible-Reinstate Monica
Asked: 2021-11-12 09:01:00 +0800 CST

Como faço para ignorar "Esta operação não é permitida porque interromperá o sistema. Abortar." no Pop!_OS?

  • 5

No Pop!_OS, estou tentando remover um pacote apt marcado como "essencial". Eu entendo as consequências e sei como ter certeza de que ainda poderei usar meu sistema depois. Em exemplos e documentação sobre isso on-line, ele diz que tudo que eu preciso fazer é digitar Yes, do as I say!no apt, mas em vez de ser solicitado a fazer isso, apenas recebo esta mensagem:

This operation is not permitted because it will break the system.
Abort.

Este é meu próprio sistema, então eu não deveria precisar de permissão para remover quaisquer pacotes que eu quisesse e então lidar com as consequências eu mesmo. Como posso contornar isso?

apt pop-os
  • 2 respostas
  • 1010 Views
Martin Hope
Joseph Sible-Reinstate Monica
Asked: 2018-09-09 14:56:28 +0800 CST

Sistema com apenas IPv6, não IPv4?

  • 2

https://web.archive.org/web/20160528234959/https://wiki.freebsd.org/IPv6Only discute uma imagem do FreeBSD que suporta apenas IPv6, não IPv4. Essa página não está mais ativa, no entanto (daí meu link de arquivo), e não consigo encontrar nada mais recente sobre isso. Minha pergunta: é possível hoje, em qualquer sistema UNIX ou Linux moderno, suportar apenas IPv6 e não IPv4, assim como a antiga imagem do FreeBSD fazia? Tudo bem se a maneira de fazer isso requer um kernel personalizado ou trabalho semelhante.

Outros lugares em que vi isso foram perguntados (todos datados depois que fiz essa pergunta originalmente):

  • https://ungleich.ch/en-us/cms/blog/2019/01/09/die-ipv4-die/
  • https://lkml.org/lkml/2019/4/25/257
ipv6
  • 3 respostas
  • 1377 Views
Martin Hope
Joseph Sible-Reinstate Monica
Asked: 2018-08-28 14:14:43 +0800 CST

Por que strace e ltrace fazem com que o EINTR aconteça?

  • 3

Considere este programa:

#include <stdio.h>
#include <sys/epoll.h>

int main(void) {
       int epfd = epoll_create1(0);
       struct epoll_event event;
       event.events = EPOLLIN;
       event.data.fd = 0;
       epoll_ctl(epfd, EPOLL_CTL_ADD, 0, &event);
       epoll_wait(epfd, &event, 1, -1);
       perror("epoll_wait");
       return 0;
}

Quando executo este programa por si só, redimensionar o terminal (gerando assim SIGWINCH) não faz nada com ele e continua aguardando entrada em stdin. Quando eu executo dentro de strace ou ltrace, o SIGWINCH resulta em erro de epoll_wait com EINTR. Meu entendimento do EINTR é que ele só é gerado se um sinal chamar um manipulador de sinal em seu código, mas não tenho nenhum deles registrado. Eu pensei que strace ou ltrace poderia estar configurando um para mim, então tentei defini-lo explicitamente como SIG_IGN, mas isso ainda não impediu o EINTR. Por que isso está acontecendo?

signals system-calls
  • 1 respostas
  • 765 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