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 / 问题

Perguntas[freebsd](unix)

Martin Hope
Harv
Asked: 2024-12-02 10:51:15 +0800 CST

Como excluir um dispositivo multipath (disco)?

  • 5

Isto está no TrueNAS 13.0U6.3 (FreeBSD 13.1-RELEASE-p9)

Eu tinha um disco no meu dado de pool ZFS. Eu o substituí, mas atualizei o TrueNAS (Core) primeiro - acho que eu estava no U6.0 ou U6.1 antes da atualização.

Quando tento substituir o disco morto na minha piscina por um novo, o que aparece para substituir o disco morto é multipath/disk1.

$ gmultipath listmostra isso:

Type: AUTOMATIC
Mode: Active/Passive
UUID: 472fbec0-b03b-11ef-9225-eb3c2b011256
State: OPTIMAL
Providers:
1. Name: multipath/disk1
   Mediasize: 2000398933504 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r0w0e0
   State: OPTIMAL
Consumers:
1. Name: da3
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e1
   State: ACTIVE
2. Name: da7
   Mediasize: 2000398934016 (1.8T)
   Sectorsize: 512
   Stripesize: 4096
   Stripeoffset: 0
   Mode: r1w1e1
   State: PASSIVE

Sei que não criei explicitamente um disco multipath. Fiz uma pequena pesquisa sobre ele e não acho que ele tenha sido habilitado antes - então gostaria de desabilitá-lo/excluí-lo se for possível fazer isso com segurança. Pelo que posso dizer, o dispositivo multipath disk1contém apenas da3e da7, nenhum dos quais está no meu zpool agora (mas qualquer um dos quais eu gostaria de usar para substituir o disco agora morto).

$ sudo gmultipath remove da3 multipath/disk1apenas resulta em gmultipath: Device da3 not found. Eu tentei da7no lugar de da3, e disk1no lugar de multipath/disk1, com o mesmo resultado. Ambos da3e da7aparecem em /dev. O que estou fazendo errado?

$ gmultipath status

          Name   Status  Components
multipath/disk1  OPTIMAL  da3 (ACTIVE)
                          da7 (PASSIVE)

$ glabel status

                                      Name  Status  Components
gptid/ba57595c-ee74-11ec-b51b-399e00f59ed1     N/A  da1p2
gptid/d0b76aad-bfbd-11ec-996d-4d60e9b1c6c6     N/A  da0p1
gptid/ba4d8354-ee74-11ec-b51b-399e00f59ed1     N/A  da6p2
gptid/ba1ee75b-ee74-11ec-b51b-399e00f59ed1     N/A  da4p2
gptid/ba11edb8-ee74-11ec-b51b-399e00f59ed1     N/A  da2p2
gptid/8968c667-48aa-11ef-b8e7-f5ee91c5a64b     N/A  da5p2
gptid/ba05228b-ee74-11ec-b51b-399e00f59ed1     N/A  da8p2
gptid/b9bc5150-ee74-11ec-b51b-399e00f59ed1     N/A  da9p2
gptid/b9cf5ec0-ee74-11ec-b51b-399e00f59ed1     N/A  da1p1
freebsd
  • 1 respostas
  • 25 Views
Martin Hope
Jomy
Asked: 2024-09-08 15:56:03 +0800 CST

Instalando pot no FreeBSD: não existe pool 'zroot'

  • 6

De acordo com a documentação do pot , o seguinte deve ser feito para instalá-lo:

pkg install -y pot
pot init -v

Tentei isso, mas acabei com o seguinte erro:

cannot create 'zroot/pot': no such pool 'zroot'
cannot create 'zroot/pot/bases': no such pool 'zroot'

Não consegui encontrar como resolver esse problema online. Alguém já passou por isso e sabe como consertar?

Informações do sistema:

