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/
할 수 없다는 점에 유의하십시오. 그렇지 않은 경우 다음을 수행해야 합니다.$PATH
git
git
$ /usr/local/git/bin/git --version
git version 2.17.1
답변2
CentOS 7의 소스에서 Git 2.17.1을 올바르게 설치하는 방법
아마도 "2.17.1" 패키지를 빌드하고 yum을 사용하여 필요한 패키지를 설치할 수 있습니다.
$ 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