데비안 저장소에서 패키지를 설치하기 위해 `brew`를 구성할 수 있나요?

데비안 저장소에서 패키지를 설치하기 위해 `brew`를 구성할 수 있나요?

최근에 설치했어요brew내 Debian 컴퓨터에 명령 설치tldr내 시스템의 매뉴얼 페이지. 이 명령은 데비안이 아닌 패키지 프로그램을 설치하는 데 유용한 것으로 보이며 패키지를 설치할 필요가 없습니다 sudo. 그러나 제한 사항이 있습니다. 명령을 통해 몇 가지 패키지만 설치할 수 있습니다 brew.

brew데비안 리포지토리에서 패키지 설치를 구성할 수 있나요 ?

답변1

가능합니까? 예. 두 프로그램 모두 오픈 소스입니다. 편리한? 설마.

왜?

패키지 관리자의 작동 방식은 대략 다음과 같습니다.

  • 시스템에 설치된 패키지(및 해당 버전)를 추적합니다.
  • 이를 위해 자체 패키지 형식(예: .deb)을 지정하고 이러한 패키지를 프로그램 설치 방법 및 추적 방법에 대한 지침으로 사용합니다.
  • 또한 종속성을 추적합니다(예: "이 프로그램이 작동하려면 openssl이 필요합니다!")

이것이 바로 소수의 패키지 관리자를 사용하는 시스템을 갖는 것이 최선의 아이디어가 아닌 이유입니다.

  1. 모든 패키지 관리자는 어떤 패키지가 설치되고 있는지 알아야 합니다(예: brew해당 패키지를 설치했다는 사실 firefoxapt설치했다는 사실을 알아야 합니다 tldr).
  2. 각 패키지 관리자는 다른 패키지 관리자의 종속성을 해결해야 합니다(예: "Brew: 이 프로그램에는 가 필요 ncurses하지만 apt이미 설치되어 있으므로 ncurses가져올 필요가 없습니다!").

보시다시피 문제는 2패키지 관리자가 기본 저장소의 추상화라는 것입니다. 데비안 사람들과 같은 사람들은 사용자가 사용하기를 원하는 패키지를 선택하고 다른 사람들이 사용할 수 있도록 만듭니다. 그러나 시스템이 일관성을 유지하도록 이러한 패키지를 선택하기도 하며, 최소한의 패키지로 최대의 기능을 제공하기를 원합니다. ncurses 버전 2가 제대로 작동하는데 왜 ncurses 버전 1,2, 3을 설치합니까?

첫 번째 문제도 나쁜 소식이다. 패키지 관리자는 자신이 수행 중인 작업을 서로에게 알려야 합니다. 그렇지 않으면 충돌이 발생할 수 있습니다( 무엇이 설치되었는지 brew알 수 없음 ).ncurses

그러면 왜 그렇게 힘든가요?

  1. 패키지 관리자는 긴밀하게 협력해야 합니다.
  2. 패키지 관리자는 패키지에 동의할 수 없는 경우 수행할 작업에 대한 엄격한 정책을 가지고 있어야 합니다.
  3. 패키지 관리자는 거의 상호교환적으로 작업할 수 있어야 하며, 유일한 눈에 띄는 차이점은 사용 가능한 프로그램입니다.
  4. 패키지 관리자는 업데이트 시 서로의 저장소를 추적할 수 있어야 합니다.

이것이 실제로 의미하는 바는 두 개의 패키지 관리자로 구성된 패키지 관리자가 필요하다는 것입니다. 새로운 프로그램이 필요합니다.

그래서 내가 무엇을 할 수 있니?

먼저, “나는 왜 이 일을 하고 있는가?”라고 스스로에게 묻습니다. 솔직히 말해서, 배포판은 많은 수의 패키지를 제공해야 합니다. 보유한 패키지 수가 만족스럽지 않은 경우 필요한 패키지가 더 많은 다른 배포판으로 전환하는 것을 고려할 수 있습니다.

당신이라면 어떨까요?진짜이것이 제대로 brew작동하도록 하기 위해 다음과 같은 해결책을 제안하겠습니다. 그러나 이것이 완전히 가능한지는 확실하지 않습니다.

  1. 소스를 잡아라 brew.
  2. 양조 레시피 형식에 대해 알아보세요.
  3. 레시피를 데비안 패키지로 자동 변환하는 프로그램을 작성하세요.
  4. brew실행할 때마다 .deb레시피를 패키지로 변환하는 프로그램을 호출하고/배포 저장소에서 프로그램을 검색한 다음 apt이 패키지를 설치하도록 호출하도록 수정하세요 .

이러한 수정 작업에는 많은 시간이 걸릴 수 있으며 쉬운 작업이 아닙니다. 배포판을 변경하거나 패키지 관리자를 사용하는 것이 좋습니다.

답변2

응, 하지만 그건 꽤 낭비가 될 거야. 하나 만드는 게 더 의미가 있지폴리아닐린tldr의 경우 기본 데비안 저장소에서 허용하거나 그냥 사용하십시오.https://tldr.ostera.io.

관련 정보