```                        `       
  ` `.....---.......--.```   -/    -------------
  +o   .--`         /y:`      +.   OS: FreeBSD 14.1-RELEASE-p4 amd64
   yo`:.            :o      `+-    Uptime: 20 hours, 30 mins
    y/               -/`   -o/     Packages: 88 (pkg)
   .-                  ::/sy+:.    Shell: sh
   /                     `--  /    Terminal: /dev/pts/0
  `:                          :`   CPU: AMD EPYC-Rome (1) @ 1.996GHz
  `:                          :`   GPU: 82371AB/EB/MB PIIX4 ACPI vgapci0@pci0:0:2:0: class=0x030000
   /                          /    Memory: 420MiB / 987MiB
   .-                        -.
    --                      -.
     `:`                  `:`
       .--             `--.
          .---.....----.

Esta é uma instância em execução no Vultr.

Obrigado

freebsd
  • 2 respostas
  • 35 Views
Martin Hope
alancc
Asked: 2024-05-22 00:55:14 +0800 CST

gpart sempre dirá "Argumento inválido" ao adicionar uma nova partição ufs

  • 5

Estou usando o FreeBSD 14.0.

Sigo as instruções em https://www.transip.eu/knowledgebase/entry/138-how-do-create-partition-freebsd/ para criar uma partição UFS, conforme abaixo: insira a descrição da imagem aqui

Mas sempre recebo o erro "Argumento inválido". O principal problema é que o erro não fornece detalhes suficientes sobre qual argumento é inválido. Então eu fico totalmente confuso sobre isso.

Obrigado

freebsd
  • 1 respostas
  • 20 Views
Martin Hope
Anton A
Asked: 2024-05-12 14:46:17 +0800 CST

Automatize a implantação de um monte de thin jails

  • 5

Estou configurando os aplicativos *ARR suite nas prisões (usando o gerenciador Bastille). Eu costumava fazer isso no debian e no docker, mas desta vez mudei para o freeBSD para testar seu suporte nativo ao zfs.

Na configuração, preciso configurar um usuário uniforme, configurar montagens externas (a parte envolvida) e instalar os aplicativos em cada prisão. Fiz isso manualmente em um sistema de teste e funcionou perfeitamente (finalmente!).

No docker, tudo isso foi automatizado na forma de scripts de composição. Eu escrevo uma vez e não preciso me preocupar com isso quando reinstalar/atualizar o host.

Existe alguma ferramenta de automação que eu possa usar no meu caso?

freebsd
  • 1 respostas
  • 54 Views
Martin Hope
IronFractal
Asked: 2024-04-30 10:52:41 +0800 CST

Arquivo Forgejo pid (/var/run/forgejo.pid): não legível no Truenas Core (FreeBSD Jail)

  • 6

Estou tentando fazer o Forgejo rodar em um Truenas Core (prisão do FreeBSD) há mais de uma semana. Quando eu inicio manualmente o Forgejo como o usuário git, ele é executado conforme o esperado, no entanto, ao tentar executá-lo com o arquivo rc incluído fornecido pelo pacote de ports, ocorre um erro.

Script rc.d do Porto Forgejo

Quando inicio o forgejo manualmente ele executa:

root@Forgejo:/home/jailuser # su git
git@Forgejo:/home/jailuser $ forgejo web -c /usr/local/etc/forgejo/conf/app.ini
2024/04/23 18:59:36 cmd/web.go:242:runWeb() [I] Starting Forgejo on PID: 4748
2024/04/23 18:59:36 cmd/web.go:111:showWebStartupMessage() [I] Forgejo version:1.21.11-1 built with GNU Make 4.4.1, go1.21.9 : bindata, pam, sqlite, sqlite_unlock_notify

No entanto, quando tento iniciar o serviço forgejo, recebo o seguinte erro pid não encontrado:

root@Forgejo:/home/jailuser # service forgejo start
/usr/local/etc/rc.d/forgejo: DEBUG: Sourcing /etc/defaults/rc.conf
/usr/local/etc/rc.d/forgejo: DEBUG: pid file (/var/run/forgejo.pid): not readable.
/usr/local/etc/rc.d/forgejo: DEBUG: checkyesno: forgejo_enable is set to YES.
/usr/local/etc/rc.d/forgejo: DEBUG: run_rc_command: doit: forgejo_start

_

