다른“이름 바꾸기”명령의 차이점은 무엇입니까? 제공됩니까? 우연이 아니라고

우분투 14.04 이후로 최소한 세 가지 rename명령이 있습니다.

  1. renameutil-linux패키지에서 제공하는 , man rename.ul 참조
  2. renameperl패키지에서 제공하는 man prename 참조
  3. renamerename패키지에서 제공하는 man 파일 이름 바꾸기를 참조하십시오.

질문 :

  • 이 명령들 사이의 차이점은 무엇입니까?
  • 같은 이름을 사용하여 다른 명령을 제공하는 여러 패키지가 어떻게 제공됩니까? 우연이 아니라고 생각합니까?
  • perl패키지가“full” rename명령을 포함하거나 전혀 rename명령을 포함하지 않는 것이 간단 하지 않습니까? 이것이 우분투 17.04 이상까지 왜 불완전한 분할로 유지됩니까?

이 질문은 U & L에 대해 이미 요청되었습니다 (나중에 알았 듯이) :
모든 이름 바꾸기와 함께 : prename, rename, file-rename?



답변

같은 이름을 사용하여 다른 명령을 제공하는 두 패키지가 어떻게됩니까 (실수로 그렇지 않은 경우)?

그것은 드문 일이 아닙니다. 작성자는 일반적으로 생각하는 가장 간단한 명령 이름을 선택하므로 두 사람이 파일 이름을 바꾸는 명령을 작성하면 둘 다 이름이 지정 될 수 rename있습니다. 이것이 데비안 대안 시스템 의 이유 중 하나입니다. 비슷한 이름의 명령을 제공하는 패키지가 공존하고 한 패키지가 다른 패키지를 대체 할 수 있습니다. 예를 들어, 여러 AWK 구현이있다 – mawk, original-awk, gawk(그들은 모두 AWK 스스로를 참조하지만). 대체 시스템을 사용하면 동시에 설치할 수 있으며 기본 시스템으로 편리하게 전환 할 수 있습니다 awk.

이 특정한 경우, prenamePerl 소스 코드에서옵니다. 데비안 패키지 관리자는 원래 renamePerl 이었으며 renamefrom 을 수용하기 위해 대체 시스템으로 전환했습니다 util-linux. 그리고 누군가는 펄의의 향상된 버전을 썼다 rename에서 파일 – 이름 바꾸기 펄 모듈 다음 다른 대안으로 하였다. 그러나 파일 이름을 바꾸는 유일한 Perl 모듈은 아닙니다.

perl패키지가“full” rename명령을 포함하거나 전혀 rename명령을 포함하지 않는 것이 간단 하지 않습니까? 이것이 우분투 17.04 이상까지 왜 불완전한 분할로 유지됩니까?

이 상황이 어떻게 발전했는지 데비안 버그 # 735134 를 참조하십시오 . 데비안 관리자는 일반적으로 작업 명령을 다른 명령으로 바꾸는 것과 같이 과감한 일을 할 때 적어도 하나의 릴리스를 선호합니다. prename제시를 위해 주위에 유지되었고, 지금 버스터를 위해 제거되었습니다. 또한 너무 호환되지 rename않기 때문에 대안 시스템에 더 이상 포함되지 않는 것처럼 보입니다 rename.ul. rename그냥 될 것 file-rename입니다.

우분투는 일반적으로 데비안에서 패키징 변경 사항을 가져 오므로 데비안에서 발생하는 일은 rename우분투에서 아마 18.04에 픽업 될 것입니다. 17.10에 너무 늦은 것 같습니다.

이 명령들 사이의 차이점은 무엇입니까?

기본적으로, 모두 prenamefile-rename이름 변경 파일에 펄 식을 실행합니다. file-rename적극적으로 유지되고 더 많은 옵션을 지원합니다. rename에서 util-linux완전히 다른 작품, 패턴에 대한 자신의 규칙이있다.