Crie seu próprio repositório de pacotes com Poudriere

Desde a versão 9.2, o FreeBSD introduziu uma nova ferramenta para substituir o antigo pkg _ * - command - pkg, também conhecido como pkgng. É muito semelhante ao Debian aptou Fedora, yummas possui alguns recursos muito interessantes. Uma delas é a possibilidade de usar facilmente seu próprio repositório particular de pacotes.

Por que você gostaria de fazer isso? Os repositórios oficiais do pkg são construídos a partir da árvore de ports do FreeBSD com um conjunto muito limitado de opções. Por exemplo, o pacote oficial do PHP não oferece suporte ao MySQL. Outro motivo pode ser o fato de você desejar ter dois repositórios, um com o X11 ativado - para sua área de trabalho - e um com o X11 desativado - para seus servidores. Existem muitas opções e possibilidades, e este tutorial mostrará como criar seu próprio repositório com o Poudriere , uma ferramenta para pacotes de criação em massa.

Presumo que você tenha um VPS novo com o FreeBSD 10 x64 instalado. Primeiro de tudo, você precisa da árvore de portas no seu sistema:

cd /usr
portsnap fetch extract

Em seguida, você precisa instalar o Poudriere da fonte (as opções padrão são boas!):

cd /usr/ports/ports-mgmt/poudriere
make install clean

Em seguida, crie um arquivo de configuração básica:

cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf

... e edite-o de acordo com suas necessidades. O seguinte é um bom começo:

FREEBSD_HOST=http://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
POUDRIERE_DATA=$/data
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
CHECK_CHANGED_DEPS=yes
# Edit this according to your VPS' CPU.
PARALLEL_JOBS=1
NOLINUX=yes

Em vez de usar o portstree regular do seu sistema, o Poudriere usa sua própria cópia. Você deve obtê-lo com o seguinte comando:

poudriere ports -c

Agora, crie uma prisão para o construtor executar dentro de:

poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64

Antes de começar a compilar pacotes, você precisará realmente dizer ao Poudriere o que ele deve criar. Abra seu editor de texto favorito e adicione alguns pacotes:

www/firefox
im/pidgin
sysutils/tmux
editors/vim

... e salve o arquivo em /usr/local/etc/buildlist. Se você não quiser as opções padrão, poderá configurar as opções para cada pacote nesse arquivo. Isso é feito emitindo o seguinte comando:

poudriere options -cf /usr/local/etc/buildlist

Caso contrário, você pode começar a criar:

poudriere bulk -f /usr/local/etc/buildlist -j testjail

A quantidade de tempo que essa operação leva varia com base na velocidade da CPU do seu VPS. Após o término do processo, seus novos pacotes podem ser encontrados, classificados por build-jail, em /usr/local/poudriere/data/packages/.

Agora, você precisa de um servidor da web para realmente servir esses pacotes em suas outras máquinas. Eu escolhi o Nginx, pois é eficiente e leve. Instale-o através de portas (as opções padrão são boas!):

cd /usr/ports/www/nginx
make install clean

Após a conclusão do processo de instalação, você precisa configurar o Nginx para servir o diretório de pacotes. Para fazer isso, edite /usr/local/etc/nginx/nginx.confcom seu editor de texto favorito:

server {
    listen       80;
    server_name  localhost;
    root /usr/local/poudriere/data/packages/testjail-default;
    location / {
            autoindex on;
    }
}

Por fim, verifique se o servidor da web inicia na inicialização:

echo "nginx_enable=YES" >> /etc/rc.conf

... e inicie o servidor:

/usr/local/etc/rc.d/nginx start

As possibilidades com Poudriere são enormes. Você pode aprender mais sobre o Poudriere lendo a entrada da página de manual. Se você planeja usar uma configuração como essa em um ambiente de produção, seria de seu interesse também ler sobre a assinatura de pacotes e considerar a segurança da conexão com o servidor da Web com TLS. Mas, por enquanto, você está pronto para o rock!

Para ativar o repositório no cliente, execute estes comandos na máquina cliente:

mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf

Preencha myrepo.confcom o seguinte conteúdo. Você pode usar qualquer nome para esse arquivo, desde que tenha o .confsufixo.

poudriere: {
  url: "http://yoururl"
  mirror_type: "http",
  enabled: yes
}

Em seguida, atualize o banco de dados do pacote com o comando:

pkg update

Agora você pode instalar pacotes fora do seu novo repositório!



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.