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