태그 보관물: apt-get

apt-get

데비안 7에서 최신 git으로 업그레이드하는 방법은 무엇입니까? python-software-properties sudo add-apt-repository

데비안 7에서 apt-get을 통해 git을 설치했습니다.

# git --version
git version 1.7.10.4

최신 버전의 git으로 업그레이드하고 싶습니다. 나는 시도했다 :

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

그러나 다음과 같은 오류가 발생합니다.

Fetched 6,944 B in 0s (10.1 kB/s)
W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/source/Sources  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/wheezy/main/binary-amd64/Packages  404  Not Found

나는 또한이 가이드를 따르려고 노력했다 :

http://backports.debian.org/Instructions/

하지만 여전히 최신 git을 얻을 수는 없습니다.



답변

2016-07-27 업데이트 : Git 1.9.1 에서 wheezy-backports를 사용할 수 있습니다 . 최신 버전을 설치하거나 Jessie를위한 지침이 여전히 적용됩니다.


최신 버전의 백 포트 패키지를 사용할 수없는 경우 두 가지 옵션이 있습니다.

  1. 패키지 관리자에게 백 포트를 준비하도록 요청하십시오. 작동한다고 보장되지는 않지만 일부 관리자는 백 포트 작성에 대해 긍정적이므로 시도해보십시오.

    관리자의 이메일은 이곳 에서 찾을 수 있습니다 .

  2. 소스에서 직접 빌드하십시오. 이것은 두 가지 방법으로 수행 될 수 있습니다.

    • 소스 tarball에서 “있는 그대로”빌드하십시오. 이 경로를 선택할 경우, 반드시 설치 망할 놈의 빌드 시스템을 구성하는 모든 것을 아래 ~/git/opt/git또는 같은 것을 그렇지 않으면 나중에 큰 피타가 설치 무엇을 제거해야합니다.

      문제는 전체 파일 시스템에 소프트웨어를 배포하여 소프트웨어를 설치하는 기존의 유닉스 방식이 합리적이지만 어떤 파일이 어떤 패키지에 속하는지 또는 그 반대인지를 아는 레지스트리가 있고 데비안과 같은 패키징 시스템이있는 경우에만 가능합니다 정확히 이것을하십시오. 소스에서 빌드 된 패키지를 “정상”설치하면 대부분의 경우 나중에이 소프트웨어를 제거 할 수있는 방법이 없습니다 ( checkinstall대신에 사용하는 것이 make install좋지 않지만 실제로는 최후의 수단입니다). 반대로, 소스 디렉토리를 구성하여 단일 디렉토리에 모든 것을 설치하는 경우, 소프트웨어를 실행하는 데 약간의 어려움 ( “이진”디렉토리는 없습니다 $PATH)이 필요합니다. 단일 rm -rf /path/to/that/dir.

    • 자신을 백 포트하십시오. 이것은 더 복잡하지만 간단한 경우에는 효과가 있으므로 IMO를 시도해 볼 가치가 있습니다.

      기본적으로 다음과 같이됩니다 ( .dsc파일에 대한 링크 는 패키지 페이지에서 unstable로 가져옵니다 ).

      # apt-get install devscripts
      $ mkdir ~/devel && cd $_
      $ dget http://ftp.de.debian.org/debian/pool/main/g/git/git_2.1.4-2.1.dsc
      $ dpkg-source -x git_2.1.4-2.1.dsc
      $ cd git
      

      다음을 실행하여 모든 빌드 종속성이 충족되었는지 확인하십시오.

      $ dpkg-checkbuilddeps
      

      그리고 도구에 현재없는 모든 것을 설치하십시오. 때때로 패키지는 백 포트하는 배포판에서 사용할 수없는 너무 새로운 버전을 참조 할 수 있습니다. 이 경우 debian/control파일 에서 해당 패키지의 버전을 속이고 수정하려고해도 됩니다.

      이제 빌드 할 패키지의 버전을 수정하십시오. 이를 달성하는 가장 좋은 방법은 도구가 올바른 일을하도록하는 것입니다.

      $ dch --bpo
      

      debian/changelog파일에 항목을 추가하고 선택한 텍스트 편집기를 열어이를 감독합니다. 편집기를 닫기 만하면 빌드 할 패키지의 버전이이 파일의 최상위 항목에서 가져옵니다.

      이제 실제로 빌드를 시도해 봅시다 :

      $ dpkg-buildpackage -uc -us -b
      

      운이 좋으면이 시점에서을 (를) 사용하여 설치할 수있는 반짝이는 새로운 Git .deb패키지가 많이 ..있습니다 dpkg -i <packagename> ....

      ( debuild clean빌드 된 crud를 제거하거나 git디렉토리를 완전히 제거하기 위해 실행하십시오 dpkg-checkbuilddep. 실행 후 설치 한 것을 제거 할 수도 있습니다 .)

      불행히도, 어떤 이유로 건축이 실패하면, 고치려고 시도하는 데 특정 지식이 필요하지만 이것은이 논의의 범위를 벗어납니다.


답변

apt가 찾은 최신 소스에서 빌드하도록 지시하여 Ubuntu Precise 용 Git PPA를 계속 사용할 수 있습니다. 배포판은 이와 비슷하게 작동합니다.

나는 hfeezy를 기반으로 한 Raspbian에서 성공적으로 사용하여 armhf 패키지를 얻었지만 모든 아키텍처에서 작동해야합니다.

먼저 PPA에 대한 GPG 키를 추가하십시오.

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E1DF1F24

적절한 소스 패키지의 URL을 추가하십시오.

cat > /etc/apt/sources.list.d/git.list << EOF
deb-src http://ppa.launchpad.net/git-core/ppa/ubuntu precise main
EOF

아파트 업데이트 :

apt-get update

빌드 종속성을 설치하십시오.

apt-get build-dep git

소스에서 git을 다운로드하고 빌드하십시오. 빌드 프로세스가 약간의 쪼개짐을 생성하므로 임시 디렉토리입니다.

apt-get -b source git

방금 빌드하고 정리 한 패키지를 설치하십시오 (git-core는 더 이상 필요하지 않습니다).

dpkg -i git_*.deb git-man_*.deb
dpkg -P git-core


답변

데비안 7 (Wheezy)에서 특정 패키지를 업그레이드하려면 /etc/apt/sources.list 에 다음 줄을 추가하여 백 포트를 사용할 수 있습니다 .

deb http://cloudfront.debian.net/debian wheezy-backports main
deb-src http://cloudfront.debian.net/debian wheezy-backports main

그런 다음 git 을 설치 / 업그레이드 하려면 다음 명령을 실행하십시오.

$ aptitude update
$ aptitude -t wheezy-backports install git

/etc/apt/sources.list.d/의 별도 파일에서 백 포트를 구성 할 수도 있습니다. 특히 /etc/apt/sources.list.d/backports.list 파일을 선호 합니다.


답변