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.systemPackages
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
'';
};
})