Меню Рубрики

Unix утилиты для windows

Юниксовые утилиты командной строки для Windows // Unix-like command line utilities for Windows

Я фанат командной строки. Точнее, я считаю её весьма удобным инструментом. И использую из Far-а в этих своих Windows. Хе-хе, сколько сразу конфликтных тем – cmdline/gui, Far/TC, Linux/Windows – можно устроить Холивор и Срачъ.

Так вот. Здесь я хочу описать набор утилит командной строки, портированных на Windows, которые считаю удобными и полезными иметь на своём Windows-десктопе. Это именно standalone-бинарники, а не Cygwin, так как я хочу иметь xcopy-style deployment (скопировал куда-нибудь в %PATH% и ололо), без записей в реестр или конфиг-файлы. Все ссылки и версии приведены и работают на настоящий момент, со временем, конечно, версии будут устаревать, а ссылки – протухать.

Почти для всех программ требуется Microsoft Visual C++ 2008 SP1 Redistributable Package, который скорее всего уже есть в системе. Если нет – качать и ставить: x86 и x64 версии. Многие программы взяты из проекта GNUWin32, полный список пакетов смотреть здесь – мало ли, может кому sed понадобится.

  • Integrated pack

Всё, что упомянуто ниже, версии на настоящий момент, собрано в один пакет cmdline-unix-4-windows.zip. Распаковываете архив, бинарники из c-windows кладёте в %SystemRoot%, библиотеки из c-windows-system кладёте в %SystemRoot%\system (этот layout работает, по крайней мере, на Windows 7).

На всякий случай рядом лежат рантаймы от VC++ x86 и x64.

Адовый инструмент для скачивания почти чего угодно. Идём на домашнюю страницу виндового порта wget, скачиваем архив с бинарником и архив с зависимостями. wget с версии примерно 1.10 начал поддерживать SSL, поэтому ему теперь нужна SSL-библиотека и еще по мелочи всякого. wget.exe из первого архива кладём в C:\Windows. Библиотеки libeay32.dll, libiconv2.dll, libintl3.dll и libssl32.dll из второго архива кладём в C:\Windows\system. Пыщ.

Адовый инструмент для выполнения запросов к DNS-серверам. То же, что nslookup, только в стопицот раз удобнее. Отдельно его нет, он входит в стандартный комплект DNS-сервера BIND. Идём на домашнюю страницу BIND-a, качаем архив для Windows (на текущий момент последний стабильный релиз – 9.7.3), достаём из архива dig.exe и host.exe, кладём его в C:\Windows. Так как они часть BIND, то требуют кучу его библиотек для своей работы – достаём из архива libbind9.dll, libdns.dll, libisc.dll, libisccfg.dll, liblwres.dll и libxml2.dll и кладём в C:\Windows\system. Также нужен libeay32.dll, если он не скопирован во время установки wget-а. И вот ололо.

Иногда надо потаскать файлы взад-назад с юникс-сервера на виндовый десктоп. Для этого нужен scp из командной строки. Идём на домашнюю страницу PuTTY. Это сам по себе зач0тный инструмент, хотя некоторые ребе считают более кошерным Bitvise Tunnelier, но для моих целей это overkill. Скачиваем по ссылке pscp.exe, переименовываем в scp.exe и кладём в C:\Windows. Вуаля.

Калькулятор командной строки. Берём с домашней страницы виндового порта bc архив с бинарником и архив с зависимостями, кладём bc.exe из первого архива в C:\Windows, кладём readline5.dll из второго архива в C:\Windows\system.

По умолчанию bc.exe работает с целыми числами. Чтобы он считал с, например, 20-ю знаками после запятой надо либо сказать ему scale=20 перед вычислениями, либо запустить с опциями -lq, либо поместить эти опции в переменную окружения BC_ENV_ARGS. Выход из интерактивного режима – Ctrl-D.

Оттуда же берём grep. А так же egrep и fgrep. Бинарники из архива с бинарниками кладём в C:\Windows, библиотеки из архива с зависимостями – в C:\Windows\system.

Иногда возможностей виндового dir не хватает. Отсюда берём портированный ls с виндовыми дополнениями, распаковываем архив и копируем ls.exe в C:\Windows. Почитайте ls.exe ––help – там много интересного.

Иногда надо поработать напрямую с дисками. Прям как в линуксовом dd. Идём на домашнюю страницу, скроллим вниз, берём из архива бинарник dd.exe и кладём в C:\Windows. Сделайте dd.exe ––list 2>&1 | more – увидите всякое.

А вот как потырить MBR с первого диска. Partition0 – весь диск. Запускать, естественно, именем и властью администратора.

  • MD5, SHA1 и SFV

