"sudo make install"이 설치된 프로그램을 업데이트하는 방법을 알려주실 수 있습니까? 내가 프로그램을 제거한 다음 "./autogen.sh" "make" "sudo make install"을 다시 실행해야하는지 묻습니다. 누군가 프로그램을 제거한 다음 git pull, 다른 프로그램을 다시 빌드해야한다고 말합니다. 업데이트 된 소스를 사용하여 간단하게 다시 설치할 수 있다고 말하십시오.소스에서 빌드 한 프로그램을 업데이트하는 방법
답변
달라질 수 있습니다. 단순히 사소한 업데이트 만하는 경우 재 컴파일 및 make install
으로 이동하십시오.
제공된 libs 및/또는 헤더 파일에 변경 사항이있는 경우 (예 : 파일 이름이 변경된 경우) 소프트웨어를 먼저 제거하여 파일 시스템에서 불필요한 파일을 제거하는 것이 좋습니다.
(보통) make uninstall
은 없습니다.
저는 소프트웨어와 버전 번호를 따서 명명 된 별도의 디렉토리에 항상 이러한 소프트웨어를 설치하는 이유입니다. 예를 들어, 소스에서 GNU Make 4.1을 설치할 때 디렉토리 make-4.1
에 설치합니다.
그런 다음 모든 관련 파일을 내 $PATH
, $MANPATH
등에서 사용하는 공통 디렉토리 트리로 심볼릭 링크합니다. 나는 그것을하기 위해 자신의 스크립트를 사용하지만, 그 이유는 내가 그것을 작성했을 때 stow
에 대해 몰랐기 때문입니다.
이렇게하면 여러 버전을 나란히 설치하고 해당 스크립트에서 해당 심볼릭 링크를 제거하고 추가하여 "현재"버전을 선택할 수 있습니다. 디렉토리 트리를 제거하여 소프트웨어를 제거 할 수 있습니다.
또한이 방법으로 설치해야하는 종속성이있는 소프트웨어에서도 작동합니다. 가장 어려운 부분은 종속성을 버전별로 설정할지 여부를 결정하는 것입니다.
정말로 기본 위치에 직접 설치 한 프로그램을 제거하기 어렵습니다. 운이 좋다면 make
에 uninstall
또는 deinstall
표적이 있지만 대부분은 그렇지 않습니다. 아마도 코드의 동일한 버전을 다시 설치하고 어떤 일이 실제로 끝나는 곳을 계속 지키지 않는 한 파일을 수동으로 찾아서 제거하는 것입니다 ("사냥감을 줄이면"조금 더 쉬워집니다) 향후
, 당신은 다른 일을 할 수도 있습니다하십시오 GNU
configure
스크립트를 사용하여 대부분의 소스 배포는 --prefix=path
를 사용하여 설치를위한 접두사을 지정할 수 있습니다. 이렇게하면 별도의 하위 디렉토리에 설치를 수행 할 수 있으며 삭제가 간단합니다. 예를 들어
,의 내가 ThePackage라는 소프트웨어의 가상 조각을 설치하고있어 가정 해 봅시다 버전 14.4 :
$ ./configure --prefix=/usr/local/stow/thepackage-14.4
$ make && sudo make install
(나는 보통 $HOME/local/stow
아래 경로를 사용)
공지 사항이있는 stow
? 정확하게 이것이라고 불리는 깔끔한 유틸리티 인 available from the GNU people이 있다는 것은 우연이 아닙니다..../stow/thepackage-14.4
에서, 위와 같이 소프트웨어를 설치 한 후
, 그것은 단순히이 예를 들어, /usr/local/stow/thepackage-14.4/bin
의 모든 실행 파일이 /usr/local/bin
에서 사용할 수 있도록 심볼릭 링크와 /usr/local
채 웁니다
$ cd /usr/local/stow
$ sudo stow -v thepackage-14.4
의 문제 (등)
을 제거하려면 :
$ cd /usr/local/stow
$ sudo stow -D -v thepackage-14.4
$ sudo rm -rf thepackage-14.4
을이 당신도 할 수 있습니다 일부 소프트웨어의 여러 버전을 /usr/local/stow
에 설치해야합니다. 특정 버전을 "활성화"하려면 사용중인 버전이 무엇이든 stow -D
이고 시험하려는 버전은 stow
입니다. 요구 사항을 충족시키지 못하는 새 버전이 있으면 작업을 취소하십시오.
다른 빌드 시스템도 별도의 접두어로 설치할 수 있습니다. 예를 들어, CMake 위와 같이 설치하게 또한 펄 패키지 stow
을 사용할 수 있습니다
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/stow/thepackage-14.4
$ make && sudo make install
사용하고, 어떤 다른 것은 사용자 정의 경로에 설치합니다.
- 1. 소스에서 빌드 한 원자
- 2. D 소스에서 빌드 한 정적 라이브러리를 Makefile.am에 포함시키는 방법?
- 3. 소스에서 OSX 응용 프로그램을 설치하는 방법
- 4. 외부 소스에서 sqlite3 데이터베이스 필드를 업데이트하는 방법
- 5. 소스에서 tmux 빌드
- 6. 소스에서 Autofac 빌드
- 7. 소스에서 프라임모스 빌드
- 8. 소스에서 gperf 빌드
- 9. 소스에서 안드로이드 빌드 - 공유 라이브러리
- 10. yaml-cpp (소스에서 빌드)를 제거하는 방법
- 11. iPhone 응용 프로그램을 업데이트하는 방법
- 12. 소스에서 VSCode를 빌드 한 후 확장 기능을 설치하십시오.
- 13. msiexec을 사용하여 프로그램을 업데이트하는 방법
- 14. 소스에서 빌드 된 PIL 제거하기
- 15. 소스에서 Android Eclipse ADT 빌드
- 16. Fedora24의 소스에서 REDHAWK CF 빌드
- 17. IDEA를 사용하여 소스에서 Wicket 빌드
- 18. 빌드 아웃 - 소스에서 달걀 설치하기
- 19. Cygwin GCC를 빌드/업데이트하는 방법은 무엇입니까?
- 20. 사용자가 업그레이드 비용을 지불 한 후 응용 프로그램을 업데이트하는 방법
- 21. 소스에서 빌드 한 Python에서 cx_Freeze를 컴파일 할 수 없습니다
- 22. yum에서 이전에 설치했을 때 소스에서 Subversion (svn)을 업데이트하는 방법
- 23. Qt를 소스에서 빌드하는 방법
- 24. ios에서 엔터프라이즈 응용 프로그램을 업데이트하는 방법
- 25. 소스에서 프로그램을 컴파일 한 후 npm 패키지를 만드는 방법은 무엇입니까?
- 26. 실행중인 asp.net 응용 프로그램을 업데이트하는 방법?
- 27. 소스에서 jdk (openjdk-7)을 빌드
- 28. 하루에 한 번 업데이트하는 방법
- 29. 픽셀을 한 번만 업데이트하는 방법
- 30. 소스에서 안드로이드 5.1.1 빌드 - 컴파일 오류
감사합니다. 그래서 매번 변경 사항을 확인해야합니까? – Fabiuz99
@ Fabiuz99 당신은 그것을 복잡하게 만듭니다; 그냥'make install' 새로운 버전; 문제가 발생하면'make uninstall '하고 다시 설치하십시오. –
왜냐하면 나는 git으로 인스톨 된 프로그램을 업데이트하기 위해 스크립트를 사용하기 때문이다. 단순히 include 나 include만으로 프로그램을 설치하거나 제거했다가 다시 설치하면 안된다. 당신의 대답에서 나는 두 번째 옵션이 더 낫다는 것을 이해했습니다. – Fabiuz99