root@Forgejo:/home/jailuser # mount
Main/iocage/jails/Forgejo/root on / (zfs, local, noatime, nfsv4acls)
root@Forgejo:/home/jailuser # ll /var
total 81
drwxr-x---   2 root     wheel     2 Mar  1 18:50 account/
drwxr-xr-x   4 root     wheel     4 Mar  1 18:50 at/
drwxr-x---   4 root     audit     4 Mar  1 18:50 audit/
drwxrwx---   2 root     authpf    2 Mar  1 18:50 authpf/
drwxr-x---   2 root     wheel     8 Apr 23 03:21 backups/
drwxr-xr-x   2 root     wheel     2 Mar  1 18:50 cache/
drwxr-x---   2 root     wheel     3 Mar  1 19:06 crash/
drwxr-x---   3 root     wheel     3 Mar  1 18:50 cron/
drwxr-xr-x  14 root     wheel    17 Apr 20 21:43 db/
dr-xr-xr-x   2 root     wheel     2 Mar  1 18:50 empty/
drwxrwxr-x   2 root     games     2 Mar  1 18:50 games/
drwx------   2 root     wheel     2 Mar  1 18:50 heimdal/
drwxr-xr-x   3 root     wheel    23 Apr 23 00:00 log/
drwxrwxr-x   2 root     mail      5 Apr 20 21:01 mail/
drwxr-xr-x   2 daemon   wheel     3 Apr 20 19:28 msgs/
drwxr-xr-x   2 root     wheel     2 Mar  1 18:50 preserve/
drwxr-xr-x   6 root     wheel    18 Apr 23 18:56 run/
drwxrwxr-x   2 root     daemon    2 Mar  1 18:50 rwho/
drwxr-xr-x   9 root     wheel     9 Mar  1 18:50 spool/
drwxrwxrwt   3 root     wheel     3 Mar  1 18:50 tmp/
drwxr-xr-x   3 unbound  unbound   3 Mar  1 18:50 unbound/
drwxr-xr-x   2 root     wheel     4 Mar  1 19:24 yp/
root@Forgejo:/home/jailuser #

A execução manual do comando daemon resulta em um status de saída 0 sem nenhuma outra informação útil. Tentei realocar o arquivo pid para um diretório com permissões 777 e ainda obtive o mesmo erro. Meu único palpite agora seria que o forgejo está morrendo quase imediatamente antes que o daemon seja capaz de criar o arquivo pid. Não tenho certeza de como obter o stdout do forgejo para ver se há algum erro (o forgejo não está registrando nada em seu diretório de arquivos de log). Alguma ideia?

ATUALIZAR:

Adicionar treliça ao script de inicialização na chamada ao daemon produz o seguinte:

