GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Здесь обсуждаются темы, косвенно связанные с Far.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 13925
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 76 times
Been thanked: 431 times
Contact:

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

В этой теме обсуждаются консольные утилиты, портированные из *nix.
  • Cygwin — a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows
  • MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software.
  • ezwinports — MS-Windows ports of Unix and GNU software
  • busybox — a single binary that contains many common Unix tools
  • coreutils — uutils is an attempt at writing universal (as in cross-platform) CLI utilities in Rust
  • Отдельные утилиты:
Cygwin и MSYS предоставляют функциональность POSIX API, через специальные библиотеку совместимости.
Входящие в комплект утилиты и библиотеки тесно связаны, и даже если из всего набора нужна лишь одна утилита - вытащить её может быть непросто, т.к. она потянет за собой множество зависимостей.

Все остальные пакеты (кроме Cygwin и MSYS) представляют собой нативные windows приложения, не требующие библиотек совместимости.
* Утилиты пакетов GnuWin и ezwinports тоже могут иметь ряд зависимостей, но все необходимые dll присутствуют в дистрибутиве каждой утилиты.
* GnuWin давно не обновлялся, поэтому составляющие его утилиты не последних версий.
* Gow представляет собой некий "репак" из GnuWin и msys, соответственно и тут версии утилит не самые новые.
* Утилиты пакета UnxUtils в основном слинкованы статически (не требуют внешних dll), а значит обращаться с ними проще всего. Но пакет не обновлялся с 2003 года.
* busybox.exe представляет собой один исполняемый файл, содержащий множество утилит, с несколько ограниченной функциональностью (если сравнивать с полными версиями), но это компенсируется мизерным размером. Для удобства использования можно для каждого входящего в состав апплета создать одноимённый симлинк.

Дополнительная информация Родственные темы:
[list][*]CMD. Командные файлы
[*]Список консольных программ и утилит
[*]Консольные конвертеры текстовых документов[/list]
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Re: gnuwin32

Post by HaRT »

darkmist wrote:Я так понимаю, многие пользуются сабжевой коллекцией утилит. Я поставил getgnuwin32, выкачал пакеты, распаковал их. Все бы хорошо, но вывод команд (например, у gawk.exe --help) выдается локализованный, причем в cp1251. установка в консоли chcp 1251 не помогает - вывод все равно идет крякозябрами. Конечно, установка LANG=EN спасает, однако хотелось бы узнать можно ли как-нибудь заставить gnuwin32 c cp866 и локализованным выводом?
А принципиально требуются именно gnuwin32? Я, например, давно использую для этих целей UnxUtils и почти полностью доволен (“почти”, т.к. некоторые утилиты всё же не работают или работают в недостаточной степени).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: gnuwin32

Post by t-rex »

Помню уже как то обсуждалось это, непомню тока если тут или в рассылке какойто.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: gnuwin32

Post by DrKnS »

t-rex wrote:Помню уже как то обсуждалось это, непомню тока если тут или в рассылке какойто.
Тут.
User avatar
sicvolo
Posts: 126
Joined: Tue 05 Feb, 2008 01:47
Been thanked: 1 time

Re: gnuwin32

Post by sicvolo »

Где?
Кстати я кроме cygwin ничего уже не признаю. Самое полезное в нем - это их setup с обновлением софта.
ФАРева
darkmist
Posts: 124
Joined: Wed 08 Aug, 2007 19:44

Re: Консольные конвертеры текстовых документов.

Post by darkmist »

John Doe wrote: Кстати, насчёт http://unxutils.sourceforge.net: на сайте присутствуют ссылки на обновления некоторых утилит. Но ссылки битые, видимо файлы поудалялись при очередной реорганизации sourceforge.net.
Лично у меня обновления сохранились.