Посчитать контрольные суммы скачанного чего-нибудь. md5sum: домашняя страница, бинарник. sha1sum: домашняя страница, бинарник. sfv: источник утерян, но остались сотни ссылок на файлопомойках. Качаем это всё и кладём в C:\Windows.

Заключение

Конечно, здесь не упомянуты более 9000 других «кульных прожек» и «тулзов». Здесь те, которыми пользуюсь лично я.

Источник

Запуск Linux-приложений в Windows — фантастика или суровая реальность?

Использование Linux- или UNIX-приложений в Windows может быть продиктовано массой причин — от банальной привычки к некоторым программам до невозможности запуска отдельной машины с Linux. Кто-то хочет использовать нативные версии ПО для отладки, а кто-то надеется, что таким способом можно заставить пользователей плавно смигрировать на полноценный дистрибутив.

Прежде чем городить огород с эмуляторами, лучше поищите портированные версии или аналоги ваших любимых программ. Те же GIMP, Audacity, Pidgin и множество других утилит имеют родные сборки не только для Windows, но и для Mac OS X. Для получения какой-то конкретной функциональности зачастую не требуется полноценный аналог софта из Linux. Например, к автодополнению по Tab в оболочке bash привыкаешь очень быстро, а в командной строке Windows этого нет и в помине. Исправить это и другие досадные упущения поможет утилита clink.

Стандартные консольные утилиты, например из пакета GNU Coreutils, давно спортированы на Windows. Есть как довольно старые наборы GNUWin II и UnxUtils, так и постоянно обновляющиеся UWIN (не рекомендуется к использованию) и Gnuwin32. Для последнего по завершении установки базового инсталлятора надо последовательно запустить файлы download.bat и install.bat, а затем скопировать по желанию папку gnuwin32 в любое удобное место и запустить из неё файл update-links.bat. После отработки последнего скрипта в подкаталоге StartMenu будут ссылки на запуск командной строки с окружением GNU и документацию к утилитам.

Обладатели Windows Vista/7 в максимальной и корпоративной версиях, а также серверных версий ОС Microsoft могут вообще не заморачиваться. Для них доступна подсистема для приложений на базе UNIX (Subsystem for UNIX-based Applications, SUA) или сервисы Microsoft Windows для UNIX (Microsoft Windows Services for UNIX, SFU). Этот набор базовых утилит наличествует прямо в компонентах системы. Дополнительные наборы программ можно скачать здесь. Наконец, последнее в списке и первое по популярности решение для запуска UNIX-программ — это Cygwin. Этот пакет прост в установке и содержит далеко не маленький набор приложений, портированных под Windows. Рекомендуется использовать именно его.

Теперь можно поговорить о странном — запуске неродной для Windows системы KDE. Вообще-то проект KDE on Windows существует не первый год, и поначалу пользоваться им было просто невозможно из-за регулярных падений, которые разве что не загоняли несчастную систему в BSOD. Однако разработчики не сидели сложа руки, и в нынешней реинкарнации проекта его можно смело инсталлировать — ошибки довольно редки, да и те — некритичные. Всё сразу ставить смысла, наверное, нет, а вот некоторые приложения могут приглянуться.

К сожалению, портированные приложения далеко не всегда ведут себя так, как в родном окружении, или могут конфликтовать с другими программами. Поэтому единственным выходом, помимо установки «пингвиньей» ОС на голое железо, является эмулирование Linux. Для разового использования можно применить оболочку для QEMU под названием MobaLiveCD, которая без лишних телодвижений поможет запустить LiveCD/USB с различными дистрибутивами. Для постоянного использования лучше инсталлировать Linux в виртуальную машину: в VirtualBox или VMWare Player. Только не забудьте установить гостевые дополнения для более комфортной работы. Альтернативный вариант — применение VDI-решений с возможностью бесшовной интеграции в Windows Linux-приложений, запущенных на отдельном хосте, который также может быть виртуализирован.

Оптимальным вариантом для запуска Linux-приложений является использование среды coLinux. Она, условно говоря, запускает ядро Linux на уровне ядра Windows и имеет доступ ко всем аппаратным ресурсам машины, за счёт чего потерь производительности практически нет. При этом она сохраняет полную совместимость с Linux-приложениями, позволяя напрямую запускать их. На базе coLinux имеются готовые системы для быстрого запуска Portable Ubuntu Remix, Topologilinux (Slackware), SpeedLinux (различные дистрибутивы) и andLinux (Ubuntu). Единственным неприятным ограничением coLinux и всех пакетов на его основе является необходимость использования 32-битной версии Windows 2k/XP/2k3/Vista/7. В качестве примера разберём минимальную настройку Debian Squeeze. Первым делом установим свежую версию coLinux, отказавшись от загрузки готовых образов и попутно инсталлировав WinPcap.

