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