모든 Linux 배포판에서 원하는 패키지 세트를 설치할 수 있는 스크립트를 만들고(원래 Ubuntu에서 실행되도록 만든 다음 둘 중 하나로 확장) 기본적으로 환경 설정 역할을 합니다. 그러한 패키지의 예는 다음과 같습니다.zsh, omz, fzf, 자동 완성잠깐...
제 질문은, 패키지 관리자()가 있어야 apt-get
패키지를 설치한 다음 스크립트를 통해 호출해야 할까요, 아니면 수동으로 wget
소스 파일을 호출하고 설치를 계속해야 할까요?입니다. 어느 것이 가장 좋다고 생각하시나요?
답변1
시스템 라이브러리에 연결해야 하는 항목이나 대상 시스템의 다른 항목에 연결될 수 있는 항목에 대해서는 항상 기본 패키지 관리자를 선호하는 것이 좋습니다. 그렇지 않으면 대상으로 삼는 각 플랫폼의 배포 특성에 맞게 작동하도록 노력해야 하며, 이로 인해 사람들이 자신이 설치하는 패키지 버전과 함께 귀하의 버전을 사용하려고 하면 문제가 발생할 수 있습니다.
@ArtemS.Tashkinov가 말했듯이 각 목표를 개별적으로 처리해야 합니다. 이것은 실제로 확장되지 않습니다. GNU Radio 커뮤니티에는 소수의 플랫폼에 대해 이 작업을 시도하는 PyBOMBS라는 도구가 있습니다. 이것은 유지 관리의 악몽입니다. 사용자가 실제로 접두사를 분리하려는 사용 사례의 경우 처음부터 conda와 같은 기존 접두사 관리자를 사용해야 하며, apt, yum, pacman install을 통해 출시하는 소프트웨어를 사용할 수 있도록 공식 배포 패키지 관리자와 협력하는 데 더 많은 노력을 기울여야 합니다. 신흥, zypper... 실제로 완벽하게 작동합니다.
특히 소프트웨어와 관련하여 어떤 상황에서도 직접 컴파일한 zsh를 시스템 경로에 설치해서는 안 됩니다. 이것이 악몽 같은 비호환성의 원인입니다. 배포판과 함께 제공되는 zsh를 설치하기만 하면 됩니다.
Linux 배포판은 소프트웨어 충돌 방지 메커니즘입니다.가능하면 사용해야 합니다. 소스에서 무언가를 빌드하고 사용자가 밤에 패키지 관리자를 통해 합법적으로 설치한 것을 설치하면 충돌이 발생하여 사용자 시스템이 손상될 수 있습니다.
1 이것은 내 개인적인 의견입니다. PyBOMBS1과 PyBOMBS2는 여전히 많은 훌륭한 응용 프로그램을 가능하게 합니다! 가지고 있다는 것은 확실히 멋진 일입니다. 이는 대규모 커뮤니티가 이미 수행하고 있는 작업을 복제하는 엄청난 노력입니다.
답변2
수많은 Linux 배포판이 있고 각 배포판에는 서로 다른 패키지 관리자를 사용할 수 있는 여러 버전(과거, 현재, 미래)이 있으므로 이 프로젝트는 비현실적입니다. (이 마지막 사항에 대해서는 Red Hat의 rpm
, yum
, 및 를 고려하십시오 dnf
.)
패키지 관리 도구를 사용하기로 결정한 경우가 이에 해당합니다.
반면, 각 도구의 소스 코드를 다운로드하고 로컬에서 컴파일(따라서 슈퍼 젠투와 유사한 배포판 만들기)하려는 경우 호환되지 않는 종속성으로 인해 끝없이 골치 아픈 일을 겪게 될 것입니다.
간단히 말해서, 이 프로젝트는 거대하고 실현 불가능합니다.