nixos - Instalando o Citrix-receptor e todos os certificados necessários como parte do 'nixos-reconstruir'

0

Eu consegui instalar o Citrix Receiver e configurá-lo manualmente com os certificados de que preciso para fazer login em meus computadores de trabalho, mas quero que isso faça parte do meu provisionamento automático que acontece com nixos-rebuild

Os passos para instalar e configurar foram assim:

  • Instalar o Citrix Receiver

$ nix-env -i --arg config '{ allowUnfree = true;}' citrix-receiver

  • como remontar root / nix / store em rw

# mount -o remount,rw /nix/store

  • Ir para o local do keystore icaclient

# cd home/dw/.nix-profile/opt/citrix-icaclient/keystore

  • Remova o diretório cacerts por padrão e recrie cacerts como um link simbólico para / etc / ssl / certs

# rm -rf cacerts && ln -s /etc/ssl/certs cacerts

  • Ir para cacerts e obter certificados da Symantec e descompactar

# cd cacerts && wget http://www.symantec.com/content/en/us/enterprise/verisign/roots/roots.zip && unzip roots.zip

  • Observe recursivamente os arquivos pem depois de descompactá-los e copie-os no diretório atual

find . -name "*.pem" -type f -exec cp {} . \;

Isso tudo funcionou, mas ainda não encontrei uma boa maneira de fazer isso como parte do provisionamento regular.

Quaisquer pessoas nixos que conheçam a melhor maneira de fazer isso?

    
por David West 26.03.2018 / 04:45

1 resposta

0

Você pode reconstruir o pacote do receptor Citrix com seu próprio pacote:

O código a seguir não foi testado. Pode ser colocado em environment.systemPackages em configuration.nix.

(citrix-reveiver.override {
  cacert = stdenv.mkDerivation {
    name = "symantic-cacerts";
    src = null;
    unpackPhase = ":";
    installPhase = ''
      ${pkgs.unzip}/bin/unzip ${./roots.zip}
      mkdir $out/etc/ssl/certs/
      find . -name "*.pem" -type f | xargs cat > $out/etc/ssl/certs/ca-bundle.crt
    '';
  };
})
    
por 22.05.2018 / 17:07

Tags