nixos - "nixos-rebuild"의 일부로 citrix-receiver 및 모든 필수 인증서를 설치합니다.

nixos - "nixos-rebuild"의 일부로 citrix-receiver 및 모든 필수 인증서를 설치합니다.

Citrix Receiver를 성공적으로 설치하고 업무용 컴퓨터에 로그인하는 데 필요한 인증서를 사용하여 수동으로 구성했지만 이것이 자동 구성의 일부가 되도록 하고 싶습니다.nixos-rebuild

설치 및 구성 단계는 다음과 같습니다.

  • 시트릭스 리시버 설치

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

  • 루트로 rw에 /nix/store를 다시 마운트합니다.

# mount -o remount,rw /nix/store

  • icaclient 키 저장소 위치로 이동

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

  • 기본 cacerts 디렉터리를 삭제하고 cacerts를 /etc/ssl/certs에 대한 심볼릭 링크로 다시 만듭니다.

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

  • cacerts에 가서 Symantec 인증서를 받아 압축을 푼다.

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

  • 압축을 푼 후 pem 파일을 재귀적으로 찾아 현재 디렉터리에 복사합니다.

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

이 모든 것이 작동하지만 정규 구성의 일부로 이 작업을 수행하는 좋은 방법을 찾지 못했습니다.

Knicks 직원 중에서 이 작업을 수행하는 가장 좋은 방법을 아는 사람이 있나요?

답변1

자체 번들을 사용하여 citrix-receiver 패키지를 다시 빌드할 수 있습니다.

다음 코드는 테스트되지 않았습니다. 이것을 environment.systemPackagesConfiguration.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
    '';
  };
})

관련 정보