Чому є два пакети, що надають різні команди, використовуючи те саме ім’я (якщо не випадково)?
Це не незвично. Зазвичай автори вибирають найпростішу назву команди, яку вони думають, тому, якщо двоє людей напишуть команду для перейменування файлів, швидше за все, вони обидва її назвуть rename
. Це одна з причин системи Debian Alternatives - вона дозволяє пакетам, що надають команди з аналогічним назвою, співіснувати, а один пакет замінювати інший. Наприклад, існує безліч реалізацій AWK - mawk
, original-awk
, gawk
(хоча всі вони відносяться до себе , як AWK). За допомогою системи альтернатив ви можете встановити їх одночасно і зручно перемикатися між будь-якими з них за замовчуванням awk
.
У цьому конкретному випадку prename
походить від вихідного коду Perl. Спочатку обслуговуючими пакетами Debian були rename
Perl, а потім перейшли на систему альтернатив для розміщення rename
з util-linux
. Потім хтось написав вдосконалену версію Perl rename
у модулі File-Rename Perl , яку потім додали як іншу альтернативу. Але це навіть не єдиний модуль Perl для перейменування файлів.
Чи не було б досить простим perl
пакетом включити команду "full" rename
або взагалі не включити будь-яку rename
команду? Чому цей, здавалося б, незавершений розкол витриманий принаймні до Ubuntu 17.04?
Дивіться помилку Debian # 735134 про те, як розвивалася ця ситуація. Обслуговувачі Debian, як правило, воліють принаймні один випуск, коли роблять щось кардинальне, наприклад, замінюючи робочу команду іншою. prename
утримувались для джессі, а тепер її вилучили для перепилки. Крім того, схоже rename
, більше не буде в системі альтернатив, оскільки rename.ul
це занадто несумісно. rename
буде справедливим file-rename
.
Оскільки Ubuntu зазвичай приймає зміни упаковки від Debian, rename
Ubuntu рано чи пізно вибирає те, що відбувається в Debian, можливо, в 18.04. Здається, вже пізно до 17.10.
Які саме відмінності між цими командами?
По суті, обидва prename
і file-rename
виконуйте вирази Perl для перейменування файлів. file-rename
просто активно підтримується і підтримує більше варіантів. rename
з util-linux
творів зовсім інакше, має свої правила для шаблонів.
man prename
17.10 , схоже, 17.10 насправді забралиfile-rename
замістьprename
. Те саме для 18.04 .