Теперь необходимо скачать архив образа диска с Debian и распаковать его в ту папку, в которую был установлен coLinux. Размер диска rootfs_2gb.img при желании можно увеличить. Файл squeeze.conf придётся немного отредактировать. Изменений минимум — увеличить объём выделяемой RAM (mem), разрешить доступ к диску C: посредством COFS и добавить сетевой интерфейс TAP. Обратите внимание, что при использовании COFS лучше не обращаться одновременно к одним и тем же файлам с папками из Linux и Windows.

После запуска squeeze.bat вы попадёте в консоль Debian. Логин по умолчанию root, а пароля нет. С помощью nano отредактируем параметры сетевых интерфейсов в файле /etc/network/interfaces. Добавим секцию для eth1. В качестве IP-адреса используем любой, лишь бы не было пересечения с другими локальными подсетями. В Windows в настройках IPv4 сетевого адаптера TAP-Win32 Adapter V8 (coLinux) надо указать адрес из той же подсети.

Выходим из nano с сохранением изменений — F2, Y, Enter. Теперь создадим папку, куда будет монтироваться диск C:…

…добавим одну строчку в конец файла /etc/fstab и сохраним его:

Сейчас мы займёмся установкой X-сервера, а пока для простоты пропишем экспорт переменной DISPLAY в файл

/.profile (это надо будет сделать и для любых других пользователей). В качестве IP-адреса используйте тот, что указан для TAP-адаптера в Windows. После этого можно перезагрузиться командой reboot.

Нелишней будет установка набора шрифтов, в том числе и кириллических. Опционально можно пройтись по каталогам со шрифтами, включая C:\Windows\Fonts, утилитами mkfontdir и mkfontscale из состава Cygwin. Теперь всё готово для установки X-сервера Xming. Сразу же после этой процедуры добавляем в файл X0.hosts IP-адрес TAP-интерфейса в Debian (в нашем примере это 192.168.100.2).

«Поблагодарим» Windows за бдительность и в стандартном брандмауэре поменяем все правила, касающиеся Xming, с запрещающих на разрешающие, а иначе программы просто не достучатся до X-сервера. Теперь запускаем утилиту XLaunch, в которой можно выбрать режим отображения X-окон и задать дополнительные параметры. Для нас важно настроить поддержку русской и английской раскладок с переключением по Alt+Shift и опционально задать DPI. В конце файл настроек надо сохранить как имя.xlaunch. В дальнейшем по двойному клику по этому файлу X-сервер будет запускаться с заданными нами параметрами.

Чтобы не было так скучно, установим графический менеджер пакетов synaptic для более удобной инсталляции софта и какую-нибудь легковесную панель с меню приложений, например lxpanel. Последнюю для простоты пропишем в автозапуск при входе, добавив в конец

/.profile команду lxpanel&.

Для полноты картины добавим поддержку звука. Скачиваем отсюда архив с Pulseadio и распаковываем его в какой-нибудь каталог, в котором создаём текстовый файл default.pa. Наполняем этот файл нижеследующими строками. Здесь 192.168.100.0/24 — это наша TAP-подсеть.

Запускаем pulseaudio.exe и в очередной раз идём править разрешения в брандмауэре Windows. В консоли Debian устанавливаем необходимые утилиты и библиотеки.

В файле /etc/pulse/client.conf добавляем IP-адрес хост-машины с запущенным сервером Pulseaudio — default-server = 192.168.100.1, а в /etc/asound.conf следующие параметры:

Для проверки работоспособности можно попробовать проиграть один из тестовых файлов.

Автоматический запуск Pulseaudio при старте Debian осуществляется добавлением в конец файла конфигурации squeeze.conf такой команды.

Для X-сервера такой трюк не подходит. В принципе, того, что уже сделано, достаточно для работы. Однако неплохо было бы добавить в Linux нового не-root пользователя, настроить для него автологин с mingetty, установить coLinux в качестве службы Windows и прописать Xming в автозапуск. Для удобства можно поставить утилиту Desktops, которая создаёт несколько виртуальных рабочих столов в Windows, и запускать X-сервер в полноэкранном режиме на втором рабочем столе.

В итоге мы получили быструю среду для почти что нативного запуска Linux-приложений в Windows. Её можно использовать для написания и отладки веб-приложений, кросскомпиляции драйверов и прочих задач. Вот только вменяемого ускорения графики для работы тяжёлых приложений пока ещё нет, да 64-битная версия начала разрабатываться всего несколько месяцев назад. Тем не менее coLinux вполне пригоден для повседневного использования. Для дальнейшего изучения возможностей и настроек этой системы обратитесь к вики проекта. Ну а мы на этом пока что закроем тему симбиотических отношений Windows с Linux через разные места. Удачи!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Unix и windows хостинги
  • Universal windows activation tool
  • Universal usb installer windows 10
  • Universal theme patcher for windows 7
  • Universal terminal patch windows 7