NixOS

Como usar o NixOS Package Manager?

Como usar o NixOS Package Manager?
O gerenciador de pacotes NixOS é um sistema próprio. Você pode usá-lo em qualquer distribuição Linux.

O que o NixOS Package Manager faz?

A maioria dos gerenciadores de pacotes usa um arquivo que contém o executável ou código-fonte. Em seguida, eles calculam o que é necessário no sistema e se certificam de que existe. Em Nix, as coisas funcionam de forma muito semelhante. A grande diferença é que o Nix cria todos os arquivos e os compila, se necessário, e os coloca em um só lugar; a loja nix. A primeira pergunta que você pode ter é: “Os arquivos não terão o mesmo nome??”O sistema evita isso tendo um diretório para cada versão E nomeando todos os arquivos com um hash. Para fazer com que a aplicação “sinta-se em casa”, todas as dependências são então ligadas aos seus diretórios corretos usando links simbólicos comuns. Um perfil rastreia qual versão cada usuário executa.

Instalações de usuário NixOS

Com este sistema, você pode ter diferentes versões instaladas no diretório de cada usuário. Se eles forem iguais em vários usuários, o administrador pode permitir que o Nix vincule novamente os binários, de modo que apenas um exista por vez. Isso é útil para economizar espaço em disco. Você também pode criar ambientes específicos para cada versão do pacote. Isso é especialmente útil quando você deseja testar uma nova versão ou desenvolver software.

Instalando para distribuição comum

Para a maioria das plataformas comuns, você pode instalar o Nix, o gerenciador de pacotes com um script simples. Este script está disponível no site da Nix. O script precisará de acesso de usuário root, mas se você estiver muito preocupado com a segurança, deve ler o script antes de usá-lo. Se você quiser evitar o uso de root no script, basta criar o diretório / nix em seu sistema.

$ sh <(curl -L https://nixos.org/nix/install)

Se você não tem acesso root ou apenas é super cauteloso, você pode ter o Nix como um gerenciador de pacotes somente para usuários.

$ sh <(curl -L https://nixos.org/nix/install) -no-daemon

Este binário funciona bem para a maioria, senão todas as distribuições. As plataformas são x8664, i?86, aarch64 e x8664-darwin, que cobrem quase todas as plataformas disponíveis. Se você usa qualquer outra plataforma, provavelmente pode usar o código-fonte e construir o seu próprio. Quando a instalação estiver concluída, você terá um monte de novos comandos.

Adicionando seu primeiro programa ao NixOS

Para instalar o software e definir quando ele pode ser usado, você tem o nix-env. A opção de instalação (-i) é a mais comum uma vez que você a usa sempre e coloca um pacote como argumento.

$ nix-env -i firefox

Parece o mesmo que em outras distribuições, o mesmo acontece com o argumento de consulta. A instalação levará algum tempo, embora. A razão é que ele deve compilar o software, a menos que haja uma versão pré-compilada no Cache do Nix. Alcançar o cache nem sempre é muito rápido. Há uma diferença que você deve observar; você pode escolher uma versão! Se você quiser uma versão especial, você deve encontrar quais estão disponíveis usando expressões regulares.

firefox $ nix-env -qa '.* '

Você receberá uma lista de todos os pacotes disponíveis. Você pode instalá-lo da mesma maneira, mas usando o valor na lista.

$ nix-env -install 'firefox-78.4.0ser '-preserve-installed

Isso pode falhar se você já tiver uma versão instalada. A opção '-preserve-installed' não apagará a versão instalada. Você pode acabar com duas versões da mesma prioridade, que você pode corrigir definindo a prioridade.

$ nix-env -set-flag prioridade 2 'firefox-82.0.2 '

Agora, você executará a versão antiga na próxima vez que iniciar o Firefox. Para mudar o que você executa, você pode definir a prioridade de acordo. Você também pode iniciar um shell para escolher um binário. Esta é uma opção do desenvolvedor, e o comando é nix-shell.

Atualizando NixOS

Depois de ter uma coleção de software, você deseja se manter atualizado. Como sempre, você usa o mesmo comando com um argumento. Mas você também deve manter o canal atualizado. O comando é nix-channel.

$ nix-channel -update

Lê as versões atuais de todos os pacotes disponíveis. Depois disso, você pode começar a atualizar seu software com nix-env.

$ nix-env -upgrade

Uma atualização como esta atualizará sua versão antiga do software. Neste caso, o antigo Firefox será substituído pela versão mais recente. Você pode não querer isso por qualquer motivo, geralmente desenvolvimento.

Removendo aplicativos do NixOS

Remover aplicativos é igualmente simples, com uma pequena ressalva. Nenhum aplicativo é removido por um comando de remoção.

$ nix-env -uninstall 'firefox-78.4.0ser '

Este comando removerá os links para a compilação atual desta versão do Firefox. Todos os arquivos ficarão sempre no disco. Você tem essas versões disponíveis para fazer uma reversão. Uma reversão significa que você volta a usar a versão antiga. Isso pode ser útil se você tentou o mais novo e tem problemas imprevistos.

$ nix-env -rollback

Você reverte uma geração inteira, o que significa todos os programas que foram atualizados desde a última geração. A opção executa dois comandos; essa lista e, em seguida, muda para as antigas gerações. Todos os pacotes instalados existem em uma geração no disco.

Roll-back e limpeza do NixOS

A função de reversão levará a muito espaço em disco sendo usado por versões antigas. Você pode limpar isso (você precisa limpar isso!). Quando você tiver um período longo o suficiente, por sua própria escolha, você também pode limpar essas gerações antigas para economizar espaço em disco.

$ nix-env -delete-generator old

Com este comando, você apaga todas as gerações, exceto as duas últimas. Você pode ir e voltar na lista com parâmetros mais complexos para deixar a geração específica que funcionou melhor para você. A menos que você tenha muitos projetos de teste ou desenvolvimento que precisam de muitas versões para teste, você deve usar uma remoção programada de todas as gerações anteriores.

Um script simples para manter suas gerações limpas vem com uma instalação do gerenciador de pacotes Nix.

$ nix-collect-garbage

Você também deve configurar o coletor para ser executado automaticamente usando o systemd ou outros sistemas.

Conclusão

O gerenciador de pacotes Nix é um sistema poderoso que pode ajudá-lo a executar ambientes de desenvolvimento complexos em sua máquina. Você também pode usá-lo para manter seu software organizado e ter uma maneira simples de recuperar em uma nova máquina, caso ocorra a catástrofe de uma falha de disco.

Jogos HD Remasterizados para Linux que nunca tiveram uma versão Linux anterior
Muitos desenvolvedores e editores de jogos estão apresentando remasterização em HD de jogos antigos para estender a vida da franquia, por favor, os fã...
Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você ...
Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos ...