/usr/bin/rename.ul에 확장자가 있는 이유는 무엇입니까?

/usr/bin/rename.ul에 확장자가 있는 이유는 무엇입니까?

rename.ul내 Ubuntu 컴퓨터에서 명령을 찾았습니다. 그것은 util-linux패키지 에서 나옵니다 .

확장자를 가진 실행 파일을 거의 볼 수 없기 때문에 이것은 나에게 이상합니다. 또한 파일이 컴파일되기 때문에 이것은 필요하지 않은 것 같습니다.

이에 대한 역사적, 기술적 이유가 있나요?

저도 이 확장자와 관련된 파일 형식을 찾을 수 없어서 헷갈립니다.

답변1

rename이 확장은 데비안에서 사용할 수 있는 많은 명령과의 충돌을 피하기 위한 것입니다.이 변화2007년에 개발되었습니다.데비안 버그 #439647:

/usr/bin/rename은 대체 시스템에서 관리됩니다(기본적으로 Perl 버전이 사용됨). util-linux 2.13~rc3-8은 대안으로 등록하는 대신 자체 바이너리를 설치합니다.

이에 대한 응답으로 util-linux rename이름이 rename.ul.

그럼에도 불구하고 rename.ul구문은 Perl 변형과 상당히 다르며 대체 시스템에는 기본적으로 추가되지 않습니다(참조데비안 버그 #439935).

답변2

댓글 작성자가 추측한 대로, 이는 다음과 같습니다.데비안 대체 시스템행동 중.

배포판에 동일한 이름의 파일이 포함된 여러 패키지가 있는 경우 패키지 작성자는 이를 알아야 하며 관리자가 사용할 패키지를 선택할 수 있는 메커니즘이 있어야 합니다. 따라서 충돌하는 모든 파일의 이름이 변경되고(일반적으로 접미사가 붙지만 이는 패키지 메타데이터에 지정될 수 있음) 원래 파일 이름이 에 대한 지점이 됩니다 /etc/alternatives/<original filename>. 이는 이제 이름이 변경된 파일 중 하나를 가리키는 또 다른 심볼릭 링크가 됩니다. 파일.

시스템 관리자는 이 update-alternatives도구를 사용하여 원래 이름이 가리키는 파일 버전을 선택할 수 있습니다. 다른 버전은 새 이름으로 계속 액세스할 수 있습니다.

update-alternatives도구는 "일련의" 항목을 처리할 수 있으므로 레거시 및 OpenBSD netcat이 모두 설치되어 있고 sudo update-alternatives --config nc기본값을 어느 쪽으로든 전환하면 해당 매뉴얼 페이지 이름도 전환됩니다.

일반적인 예는 입니다 /usr/bin/editor. 데비안 스타일 시스템에서 이는 다른 프로그램이 "해당 시스템의 기본 텍스트 편집기"를 얻기 위해 사용할 수 있는 심볼릭 링크입니다. 최소 설치 후에는 기본적으로 텍스트 파일이 설정될 수 있으므로 nano매뉴얼 페이지가 열리고 editor example.txt표시됩니다 .nanoman editornano

그러나 대체 시스템(예: )에 더 높은 우선순위의 편집기를 설치하면 joe자동으로 새 기본값이 되므로 이제 이 편집기 가 editor example.txt사용되고 매뉴얼 페이지 도 표시됩니다 . 또한 이를 사용하여 설치된 편집기를 기본 편집기로 선택할 수 있습니다. 이 방법으로 선택하면 자동 우선순위가 이를 무시하지 않습니다.joeman editorjoesudo update-alternatives --config editor

관련 정보