Como usar o Pkg Package Manager no FreeBSD 12

Introdução

O FreeBSD é um sistema operacional Unix, de código aberto, usado para alimentar servidores, desktops e plataformas embarcadas modernos. Gigantes como Netflix, Yahoo !, WhatsApp, BBC e Sony usam o FreeBSD de alguma forma. O sistema FreeBSD não é tão conhecido como Linux, principalmente porque o Linux se concentra há muitos anos no Desktop e o projeto FreeBSD tende a ser mais baseado em servidor.

Neste guia, você aprenderá sobre o gerenciamento de pacotes no FreeBSD 12.

Portas x Pacotes

No FreeBSD, temos duas maneiras diferentes de instalar software add-on: através da Ports Collection , ou Ports , e via pacotes pré-configurados para instalar e gerenciar software.

Ports é um sistema para a construção de software adicional no FreeBSD. Com o Ports, você começa com o código-fonte bruto fornecido pelo fornecedor do software e constrói o software exatamente da maneira que você precisa, ativando e desativando os recursos conforme necessário.

Pacotes são softwares pré-compilados e são o resultado da construção de portas, usando as opções que o mantenedor de portas considera mais úteis para a maior variedade de pessoas e agrupando-as em um pacote para torná-las facilmente instaláveis. Os pacotes permitem que você instale, desinstale e atualize rapidamente o software complementar. O sistema de empacotamento do FreeBSD é chamado de pacote , ou pkg. As informações do pacote são armazenadas em um banco de dados SQLite que você pode consultar sobre os dados do pacote.

Outra coisa importante sobre o gerenciamento de pacotes do FreeBSD é a localização dos binários dos pacotes. Os pacotes instalam binários em /usr/locale a maioria dos arquivos de configuração termina em /usr/local/etcvez de /etc. Se você é do mundo Linux, pode achar isso muito incomum.

O gerenciador de pacotes do FreeBSD, pkg

A próxima geração de substituição para as ferramentas tradicionais de gerenciamento de pacotes do FreeBSD é pkg. Oferecer muitos recursos que tornam mais rápido e fácil o manuseio de pacotes binários, pkgé a maneira mais fácil de instalar software que ainda não está incluído no sistema básico do FreeBSD. É um programa único com muitos subcomandos que você usará para praticamente todas as operações em pacotes, como instalação, remoção e investigação de pacotes. Todas as operações e alterações do pacote devem ser executadas como rootou via sudo.

Aqui está como você instalaria o curlpacote no FreeBSD:

pkg install curl

Você pode alimentar o comando -ypara evitar a Proceed with this action? [y/N]:pergunta ao instalar o software ou pode configurar pkgpara sempre assumir -yem um arquivo de configuração.

Para remover o pacote, você usaria delete:

pkg delete curl

Como você pode ver, é muito simples e intuitivo.

Use pkg helppara uma referência rápida nos subcomandos disponíveis ou pkg help <subcommand>para exibir a página de manual de um subcomando específico:

pkg help
pkg help install
pkg help delete

Instalando pkg

A versão de estoque do FreeBSD não é fornecida com o pkggerenciador de pacotes instalado. A primeira vez que você tenta instalar algum pacote, pkgsolicita que você instale a ferramenta de gerenciamento de pacotes. Por exemplo, digamos que o primeiro pacote que você deseja instalar no seu FreeBSD novo seja wgete você verá o seguinte prompt no seu terminal:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y

Você pressionará Ye ENTERa instalação da ferramenta de gerenciamento de pacotes será iniciada. Depois de instalado, o pacote de software inicial que você deseja instalar ( wget) será instalado.

Você também pode instalar o sistema de empacotamento por conta própria, sem adicionar outros pacotes, executando pkg bootstrap. Além disso, pkgsabe como instalar e atualizar a si próprio e outros pacotes.

NOTA: As instâncias do Vultr foram pkginstaladas por padrão, portanto você não precisa instalá-lo.

Configurando pkg

O pkgprograma foi projetado para ser altamente flexível, com cada subcomando com muitas opções. Você pode estabelecer um comportamento personalizado, mas consistente, para a maioria dos programas, com o arquivo de configuração para todo o sistema pkg, localizado em /usr/local/etc/pkg.conf.

O arquivo contém padrões comentados para pkg. Apenas lendo esse arquivo, você pode aprender muito sobre como pkgse comporta. A configuração é escrita em UCL (Universal Configuration Language) e há muitas opções de configuração comentadas e alguns aliases. As variáveis ​​podem ser configuradas para um número inteiro, uma sequência de caracteres ou um valor booleano:

#PKG_DBDIR = "/var/db/pkg";
#PKG_CACHEDIR = "/var/cache/pkg";
#PORTSDIR = "/usr/ports";
#INDEXDIR = "";
#INDEXFILE = "INDEX-10";        # Autogenerated
#HANDLE_RC_SCRIPTS = false;
#DEFAULT_ALWAYS_YES = false;
#ASSUME_ALWAYS_YES = false;
. . .

