이름 바꾸기, 이름 바꾸기, 파일 이름 바꾸기 등 모든 이름 바꾸기 작업은 어떻게 되나요?

이름 바꾸기, 이름 바꾸기, 파일 이름 바꾸기 등 모든 이름 바꾸기 작업은 어떻게 되나요?

내 데비안 시스템(글쎄, 내 LMDE 시스템이지만 충분히 유사함)에는 최소한 3개의 다른 rename프로그램이 있습니다:

  • /usr/local/bin/rename: 이것은 Tom Christiansen이 작성한 Perl 스크립트입니다. 이상하게도 설치할 패키지를 찾을 수 없는 것 같습니다.

    $ dpkg -S /usr/local/bin/rename 
    dpkg-query: no path found matching pattern /usr/local/bin/rename
    
  • /usr/bin/prename: Robin Barker가 작성한 또 다른 Perl 스크립트는 패키지의 일부입니다 perl.

    $ dpkg -S /usr/bin/prename
    perl: /usr/bin/prename
    
  • /usr/bin/file-rename: 명확한 작성자 정보가 없는 또 다른 Perl 스크립트이지만 Larry(아마도 Wall)와 Robin(아마도 Barker)에 대한 언급이 있습니다. 이것은 rename패키지에 의해 설치되며 다음과도 심볼릭 링크되어 있습니다 /usr/bin/rename.

    $ dpkg -S /usr/bin/file-rename
    rename: /usr/bin/file-rename
    

나에게도 그런 것이 있지만 rename.ul지금 util-linux은 무시하자. 이 3가지 Perl 스크립트의 차이점은 무엇입니까? 그들은 모두 동일한 매뉴얼 페이지를 가지고 있는 것으로 보이며 man rename둘 다 동일한 페이지를 man file-rename제공합니다 .man prename

나는 스크립트를 직접 살펴보고 차이점을 이해하려고 노력할 수 있지만 이는 사소한 일이 아니며 각 스크립트에는 다른 스크립트에는 없는 기능이 무엇인지 누군가 알기를 바랐습니다. 데비안 세계에서 세 가지 별도의 Perl 이름 바꾸기 스크립트가 필요한 이유를 설명하는 보너스 포인트입니다.

답변1

이것이 의견이어야 하는지 확실하지 않지만 답변의 일부일 뿐입니다.Bug#735134: perl: rename(1)이 오래되었습니다.혼돈의 씨앗이 뿌려진 것 같았다. 구체적으로:

요약하자면, 수년 동안 Perl 패키지는 Perl에서 구현된 독립 실행형 유틸리티인 /usr/bin/rename을 제공했습니다. 문제는 perl 패키지에 유틸리티가 기본적으로 debian/에 추가되어 더 이상 유지관리되지 않기 때문에 더 이상 이 유틸리티를 제공하고 싶지 않다는 것입니다. 유지 관리 릴리스는 별도의 패키지 libfile-rename-perl로 제공됩니다.

위에서 언급한 내용은 libfile-rename-perl이제 다음으로 대체됩니다 rename.

$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <[email protected]>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files

따라서 Perl은 renameDebian이 유지 관리하지 않지만 /usr/bin/prenameDebian 개발자가 유지 관리하는 자체 .rename패키지(분명히 이라고 불렸던 libfile-rename-perl)는 다음을 제공하는 패키지입니다 /usr/bin/rename: 심볼릭 링크, /etc/alternatives/rename그 자체가 스크립트에 대한 심볼릭 링크 /usr/bin/file-rename.

Tom Christiansen의 스크립트는 Perl 모듈과 함께 번들로 제공됩니다 Unicode::Tussle. 아마도 이미 설치되어 있을 것이며 이것이 제공됩니다 /usr/local/bin/rename.

관련 정보