기존 AIX 시스템에 핵심 GNU 명령을 어떻게 추가합니까?

기존 AIX 시스템에 핵심 GNU 명령을 어떻게 추가합니까?

다른 스레드에서(이와 같은 목록을 정렬하는 가장 간단한 방법은 무엇입니까) 솔루션을 제공할 수 있으므로 시스템에 "GNU ls"가 있는지 질문을 받았습니다. 우리는 GNU ls를 설치하지 않았지만 다음과 같은 생각이 들었습니다.

  1. "GNU ls"와 같은 것을 설치할 때 "ls"만 설치합니까, 아니면 Unix 명령에 대한 대안 세트를 포함합니까?

  2. GNU ls는 base-O/S ls 명령이 지원하는 모든 플래그를 지원합니까?

두 번째 문제는 AIX 시스템에 ksh93 스크립트가 많고 이들이 예상대로 계속 실행되는지 확인하고 싶기 때문입니다. GNU ls가 설치되어 있는 경우 특정 ksh 스크립트(예: /opt/GNU/ls)의 기능이 필요할 때 GNU ls에 대한 정규화된 경로를 사용할 수 있습니까? 사람들이 일반적으로 성숙한 시스템에서 GNU 명령을 추가/사용하는 방식입니까?

답변1

당신은 만들 수 있습니다GNU 핵심 도구소스 코드에서 생성된 ls(1) 명령을 PATH 아래의 다른 이름(예: )으로 수동으로 복사합니다 /usr/bin/gls.

예를 들어, 가장 간단한 단계는 다음과 같습니다.

./configure <configure-options-you-may-want>
make
cp src/ls /usr/bin/gls

답변2

  1. GNU 바이너리를 어떻게 설치했는지에 따라 다릅니다. 가장 일반적인 방법은마이클 페첼스 홈페이지또는IBM의 AIX 오픈 소스 소프트웨어 도구 상자. 두 경우 모두(다른 패키지에서도 마찬가지지만, 이 두 가지 이외의 다른 패키지는 사용한 적이 없습니다) 바이너리는 /bin에 설치되지 않으므로 시스템 바이너리 문서를 덮어쓰지 마십시오. 이 경우 PATH 변수를 변경하여 사용할 바이너리(AIX 또는 GNU)를 선택할 수 있습니다. 즉:
      PATH=/usr/local/gnu/bin # GNU 바이너리
      PATH="$PATH:/bin:/usr/bin" # AIX 시스템 바이너리 파일
      경로="$경로:/일부/기타/경로:[...]"
      내보내기 경로

/usr/local/binAIX 바이너리 사용(첫 번째)으로 되돌리려면 처음 두 줄(GNU 바이너리가 설치되어야 하는 위치)을 반대로 바꾸세요 .

패키지의 내용은 비슷합니다. 사용하는 패키지에 따라 다르지만 제가 아는 한 IBM의 GNU-ls를 포함하는 패키지는 없습니다.

  1. 말하기가 어렵습니다. GNU 도구는 매우 불안정하고 주어진 규칙 세트를 따르므로(예를 들어 AIX는 POSIX와 동일합니다) 오늘 사실이 내일은 틀릴 가능성이 높으며 그 반대의 경우도 마찬가지입니다. 일부 GNU 유틸리티는 POSIX 규칙을 따르려고 시도하지만 다른 유틸리티는 그렇지 않습니다. 나는 특정 유틸리티에 기여하는 사람의 수가 변함에 따라 시간이 지남에 따라 이러한 태도도 바뀔 것이라고 생각합니다.

관련 정보