TechNews.bg
АктуалноВодещи новиниНовиниСофтуерТоп новини

Превръща ли се Windows в Linux? Нов пакет за разработчиците

От години Microsoft се опитва да улесни живота на създателите на кросплатформен софтуер

Windows придобива все повече функционалности, характерни за Linux (графика: TechNews.bg)

Microsoft продължава да обогатява своята операционна система Windows с нови функции. Някои от тях изглежда са заимствани от Linux. Това дава основание за коментари, че най-популярната десктоп платформа заприличва на конкурентната ОС с отворен код.

Потребителите на Windows 11 вече имат достъп до пакета Coreutils, който включва набор от помощни програми с интерфейс на командния ред, познат на потребителите на Linux от самото ѝ създаване.

Coreutils е насочен към програмисти и се очаква да запази функционалността на скриптове и други инструменти за разработка, когато ги премести от една операционна система на друга.

„Разработчиците постоянно превключват между платформи, но познатите команди се държат непоследователно, което води до заобиколни решения, ниска производителност и превключване на контекста”, казва Microsoft в съобщение за новата функционалност.

Компилацията Coreutils за Windows 11 е базирана на кода от проекта uutils (безплатно достъпен в Github). Този проект създава нова междуплатформена имплементация на помощните програми GNU Coreutils, написана директно на защитения език за програмиране Rust.

Използването на оригиналния код вероятно би могло да създаде правни проблеми за Microsoft, тъй като се разпространява под строгия copyleft лиценз GPLv3, смятат пазарните анализатори.

Нативно приложение и колекция от твърди връзки

Coreutils за Windows разбира много команди, широко използвани в съвременните операционни системи, базирани на Linux, включително cat, cp, find, hostname, ls, mv, pwd, rm, tee и uptime – общо 77.

Microsoft е пакетирала всички 77 помощни програми в един нативен двоичен файл на Windows, наречен „coreutils.exe”, който заема малко над 9 MB дисково пространство.

Всяка команда на Coreutils може да бъде извикана чрез стартиране на програмата от командния ред и посочване на желаната команда като първи аргумент. Освен това, при инсталиране на пакета, в целевата директория автоматично се създава поддиректория „bin”, която съдържа 77 NTFS твърди връзки към „coreutils.exe” – по една за всяка налична команда („cat.exe”, „cp.exe” и т.н.).

Този подход позволява изпълнение на всяка команда, просто като я посочите в командния ред, точно както в Linux. Основното е да не забравяте да добавите пътя до директорията, където е инсталиран Coreutils, към локалната променлива на средата Path.

Всеки може да инсталира пакета чрез командния ред от официалното хранилище за приложения на Microsoft (изискват се администраторски права). За да направите това, просто изпълнете една команда: „winget install Microsoft.Coreutils”.

Какво липсва в пакета

Coreutils не включва всички помощни програми, налични в оригиналния пакет, разработен от проекта GNU. Например, командите dir, more, paste и whoami е трябвало да бъдат изключени, тъй като в противен случай щяха да влязат в конфликт с програмите със същото име, вградени в Windows.

Освен това, липсват няколко популярни Unix помощни програми, които изискват POSIX-съвместима операционна система. Windows, за разлика от GNU/Linux и macOS, не е такава ОС. Следователно, потребителите на Coreutils в Windows няма да имат достъп до команди като chmod, chown, chroot, nohup, tty и who.

Microsoft също така не е включила командите kill и timeout (използвани за управление на процеси в операционната система), тъй като Windows не поддържа POSIX сигнали. Възможно е обаче проблемът да бъде решен в бъдеще и тези помощни програми евентуално да се появят в Microsoft Coreutils.

Размиване на границите между Windows и Linux

От около 10 години Microsoft се опитва да улесни живота на разработчиците на кросплатформен софтуер, които са и потребители на Windows.

Първо, през 2016 г., компанията въведе Windows Subsystem for Linux (WSL) – слой за съвместимост, който осигурява транслация на системните повиквания на Linux и взаимодействие с ядрото на Windows NT.

През 2019 г. излезе WSL2, изграден върху пълноценно Linux ядро, специално модифицирано от Microsoft и разчитащо на технологии за виртуализация.

През април 2021 г. Microsoft започна публично тестване на WSLg, част от подсистемата Windows за Linux, която е отговорна за рендирането на графичния интерфейс на Linux програмите. През май 2025 г. изходният код на WSL2 стана с отворен код.

През 2019 г. потребителите на Windows получиха достъп до богатия на функции Windows Terminal. Терминалните емулатори са популярни в Linux среда. Например, Ubuntu се предлага с предварително инсталиран GNOME Terminal.

През 2021 г. winget, пълноценен мениджър на пакети с конзолен интерфейс, стана достъпен за Windows. Той е подобен на популярните Linux помощни програми като apt или yum – „добавки” към dpkg и rpm.

Накрая, през 2024 г. Microsoft реши, че потребителите на Windows могат да се възползват от еквивалент на помощната програма sudo на Linux. Тя позволява изпълнение на различни команди с привилегиите на друг потребител в системата, без превключване към друг акаунт.

още от категорията

Linux троянец атакува разработчици и се крие на ниво ядро

TechNews.bg

Linux се учи от Windows: няма да работи на компютри с остарели процесори

TechNews.bg

ОЕМ лицензите за Windows поскъпват с до 10% за производителите на РС

TechNews.bg

Безплатен инструмент премахва скрит идентификатор от Windows, който издава хакерите

TechNews.bg

Windows се справя по-бързо от Linux с изкуствения интелект

TechNews.bg

Изкуствен интелект откри уязвимост в Linux с 15-годишна давност

TechNews.bg

Коментари