Можно взять тут: http://filekeeper.org/download/far/unxutils
Скажите, а чем http://unixutils.sf.net существенно лучше, нежели http://gnuwin32.sf.net? А то последний существенно более актуальный.
Last edited by HaRT on Tue 08 Jun, 2010 11:53, edited 1 time in total.
Reason: Добавлена ссылка на исходную тему
User avatar
John Doe
Бюрократ
Posts: 13925
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 76 times
Been thanked: 431 times
Contact:

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

Утилиты из UnxUtils более "портабельны", т.к. не имеют зависимостей от libiconv, libintl, pcre, regex, zlib и т.д.
(Уже упоминалось в теме CMD. Командные файлы)

Проект gnuwin32 конечно посвежее, но если уж гнаться за новизной, то многие утилиты и там не последних версий.

Update
Есть зеркала UnxUtils: [1], [2]
Там сохранился и файл UnxUpdates.zip
siberia-man
Posts: 131
Joined: Sat 28 Jun, 2014 23:07
Has thanked: 2 times
Been thanked: 9 times

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by siberia-man »

Можно упомянуть следующие пакеты, позволяющие запускать родные для linux утилиты в среде windows
coLinux - из существенных минусов: работает ТОЛЬКО 32-битная версия и ТОЛЬКО на 32-битной системе.
flinux - 32-система, но может работать и на 64-битной системе. Я так и не смог установить JDK из родных пакетов (с помощью менеджера пакетов pacman). Работает в своей песочнице и не имеет прямого доступа к оставщейся части файловой системы, но можно настроить с помощью символических ссылок.
User avatar
John Doe
Бюрократ
Posts: 13925
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 76 times
Been thanked: 431 times
Contact:

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

coreutils — uutils is an attempt at writing universal (as in cross-platform) CLI utilities in Rust
https://t.me/FarManager — Telegram чат
gene.pavlovsky
Posts: 173
Joined: Tue 16 Feb, 2010 17:55
Location: Luxembourg
Has thanked: 13 times
Been thanked: 9 times
Contact:

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by gene.pavlovsky »

Есть ещё Git for Windows (GfW), который включает в себя уже упомянутый выше MSYS2 с bash и набором основных утилит.

Лично я уже лет 15 пользуюсь Cygwin-ом, в нём наиболее полный набор пакетов и наиболее близко к оригиналу.
Единственный гемор, когда приходится интегрировать разные программы из Cygwin вместе с программами под Windows, зачастую возникают проблемы из-за разного формата путей.
У Windows C:\a\b\c, а в Cygwin это выглядит как /cygdrive/c/a/b/c. Приходится писать всякие wrapper скрипты, конвертирующие пути туда или обратно (для этой цели Cygwin предоставляет команду cygpath с опцией -w или без).
Примеры: чтобы использовать Cygwin git совместно с Visual Studio Code, приходится юзать такой wrapper: https://github.com/nukata/cyg-git
Для большинства конверсий я использую написанный мною скрипт (+пример использования).

Любителям UNIX утилит, я полагаю, может быть интересна моя тема Подружить Far и bash (Cygwin и другие).
С помощью небольшой написанной мной прослойки, а также доступных в настройках Far опций, можно настроить выполнение команд с комстроки Far через bash.
Last edited by gene.pavlovsky on Sat 04 Nov, 2023 22:10, edited 5 times in total.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by dmitrik »

Задача иметь возможность установить именно портированные под Windows утилиты или просто получить возможность использовать GNU-утилиты под Windows? Потому что если второе, то сейчас есть WSL. Соотвественно, нужно установить любой из поддерживаемых им дистрибутивов Linux (у меня, например, Ubuntu) и вызывать их в командной строке через префикс wsl.

Например:

Code: Select all

git log | wsl grep -i text
git здесь — это упомянутый выше Git for Windows, к WSL отношения не имеет.

Таким же образом можно воспользоваться любой GNU-утилитой без необходимости искать ее Win32 API-аналог.
Last edited by dmitrik on Sun 05 Nov, 2023 00:08, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13925
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 76 times
Been thanked: 431 times
Contact:

GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

https://t.me/FarManager — Telegram чат
Post Reply

Return to “Операционные системы, командные оболочки и прочее”