53609: mmap(0x0,135168,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376810496 (0x801048000)
53609: mprotect(0x801044000,4096,PROT_READ) = 0 (0x0)
53609: issetugid()              = 0 (0x0)
53609: sigfastblock(0x1,0x801047490)        = 0 (0x0)
53609: open("/etc/libmap.conf",O_RDONLY|O_CLOEXEC,0101130030) = 3 (0x3)
53609: fstat(3,{ mode=-rw-r--r-- ,inode=16052,size=35,blksize=4096 }) = 0 (0x0)
53609: read(3,"includedir /usr/local/etc/libmap.d\n",35) = 35 (0x23)
53609: close(3)                 = 0 (0x0)
53609: open("/usr/local/etc/libmap.d",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,0165) ERR#2 'No such file or directory'
53609: open("/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,0100416054) = 3 (0x3)
53609: read(3,"Ehnt\^A\0\0\0\M^@\0\0\0w\0\0\0\0\0\0\0v\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",128) = 128 (0x80)
53609: fstat(3,{ mode=-r--r--r-- ,inode=741826,size=247,blksize=4096 }) = 0 (0x0)
53609: pread(3,"/lib/casper:/lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/lib/compat/pkg:/usr/local/lib/perl5/5.36/mach/CORE\0",119,0x80) = 119 (0x77)
53609: close(3)                 = 0 (0x0)
53609: open("/lib/casper/libutil.so.9",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
53609: open("/lib/libutil.so.9",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
53609: fstat(3,{ mode=-r--r--r-- ,inode=190,size=79952,blksize=80384 }) = 0 (0x0)
53609: mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34376945664 (0x801069000)
53609: mmap(0x0,98304,PROT_NONE,MAP_GUARD,-1,0x0) = 34376949760 (0x80106a000)
53609: mmap(0x80106a000,32768,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34376949760 (0x80106a000)
53609: mmap(0x801072000,49152,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x7000) = 34376982528 (0x801072000)
53609: mmap(0x80107e000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x12000) = 34377031680 (0x80107e000)
53609: mmap(0x80107f000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x12000) = 34377035776 (0x80107f000)
53609: mmap(0x801080000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34377039872 (0x801080000)
53609: munmap(0x801069000,4096)         = 0 (0x0)
53609: close(3)                 = 0 (0x0)
53609: open("/lib/casper/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,012320443000) ERR#2 'No such file or directory'
53609: open("/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,012320443000) = 3 (0x3)
53609: fstat(3,{ mode=-r--r--r-- ,inode=126,size=1940168,blksize=131072 }) = 0 (0x0)
53609: mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34376945664 (0x801069000)
53609: mmap(0x0,4190208,PROT_NONE,MAP_GUARD,-1,0x0) = 34377048064 (0x801082000)
53609: mmap(0x801082000,540672,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34377048064 (0x801082000)
53609: mmap(0x801106000,1343488,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x83000) = 34377588736 (0x801106000)
53609: mmap(0x80124e000,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x1ca000) = 34378932224 (0x80124e000)
53609: mmap(0x801258000,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x1d3000) = 34378973184 (0x801258000)
53609: mmap(0x80125e000,2240512,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34378997760 (0x80125e000)
53609: munmap(0x801069000,4096)         = 0 (0x0)
53609: close(3)                 = 0 (0x0)
53609: mprotect(0x80124e000,36864,PROT_READ)    = 0 (0x0)
53609: mprotect(0x80124e000,36864,PROT_READ|PROT_WRITE) = 0 (0x0)
53609: mprotect(0x80124e000,36864,PROT_READ)    = 0 (0x0)
53609: readlink("/etc/malloc.conf",0x7fffffffc610,1024) ERR#2 'No such file or directory'
53609: issetugid()              = 0 (0x0)
53609: mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(21),-1,0x0) = 34382807040 (0x801600000)
53609: mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 34384904192 (0x801800000)
53609: mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(21),-1,0x0) = 34387001344 (0x801a00000)
53609: mprotect(0x1026000,4096,PROT_READ)   = 0 (0x0)
53609: sigaction(SIGHUP,{ SIG_IGN SA_RESTART ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0)
53609: sigaction(SIGTERM,{ SIG_IGN SA_RESTART ss_t },{ SIG_DFL 0x0 ss_t }) = 0 (0x0)
53609: socket(PF_LOCAL,SOCK_DGRAM|SOCK_CLOEXEC,0) = 3 (0x3)
53609: getsockopt(3,SOL_SOCKET,SO_SNDBUF,0x7fffffffd85c,0x7fffffffd858) = 0 (0x0)
53609: setsockopt(3,SOL_SOCKET,SO_SNDBUF,0x7fffffffd85c,4) = 0 (0x0)
53609: connect(3,{ AF_UNIX "/var/run/logpriv" },106) = 0 (0x0)
53609: openat(AT_FDCWD,"/var/run",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,00) = 4 (0x4)
53609: openat(4,"forgejo.pid",O_WRONLY|O_NONBLOCK|O_CREAT|O_CLOEXEC,0600) = 5 (0x5)
53609: flock(5,LOCK_EX|LOCK_NB)         = 0 (0x0)
53609: fstatat(4,"forgejo.pid",{ mode=-rw------- ,inode=742728,size=0,blksize=131072 },0x0) = 0 (0x0)
53609: fstat(5,{ mode=-rw------- ,inode=742728,size=0,blksize=131072 }) = 0 (0x0)
53609: ftruncate(5,0x0)             = 0 (0x0)
53609: fstat(5,{ mode=-rw------- ,inode=742728,size=0,blksize=131072 }) = 0 (0x0)
53609: cap_rights_limit(4,{ CAP_UNLINKAT }) = 0 (0x0)
53609: cap_rights_limit(5,{ CAP_PWRITE,CAP_FTRUNCATE,CAP_FSTAT,CAP_EVENT }) = 0 (0x0)
53609: sigaction(SIGHUP,{ SIG_IGN 0x0 ss_t },{ SIG_IGN SA_RESTART ss_t }) = 0 (0x0)
53609: fork()                   = 53610 (0xd16a)
53610: <new process>
53610: setsid()                 = 53610 (0xd16a)
53609: exit(0x0)                
53609: process exit, rval = 0
53610: sigaction(SIGHUP,{ SIG_IGN SA_RESTART ss_t },0x0) = 0 (0x0)
53610: madvise(0x0,0,MADV_PROTECT)      ERR#1 'Operation not permitted'
53610: pipe2(0x7fffffffd9c0,0)          = 0 (0x0)
53610: kqueuex()                ERR#78 'Function not implemented'
53610: SIGNAL 12 (SIGSYS) code=SI_KERNEL
53610: process killed, signal = 12

ATUALIZAR:

TrueNAS-13.0-U6.1

jailuser@Forgejo:~ $ uname -a
FreeBSD Forgejo 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS amd64
freebsd
  • 1 respostas
  • 32 Views
Martin Hope
user149408
Asked: 2024-04-25 02:58:28 +0800 CST

Onde instalar pacotes de software personalizados no FreeBSD?

  • 6

No Linux, de acordo com o Filesystem Hierarchy Standard , /opté o local designado para pacotes de software de aplicativos complementares. Assim, ao desenvolver meu próprio pacote de software, que não depende de mais nada, eu colocaria isso em /opt/somepackage, com uma hierarquia de minha escolha abaixo.

O FreeBSD, de acordo com o link acima, não segue estritamente o FHS, mas instala pacotes de terceiros no /usr/local. OPNsense, que é baseado no FreeBSD, instala seu próprio código (pelo menos em parte) no /usr/local/opnsense. A hierpágina de manual do FreeBSD não faz menção a isso /opt- portanto, é improvável que um pacote que se instale naquele local colida com qualquer outro, mas introduziria um caminho de nível superior que é quase tão exótico quanto instalar diretamente em /somepackage.

Qual seria o local de instalação apropriado no FreeBSD? /usr/local/somepackageem vez de /opt/somepackage, novamente com uma hierarquia de minha escolha abaixo?

Observe que vi as seguintes postagens, que fornecem algumas dicas, mas não respondem totalmente à minha pergunta:

  • No Linux eu usaria "/opt" para software personalizado. No FreeBSD? – pergunta especificamente sobre software não gerenciado pelo gerenciador de pacotes, enquanto estou perguntando sobre o desenvolvimento do meu próprio .pkg.
  • O que pode ser equivalente ao Linux /opt/ no OpenBSD? – pergunta sobre o OpenBSD, que pode ser diferente do FreeBSD
freebsd
  • 3 respostas
  • 59 Views
Martin Hope
jsx97
Asked: 2024-03-11 02:25:58 +0800 CST

cp, barra final e cópia para o mesmo ou para outro diretório

  • 8

Para copiar um diretório para outro diretório, o primeiro diretório deve ser escrito sem a barra final:

# example 1
# this command will copy dir1 to dir2
# (dir2 is preexisting)
cp -Rip dir1 dir2/

Caso contrário, o comando copiará o conteúdo do diretório e não o próprio diretório:

# example 2
# this command will copy dir1 contents to dir2
# (dir2 is preexisting)
cp -Rip dir1/ dir2/

Eu entendo a diferença entre dir1e dir1/aqui, e a diferença entre como esses dois comandos se comportam não me confunde.

Mas para copiar o diretório não para outro diretório, mas para o mesmo diretório onde está localizado atualmente, a barra final não fará nenhuma diferença. Por que?

# example 3
# any of these commands will make a dir1 copy
# (dir1-copy isn't preexisting)
cp -Rip dir1 dir1-copy/
cp -Rip dir1/ dir1-copy/

E outra questão intimamente relacionada. Por que não há diferença entre como mv dir1/ dir2/e mv dir1 dir2/trabalho? Em outras palavras, por que, em relação à barra final no final do diretório de origem, mvsegue a lógica do terceiro cpexemplo, e não a lógica dos exemplos um e dois?

macOS 14.3.1, zsh 5.9 (x86_64-apple-darwin23.0)

freebsd
  • 1 respostas
  • 89 Views
Martin Hope
Igor G
Asked: 2024-01-09 18:10:00 +0800 CST

Como fazer com que o script, configurado via arquivo de aliases do sendmail, seja executado como o usuário a quem aquele email é endereçado?

  • 6

Eu tenho uma caixa FreeBSD rodando o sendmail 8.16. Tenho vários usuários do sistema (robôs de teste): e robot1gostaria que eles fossem controlados por e-mails. Primeiro de tudo, eles deveriam poder receber e-mails. Então eu tenho as seguintes linhas em :robot2robot3/etc/mail/aliases

robot1: "| /usr/local/project/script"
robot2: "| /usr/local/project/script"
robot3: "| /usr/local/project/script"

Esses robôs devem processar mensagens da mesma maneira, portanto, o mesmo script é usado para todos eles.

O problema é: o sendmail sempre invoca esse script com o uid 26 falso (que é o usuário especial "mailnull") para todos os três destinatários. Parece que o daemon sendmail faz o downgrade de seu gid/uid efetivo no fork, antes de iniciar um script externo. Isso é perfeitamente razoável, mas:

A questão é: como faço para que o sendmail execute o script como o respectivo usuário destinatário , ou seja, como robot1quando a mensagem é para robot1@localhost, como robot2quando a mensagem é para robot2@localhoste como robot3quando a mensagem é para robot3@localhost?

A solução óbvia é ter três cópias do script, fazer com que cada cópia seja adequada ao seu respectivo usuário e apelidar cada usuário do robô para sua cópia do script. Isso deveria funcionar, suponho, mas é meio feio. Então eu me pergunto se existe alguma solução melhor e mais elegante?

freebsd
  • 1 respostas
  • 44 Views
Martin Hope
larsks
Asked: 2023-08-15 23:22:20 +0800 CST

Falha na soma de verificação da distribuição durante a instalação automática do FreeBSD (bsdinstall)

  • 6

Estou usando o seguinte installerconfigpara automatizar a instalação do FreeBSD (13.2-RELEASE):

export PARTITIONS=DEFAULT
export DISTRIBUTIONS="kernel.txz base.txz"
export HOSTNAME=freebsd
export BSDINSTALL_DISTSITE="https://download.freebsd.org/releases/amd64/13.2-RELEASE"
export INTERFACES=vtnet0
export nonInteractive="YES"

dhclient $INTERFACES

#!/bin/sh
sysrc ifconfig_DEFAULT=DHCP
sysrc sshd_enable=YES

Isso invariavelmente resulta em uma incompatibilidade de soma de verificação ("A soma de verificação para kernel.txz não corresponde..."). Verifiquei que as somas de verificação /usr/freebsd-dist/MANIFESTna imagem do instalador correspondem às somas de verificação dos arquivos contidos em $BSDINSTALL_DISTSITE.

Alguma ideia do que estou perdendo aqui?

freebsd
  • 1 respostas
  • 21 Views
Martin Hope
filo
Asked: 2023-04-23 23:45:17 +0800 CST

É seguro excluir o diretório GNUSparseFile.0?

  • 5

Ao examinar alguns sistemas de arquivos para ver o que consome espaço em disco, descobri um diretório chamado GNUSparseFile.0. Não consigo descobrir facilmente se seu conteúdo é usado. Pode ser alguma sobra temporária de untarring? O sistema operacional é FreeBSD, então pode ter sido descompactado com BSD tar.

freebsd
  • 1 respostas
  • 34 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