UNIX 서버의 다음 위치에 GNU "핵심" 유틸리티 coreutils-8.21을 설치했습니다.
/opt/app/p1sas1c1/apps/GNU
나는 지금 원한다다음에 추가findutils-4.4.2 패키지. 설치 문서를 읽었으며 다음 명령을 사용하여 구성할 수 있다는 것을 알았습니다.
./configure --prefix=/opt/app/p1sas1c1/apps/GNU
이는 핵심 유틸리티를 설치하는 데 사용한 것과 동일한 "접두사"입니다.
내 질문은: 이 작업을 수행하고 "make install" 명령을 따르면 해당 대상 위치에 있는 기존 파일을 덮어쓰게 됩니까, 아니면 새 요소가 해당 디렉터리에 "추가"됩니까?
먼저 이와 같은 작업을 수행하기 위한 "모범 사례"를 확인하고 싶습니다. 저는 훈련된 "SA"가 아니며 "루트" 액세스 권한이 없습니다. 설치에 응용 프로그램 계정을 사용하고 있습니다.
답변1
make install
동일한 이름을 가진 기존 파일을 덮어씁니다. 그 외에는 기존 파일을 삭제하지 않습니다. GNU coreutils와 GNU findutils는 함께 사용하고 설치하도록 설계되었으므로 동일한 이름을 가진 다른 파일을 가질 수 없습니다. 따라서 하나씩 설치하면 둘 다 얻을 수 있습니다.
답변2
예 make install
, 해당 대상에 대한 쓰기 권한이 있다고 가정하면 기존 파일을 덮어쓰게 됩니다. 그러나 이러한 패키지가 모두 동일한 "시스템"의 일부라는 점을 고려하면 본질적으로 모듈식이며 제어된 방식으로 동일한 접두사에 설치되고 아무것도 덮어쓰지 않고 후속 부분을 설치하기만 하면 된다고 생각하고 싶습니다. 당신이 그랬던 것처럼.
내 조언은 이 작업을 수행하기 전에 먼저 테스트하고 실제로 설치된 것이 무엇인지 확인하는 것입니다. --prefix
디렉토리에 대한 쓰기 액세스 권한이 있는 한 원하는 대로 변경할 수 있습니다 .
또한:
- 이를 위해 Linux 배포 패키지 관리를 사용하면 어떨까요?
- 사용할 수 없는 최신 버전을 설치하고 있습니까?
- 아니면 그냥 배우고 있는 건가요?
이유가 무엇이든 패키지를 사용하는 것보다 소프트웨어를 사용자 정의 "사물"로 설치하는 것의 결과를 고려하겠습니다. 예, 어느 쪽이든 가능합니다. 하지만 소프트웨어를 사용자 정의 설치하는 것과 배포판의 패키지 관리자가 제공하는 기성품을 사용하는 것 사이에는 절충안이 있습니다.
사용자 정의를 통해 완전한 제어가 가능하지만, 이를 최신 상태로 유지하고 구축 및 유지 관리하는 방법을 알아야 하는 비용이 듭니다.
기성 소프트웨어는 편리함을 제공하지만 이제는 소프트웨어 유지 관리를 다른 사람에게 의존하고 있으며 일정에 제약을 받고 있습니다.
현명한 선택을 하세요!