CentOS 7.4의 소스에서 Git 2.17.1을 올바르게 설치하는 방법은 무엇입니까?

CentOS 7.4의 소스에서 Git 2.17.1을 올바르게 설치하는 방법은 무엇입니까?

CentOS 7.4에 사용 가능한 최신 git(git-2.17.1)을 설치하고 싶습니다. 일부 응용 프로그램이 이에 대해 불평하기 때문입니다.

설치하려고 하는데자식-2.17.1소스에서 시작센트OS 7.4.

제가 시도한 방법은 다음과 같습니다.

  • 이전 git을 제거하려면 다음 명령을 사용하십시오(전용):

ㅏ)rpm -e --nodeps git

  • git-2.17.1.zip파일을 다운로드하고 압축을 푼다./home/myusername/temp/

  • 이 경우 파일을 추출한 디렉터리로 변경합니다./home/myusername/temp/git-2.17.1/

  • 수퍼유저로서 다음 명령을 사용하여 가능한 모든 종속성을 설치했습니다.

a) yum install docbook2X-0.8.8-17.el7.x86_64.rpm(이 패키지를 다운로드한 후)

비)yum install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel asciidoc xmlto gengetopt autoconf libcurl-devel gcc kernel-headers debhelper intltool perl-Git po-debconf

  • 다음을 사용하여 git-scm 웹 사이트의 지침에 따라 심볼릭 링크를 만들었습니다.

ㅏ) ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi

  • 일반 사용자로 다음 명령을 실행합니다.

  • ./configure CFLAGS='-I/usr/local/openssl/include' LDFLAGS='-L/usr/local/openssl/lib' --prefix=/usr/local/git --with-openssl=/usr/local/bin/openssl

  • make all doc info

  • 이번에도 슈퍼유저로서 다음 명령을 실행합니다.

  • make install install-doc install-html install-info

마지막 단계에 문제가 있습니다. 출력은 다음과 같습니다.

install -m 644 git.info gitman.info /usr/local/git/share/info
if test -r /usr/local/git/share/info/dir; then \
  install-info --info-dir=/usr/local/git/share/info git.info ;\
  install-info --info-dir=/usr/local/git/share/info gitman.info ;\
else \
  echo "No directory found in /usr/local/git/share/info" >&2 ; \
fi
No directory found in /usr/local/git/share/info
mak
e[1]: Leaving directory `/home/myusername/temp/git-2.17.1/Documentation'

openssl 버전을 현재 사용 가능한 최신 버전(openssl 1.1.0h)으로 성공적으로 업그레이드했습니다.

답변1

이는 오류가 아니며, echo $?실행 후 확인 하실 수 있습니다 make install-info. 목표는 다음과 install-info같습니다 Documentation/Makefile .

install-info: info
    $(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
    $(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir)
    if test -r $(DESTDIR)$(infodir)/dir; then \
      $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\
      $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\
    else \
      echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \
    fi

올바른 이름을 가진 프로그램은 install정보 페이지를 생성하며 /usr/local/git/share/info/이를 확인할 수 있습니다.

$ ls -lh /usr/local/git/share/info/
total 2.3M
-rw-r--r-- 1 root root 218K Jun 13 21:46 git.info
-rw-r--r-- 1 root root 2.1M Jun 13 21:46 gitman.info

목표는 install-info커밋에 소개되며 4739809c다음과 같이 말합니다.

정보 대상 디렉터리에 "dir" 파일이 아직 포함되어 있지 않으면 디렉터리 항목이 생성되지 않습니다.

이름이 지정된 파일은 dir다음의 일부입니다.GNU texinfo 그러나 이것은 필수는 아닙니다.

또한 설치한 후 시작하기 위해 단순히 무언가를 입력 /usr/local/git/bin/할 수 없다는 점에 유의하십시오. 그렇지 않은 경우 다음을 수행해야 합니다.$PATHgitgit

$ /usr/local/git/bin/git --version
git version 2.17.1

답변2

CentOS 7의 소스에서 Git 2.17.1을 올바르게 설치하는 방법

아마도 "2.17.1" 패키지를 빌드하고 yum을 사용하여 필요한 패키지를 설치할 수 있습니다.

소스코드 패키지 ftp://ftp.icm.edu.pl/vol/rzm6/linux-fedora/linux/updates/28/Everything/SRPMS/Packages/g/git-2.17.1-2.fc28.src.rpm

설정$HOME/rpms/ https://www.linuxquestions.org/questions/linux-software-2/need-rpm-package-for-php-version-5-2-7-and-up-on-redhat-5-1-a- 766486/#13

$ rpm -i git-2.17.1-2.fc28.src.rpm

# yum install libcurl-devel libsecret-devel pcre2-devel tk cvs cvsps \ 
httpd mod_dav_svn subversion subversion-perl perl-DBD-SQLite perl-CPAN

# cpan
cpan[1]> install IO::Pty
cpan[2]> install Test::More


$ cd rpms/SPECS/
$ rpmbuild -bb git.spec
.
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-2.17.1-2.el7.x86_64.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-all-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-core-2.17.1-2.el7.x86_64.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-core-doc-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-cvs-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-daemon-2.17.1-2.el7.x86_64.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-email-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/gitk-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/gitweb-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-gui-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/git-p4-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/perl-Git-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/noarch/perl-Git-SVN-2.17.1-2.el7.noarch.rpm
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-subtree-2.17.1-2.el7.x86_64.rpm
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-svn-2.17.1-2.el7.x86_64.rpm
Wrote: /home/knudfl/rpms/RPMS/x86_64/git-debuginfo-2.17.1-2.el7.x86_64.rpm

16개 패키지https://drive.google.com/drive/folders/1PRxoicjzHWunFZW-hhXT9JsFk_PQIoLs?usp=sharing

관련 정보