Você pode definir aliases para pkgsubcomandos em pkg.conf. Na parte inferior pkg.conf, você encontrará uma seção rotulada ALIAS. Quando você se encontra executando repetidamente comandos complexos, deve adicionar aliases.

Para obter mais informações sobre o formato do arquivo e as opções, consulte a pkg.conf(5)página do manual:

man pkg.conf

Localizando pacotes

Agora que você possui um gerenciador de pacotes instalado, pode instalar pacotes. Se você é um administrador de sistemas, está familiarizado com o fato de que sistemas operacionais diferentes atribuem nomes diferentes a versões compactadas do mesmo software. Um pacote para o servidor web Apache no FreeBSD, por exemplo, terá um nome completamente diferente do Apache empacotado em diferentes distribuições Linux. Portanto, antes de instalar qualquer coisa, você precisará descobrir qual é o nome do pacote que deseja instalar.

O Projeto FreeBSD oferece vários conjuntos de pacotes em um repositório público, e eles são atualizados a cada poucos dias. Atualmente, existem mais de 25.000 pacotes.

Por exemplo, vamos tentar procurar o servidor da web Apache:

pkg search apache
# apache24-2.4.38                Version 2.4.x of Apache web server

Ele encontrará todos os pacotes com apacheseus nomes. Isso retornará uma lista longa, mas o que você está procurando é o apache24pacote. Há uma breve descrição de cada pacote. Isso deve ajudá-lo a decidir qual pacote instalar, mas nem sempre é simples.

Algumas pesquisas podem gerar centenas de resultados. Você precisará utilizar diferentes opções de linha de comando para aparar ou ajustar os resultados da pesquisa. Consulte a pkg-searchpágina de manual ou a página de ajuda pkg help searchpara saber mais sobre opções de pesquisa comuns.

Se você não tiver certeza se um pacote é o que você realmente deseja, use o seguinte comando para procurar detalhes do pacote:

pkg search -R apache24

# name: "apache24"
# origin: "www/apache24"
# version: "2.4.38"
# comment: "Version 2.4.x of Apache web server"
# maintainer: "[email protected]"
# www: "https://httpd.apache.org/"
# abi: "FreeBSD:12:amd64"
# arch: "freebsd:12:x86:64"
# prefix: "/usr/local"
# . . .
# . . .

Este comando fornecerá muitas informações úteis sobre o pacote.

Instalando pacotes

Para instalar o software, use o installsubcomando e o nome de um pacote para instalar:

pkg install apache24

Quando você instala pacotes pkg install, pkgconsulta o catálogo de pacotes local e baixa o pacote solicitado do repositório em pkg.FreeBSD.org. Depois que o pacote é instalado, ele é registrado em um banco de dados SQLite mantido /var/db/pkg/local.sqlite. Tome cuidado para não excluir este arquivo; caso contrário, seu sistema perderá o controle de quais pacotes foram instalados. Se o software tiver dependências, pkgele as descobrirá e as instalará junto com o pacote base. Pacotes instalados como dependências são chamados de pacotes automáticos .

O gerenciador de pacotes pode fazer o download de pacotes pela Internet e salvá-los em um local no disco. Isso permite que você os instale em outro momento. Você pode usar o pkg fetchcomando para baixar o pacote sem instalá-lo:

pkg fetch nginx

Este comando buscará apenas o Nginx sem suas dependências. Você pode usar o -dsinalizador para pegar todas as dependências e o pacote nomeado:

pkg fetch -d nginx

Os pacotes são baixados no diretório de cache do pacote /var/cache/pkg. Depois de buscar os pacotes, pkgadicione-os a este diretório. Você pode listar arquivos para ver o que ele contém:

ls /var/cache/pkg

Agora, para instalar um pacote baixado após uma busca, execute pkg installnormalmente. O processo de instalação usa os arquivos em cache em vez dos arquivos baixados.

Com o tempo, o diretório de cache do pacote pode aumentar. O pkg cleancomando remove todos os pacotes em cache que foram substituídos por versões mais recentes, bem como quaisquer arquivos de pacote que não estão mais no repositório:

pkg clean

Se você deseja remover todos os pacotes em cache, use o -asinalizador:

pkg clean -a

Se você deseja limpar o cache de pacotes automaticamente após cada pacote de instalação ou atualização, defina a pkg.confopção AUTOCLEANpara true.

Obtendo informações sobre pacotes instalados

Se você esquecer quais pacotes instalou em um sistema, poderá usar pkg infopara obter uma lista completa dos softwares instalados:

pkg info
# atk-2.28.1                     GNOME accessibility toolkit (ATK)
# avahi-app-0.7_2                Service discovery on a local network
# ca_root_nss-3.42.1             Root certificate bundle from the Mozilla Project
# . . .
# . . .

Se você quiser obter mais informações sobre um pacote instalado, use pkg infoe o nome do pacote. Isso mostra os detalhes da instalação do pacote em um relatório amigável ao ser humano:

pkg info nginx
# nginx-1.14.2_3,2
# Name           : nginx
# Version        : 1.14.2_3,2
# . . .
# . . .

Você pode ver muitas informações úteis, como a versão do software, o tempo de instalação do software, licença do software, sinalizadores de tempo de compilação e muito mais. Verifique a pkg-infopágina do manual para obter detalhes completos.

Removendo pacotes

Para desinstalar pacotes binários, use o pkg deletesubcomando. Também está disponível como pkg remove:

pkg delete nginx
# or
pkg remove nginx

Você receberá uma lista de pacotes a serem removidos e quanto espaço isso liberará.

Se você remover um pacote do qual outros pacotes dependem, também pkgremoverá os pacotes dependentes.

Bloqueando pacotes

Pode haver um momento em que você deseja que um pacote no seu servidor nunca seja atualizado. Quando você bloqueia um pacote, pkgnão o atualiza, atualiza, desinstala ou desinstala. Aplica as mesmas regras às dependências do pacote e aos programas dos quais depende.

Use pkg lockpara bloquear um pacote:

pkg lock openssl

Este opensslpacote está agora bloqueado.

Para listar todos os pacotes atualmente bloqueados no sistema, use o -lsinalizador:

pkg lock -l

Para remover o bloqueio, use o pkg unlockcomando:

pkg unlock openssl

Para bloquear ou desbloquear todos os pacotes no sistema de uma só vez, use o -asinalizador:

pkg lock -a
pkg unlock -a

Repositórios de pacotes

Repositórios de pacotes são suportados por pkg, chamados de coleções de pacotes. Você pode adicionar, remover, ativar e desativar repositórios. Você deve configurar cada repositório em seu próprio arquivo usando o formato UCL. Os repositórios oficiais do FreeBSD pertencem ao /etc/pkgdiretório O FreeBSD é enviado com o repositório "FreeBSD" ativado. Você encontrará seu arquivo de configuração em /etc/pkg/FreeBSD.conf:

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Você pode adicionar e remover repositórios, conforme necessário. Como /etc/pkgé reservado para os repositórios oficiais do FreeBSD, você precisará de outro diretório. A localização tradicional é /usr/local/etc/pkg/repos. Se você quiser usar um diretório diferente, precisará definir um local pkg.confcom a REPO_DIRSopção O diretório do repositório local não existe por padrão, então você precisará criá-lo mkdir -p /usr/local/etc/pkg/repos. Coloque suas próprias configurações de repositório nesse diretório.

pkgSubcomandos de Exemplo

Esta seção listará alguns dos subcomandos usados ​​com mais freqüência que você provavelmente usará ao administrar um servidor FreeBSD:

# Installs a package without asking any questions
pkg install -y package

# Makes a backup of the local package database
pkg backup

# Lists all installed packages
pkg info

# Shows extended information for a package
pkg info package

# Searches package repository
pkg search -i package

# Shows packages with known security vulnerabilities
pkg audit -F

# Shows which package owns the named file
pkg which file

# Removes unused packages
pkg autoremove

# Uninstalls a package
pkg delete package

# Removes cached packages from /var/cache/pkg 
pkg clean -ay

# Updates local copy of the package catalog
pkg update

# Upgrades installed packages to their latest version
pkg upgrade

# Checks the integrity of all your packages
pkg check -saq

# Verifies that a package's files are unaltered
pkg check -s nginx

# Shows what files came with the package
pkg info -l nginx

# Lists non-automatic packages
pkg prime-list

Arquivos e diretórios importantes

  • O pkgarquivo de configuração -/usr/local/etc/pkg.conf
  • Diretório reservado para repositórios oficiais do FreeBSD - /etc/pkg
  • Arquivo de repositório do FreeBSD - /etc/pkg/FreeBSD.conf
  • Local tradicional para repositórios personalizados - /usr/local/etc/pkg/repos
  • Diretório de cache do pacote - /var/cache/pkg
  • Banco de dados SQLite - /var/db/pkg/local.sqlite

Sumário

O FreeBSD fornece duas tecnologias complementares para a instalação de software de terceiros: o FreeBSD Ports Collection, para instalação a partir da fonte e pacotes, para instalação a partir de binários pré-criados. Como o FreeBSD está mudando o sistema de maneira mais decisiva para o gerenciamento universal de pacotes, tente gerenciar software de terceiros pkgna medida do possível. Evite usar portas, a menos que o software que você deseja não tenha uma versão em pacote ou precise personalizar as opções em tempo de compilação.



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.