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

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

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

brew데비안 리포지토리에서 패키지를 설치하도록 구성할 수 있습니까 ?

답변1

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

왜?

패키지 관리자는 대략 다음과 같이 작동합니다.

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

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

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

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

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

그러면 왜 힘든가요?

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

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

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

우선, "나는 왜 이 일을 하고 싶은가?"라고 스스로에게 물어볼 것입니다. 솔직히 배포판에는 많은 패키지가 제공되어야 합니다. 가지고 있는 패키지 수가 만족스럽지 않으면 필요한 패키지가 더 많은 다른 배포판으로 전환하는 것을 고려할 수 있습니다.

당신이있는 경우정말brew작업을 수행하기 위해 필사적으로 다음 솔루션을 제안하겠습니다. 비록 이것이 완전히 가능한지는 확실하지 않습니다.

  1. 의 소스를 가져옵니다 brew.
  2. 양조 레시피 형식을 알아보세요.
  3. 레시피를 데비안 패키지로 자동 번역하는 프로그램을 작성하세요.
  4. brew실행할 때마다 프로그램을 호출하여 레시피를 .deb패키지로 변환하고 배포판 저장소에 있는 프로그램을 검색 하도록 수정한 다음 호출하여 apt이 패키지를 설치합니다.

그러한 수정을 수행하는 데는 아마도 많은 시간이 걸리고 쉬운 일이 아닙니다. 대신 distro를 변경하거나 패키지 관리자를 고수하는 것이 좋습니다.

답변2

예, 하지만 그것은 적지 않은 노력의 낭비일 것입니다. 만드는 것이 더 합리적일 것입니다.아빠tldr을 사용하거나 기본 데비안 저장소에 허용하거나 그냥 사용하려면https://tldr.ostera.io.

관련 정보