IT ExpertКак это сделатьСам себе админ

Чем отличается Windows от Linux? (Часть 2)

Евгений Храмов | 25.03.2020

Чем отличается Windows от Linux? (Часть 2)

В этой статье мы рассмотрим абсолютно не связанные между собой, но от этого не менее важные вопросы жизни. Сегодня меня, например, интересует, почему борода у Деда Мороза белая, а завтра захочется знать, почему трава зеленая, а небо голубое. Естественно, душа требует ответа на эти животрепещущие вопросы. Надеюсь, никто не будет возражать против столь похвальной любознательности.

В соответствии с правилами хорошего тона нам придется уделить немного времени системам Linux и опыту взаимодействия с ними. Видите ли, у каждого журнала есть свой формат, и редакторы, используя метод кнута и пряника (в редких случаях прибегая к прямым угрозам и насилию), обязывают его соблюдать. Поэтому сегодня, в качестве реверанса редакторам, мы разберем отличия в том, как происходит установка ПО в Windows и Linux.

Но начнем мы с более простых вещей, например, со смысла бытия. Один старый мудрец сказал: «Все дни человека – скорби, и его труды – беспокойство, даже ночью сердце его не знает покоя. И это – суета!» Именно беспокойными трудами я и решил заняться в один из свободных дней. В то время, когда все адекватные убунтоводы, убунтисты и убунтарии сидят на релизе 18.04 LTS (long time service) и спокойно дожидаются новой версии с долгосрочной поддержкой, отпетые разгильдяи вроде меня затевают обновление системы (минуточку, за месяц до выхода нормального и стабильного релиза).

Мой провайдер, видимо, тоже немного философ, поэтому, когда я задумал обновиться до Ubuntu 19.10, он урезал мне скорость до 50-70 Кбит/с. Естественно, только из благих побуждений, с целью дать мне побольше времени познания пути «Дзен».

img

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

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

На исходе пятого часа наступила ночь. Я лежал в темноте и печально вглядывался в потолок. Потолок с интересом вглядывался в меня фосфоресцирующими звездочками и овечками, приклеенными на него неугомонной детворой. Постепенно мысли о несправедливости мира и желание встать на тропу войны с провайдером стали уступать место более прозаичным вопросам. С некоторыми из них вы уже имели счастье ознакомиться в начале сего опуса. Думаю, такие размышления действительно важны для человечества и для меня как его представителя.

Но есть еще один вопрос, который не был упомянут. Он пришел из пустоты и, перекатываясь горошинкой в моем уставшем мозгу, не давал ему покоя. Как обновляется Linux-система на полностью отключенном от Интернета и локалки компьютере?

Только представьте, как тяжело бедной железяке стоять за бронированными дверьми с семью замками в самом труднодоступном и охраняемом месте. Приятно ли каждый день видеть только светлый лик сотрудников службы безопасности, нет-нет да допускающих до работы с тобой вусмерть заинструктированное, бледное от оказанной ему чести доверенное лицо? Так ли просто хранить все коммерческие тайны большого предприятия, не имея возможности поделиться с широкой общественностью содержимым папочки private_photo_corporateparty? В конце концов, каким образом, находясь в такой безвыходной ситуации, обновиться до приемлемого состояния и установить новое, необходимое для работы ПО?

Для ответа на эти вопросы будем применять логику. Итак, у нас имеется машина с полностью настроенной и стабильно работающей операционной системой. На ней установлены все приложения, необходимые для автономной работы. Контакты этого компьютера даже с внутренней сетью предприятия отсутствуют. Единственная возможность получить новые данные, обновления или, на худой конец, зловреда – только через переносные носители информации. Будет ли системный администратор ежедневно скачивать из Сети обновления и устанавливать их, учитывая риски получения нестабильной работы системы или приложений? Мне трудно представить такую ситуацию. Ведь правило любого сисадмина, формирующееся годами работы с учетом совершенных ошибок, гласит: «Если всё работает как нужно – НЕ ТРОГАЙ!»

img

Если уж совсем невтерпеж полюбоваться на новые обои, то обновить систему можно при таких условиях: отдельные физические диски, рассчитанные только на хранение данных, + отдельный SSD только для ОС и необходимых приложений. При обновлении системы с физического носителя никакие данные не затрагиваются, а в случае неработоспособности система откатывается до предыдущей версии. Всё.

Другое дело, если внезапно возникла необходимость в новом программном обеспечении. Каждый Windows-юзер знает, что для этого нужно просто скачать эксешник с ПО, воткнуть флешку с ним в машину и ткнуть пару раз в него мышкой.

Для Linux-систем существует подобный способ, однако он не всегда наилучший и далеко не единственный. Рассмотрим их по порядку.

exe = deb = rpm = snap?

Исходный код – наиболее надежный и сложный вариант установки. Иногда нам встречается фраза «скомпилировать из исходников». Всегда существует возможность ознакомиться с исходным кодом для любого open source проекта. Зачастую это означает, что программный код, написанный на одном из языков программирования и наиболее приближенный к человеческому языку, можно проверить, изменить в соответствии со своими требованиями и перевести в понятные для машины команды с помощью компилятора. Единственный вопрос, который возникает при таком подходе: сколько времени у вас займут обучение языку программирования, вычитка исходного кода, редактирование найденных багов, компиляция и отладка? Для начинающего пользователя затея эта откровенно провальная.

Крайняя противоположность (как и результат) самостоятельной компиляции – самораспаковывающийся архив. Файл с расширением .exe с высокой долей вероятности является самораспаковывающимся архивом. В exe-файле находятся сам архив с программой, исполняемый код для его распаковки (инструкция) и все необходимое для корректной установки и работы ПО в системе. Для того чтобы запустить установку находящегося внутри него ПО, необходим только двойной клик по его иконке. Всё остальное будет сделано самостоятельно, и ПО вместе со всем своим скарбом переедет в указанную пользователем папку.

Такой способ наиболее легок и приятен для обычных пользователей, однако не лишен некоторых особенностей. Сей процесс вызывает у меня ассоциации... с супермаркетом. Допустим, собрался я прикупить килограммов двадцать разных круп и туалетной бумаги рулончиков эдак пятьдесят. Зачем? Откуда я знаю!? Сейчас все так делают и у нас, и в просвещенной Европе. Может быть, это станет моим высокодоходным инвестиционным портфелем и гарантирует безбедную старость, в конце концов!

Зайдя в магазин, я вижу, что к каждому пакету с крупой примотан скотчем пакетик майонеза. Гречка, рис и макарошки, пельмени и вкуснейшие шоколадные конфеты продаются только с майонезом и никак иначе. Туалетная бумага выглядит как обычно, но если внимательно присмотреться, то видно, что еще на фабрике внутрь втулки аккуратно запихнули – что бы вы думали? Молодцы, догадались, – пачку майонеза! По прошествии получаса я уезжаю из магазина с полным набором продуктов и с двадцатью одинаковыми пачками майонеза. Мне хорошо, потому что майонез абсолютно необходим для нормального функционирования всех систем в моем организме. Немного тяжело будет переварить его, и мешать он будет в холодильнике, но я справлюсь – я сильный. Примерно так, хоть и утрированно, можно описать принцип установки exe-архивов.

img

Как показал опыт, самораспаковывающиеся архивы еще и очень удобны для распространения нежелательного ПО – троянов, шифровальщиков, шпионов и т. д. Именно из-за простоты их использования собрать на своей машине виварий из разнообразных зловредов – дело пяти минут.

Многие считают Windows-подход неправильным и нелогичным: дескать, зачем при установке новой программы она тащит за собой кучу компонентов, уже имеющихся в системе? Не лучше ли загрузить необходимую библиотеку один раз, выделить ей определенное место и позволить всем программам обращаться к ней при необходимости?

Именно такую философию исповедуют deb и rpm-пакеты

С практической точки зрения deb- и rpm-пакеты похожи как братья. И те, и другие являются архивами, в которых находятся установочные файлы какой-либо программы, а также прописаны инструкции для установщика, зависимости и необходимые для работы библиотеки. Разница между ними в том, что deb-пакеты используются операционными системами, основанными на Debian, а rpm-пакеты были разработаны для другого семейства Linux систем – RedHat, CentOS, Fedora. Зеленый хамелеон OpenSuse, хотя и основан на Slackware, тоже использует формат rpm.

Deb- и rpm-пакеты не являются исполняемыми файлами. Для установки содержащегося в таких архивах ПО необходима специальная утилита – менеджер пакетов или менеджер приложений. Менеджер пакетов проделывает огромную работу. Он находит необходимый архив в репозиториях, выясняет, что еще нужно для корректной работы программы, проверяет наличие в операционной системе требуемых библиотек, фреймворков и плагинов и загружает их при необходимости. И наконец, после разрешения всех зависимостей он устанавливает пакет с ПО в систему.

img

Сама идея совместного использования ресурсов очень хороша и соответствует философии Linux. Она позволяет высвобождать так необходимые объемы памяти и место на жестком диске. Достаточно сравнить вес образов Windows 7 (2,3–2,8 Гбайт) и вышедшей в то же время Ubuntu 9.10 (всего 0,7 Гбайт). Однако с появлением совершенно новых устройств, ростом производительности процессоров и увеличением объемов доступной памяти в новых машинах преимущества deb- и rpm-пакетов стали не так заметны. Зато на передний план выступили их недостатки.

Так, при постоянно увеличивающемся разнообразии «железа», вариантов и версий софта, ОС, вариаций систем от адептов Linux выяснилась главная проблема deb и rpm – проблема совместимости. Пользователи столкнулись с тем, что какой-то программе срочно требуется пакет А, но для его установки нужно удалить пакет В, без которого не будет работать программа С. И вообще, неплохо бы обновить пакет D, но только до версии 3.0, ибо этого требует менеджер обновлений системы. Причем никто не мог гарантировать, что после обновления и установки всё заработает и не отвалится еще что-либо.

Для крупных разработчиков ПО отдельной головной болью стало огромное количество Linux-дистрибутивов. Попробуйте сделать так, чтобы Firefox одинаково хорошо работал на сотнях совершенно не похожих друг на друга десктопных ОС, а также на смартфоне, нетбуке и стационарном ПК 90-х годов! Такого рода задача не для слабых умов, здесь требуются сила духа и изрядное упорство. Или другой подход к решению.

AppImage, Flatpak, Orbital Apps и Snap

Мало-помалу, с увеличением популярности Linux, к разработчикам пришло понимание, чего желает обычный пользователь. Такой, как я, к примеру. А мне нужно, чтобы при установке дополнительного ПО и обновлении системы передо мной не вылезало окошечко терминала с непонятными чужеземными буковками и вопросами, требующими решений. Хочу я ткнуть кнопку «Установить» – и пусть оно там как-нибудь само работает. И чтобы всегда само работало! И само обновлялось! И чтобы кнопку новую на клавиатуре поставили – «Сделать все хорошо»!

Исходя из реалий времени и потребностей новообращенных линуксоидов, на сцене появился новый формат пакетов. И назвали их самодостаточными. Как подсказывает само название, пакеты Snap, Flatpak, AppImage, ORB executable не нуждаются ни в ком и ни в чем, кроме себя любимых. Их можно скачать, скопировать на носитель и установить на машину, не подключенную к Сети. По идее разработчиков такие пакеты работают автономно в любой Linux-системе, независимо от дистрибутива и наличия доступных библиотек, так как все свое принесли с собой. Совсем как exe-файлы.

По этой причине в среде настоящих линуксоидов не утихают голоса, что это измена идеалам. Утверждают, что Linux вырождается и с таким подходом мы скоро получим клон Windows. Очень даже может быть. Однако удобство и простота установки таких пакетов очень привлекательны. Достаточно зайти в менеджер приложений и посмотреть источник большинства из них.

img

К своему стыду, я очень любил троллить тру-линуксоидов детским стишком Самуила Яковлевича Маршака:

Дама сдавала в багаж

Диван,

Чемодан,

Саквояж,

Картину,

Корзину,

Картонку

И маааленькую собачонку…

После чего делал наивные глаза и вопрошал: «А в чем разница между обычным exe-файлом и вашими новейшими Snap, Flatpak, AppImage, ORB executable? Новоявленные адепты Linux шипели, плевались и даже пытались выцарапать мне глаза. Однако забавно было ровно до того момента, пока я не повстречал достойного противника. Он тоже любит рассказывать истории, приводить яркие примеры и немножко подтасовывать факты. Все, о чем писалось выше, он объяснил просто и доходчиво – на бабушках.

О бабушках, шерстяных носках и концепциях

Представим себе бабушку, сидящую в кресле-качалке: симпатичную такую, с седыми волосами, собранными в пучок, очками, надетыми на кончик носа, и вязальными спицами в руках. Она очень хорошо вяжет шерстяные носки, и поэтому мы решили вместе сделать супердоходный бизнес. На мне организация рабочего места, доставка пряжи и расходных материалов, а ее дело – производство конечного продукта.

В день запуска нашего СП мы водружаем старушку вместе с креслом-качалкой в кузов грузовика и везем на городскую площадь. Там уже ждут коробка с пряжей и спицы. Поскольку я человек нежадный, все ее имущество и готовую продукцию охраняет группа быстрого реагирования. Создана она специально для бабушек, вяжущих носки, во всех районах нашего города, поэтому ее бойцы носятся туда-сюда с огромной скоростью и иногда не успевает. Ушлые горожане нет-нет, да и украдут что-либо. Это концепция самораспаковывающихся архивов exe.

Понаблюдав немного за происходящим, я принимаю решение собрать их вместе. Однако не всё так просто, как кажется. Тетя Нина предпочитает для вязки спицы № 3 и сине-голубую акриловую пряжу (на натуральную шерсть у нее аллергия). Клавдия Петровна использует только шерсть ламы, окрашенную натуральными пигментами, и все носки должны быть с помпончиками диаметром 50 мм и никак иначе. Для бабы Вали не имеет никакого значения состав нити, но спицы могут быть только красными (со спицами другого цвета нее получается только свитер). В дополнение ко всему происходящему каждая из бабушек считает себя абсолютно правой и старается переманить подружек на свою сторону, периодически выкидывая «неподходящие» материалы в мусор. Такая картина характеризует deb- и rpm-пакеты.

Вдоволь намучившись с таким совместным производством, я принимаю судьбоносное решение. Специально для тети Нины, Клавдии Петровны и бабы Вали мы строим коттеджный поселок закрытого типа. У каждой из них теперь свой домик, в который им доставляют все, что может потребоваться для жизни и работы в соответствии с их запросами. Доступ в поселок имеют только те, кто признан безопасным визитером. Визиты и проживание родственников (детей и внучат) в своем доме регламентируют сами сотрудницы. Горожане, уже привыкшие к бесплатным носкам, стараются пролезть сквозь прутья ограды и застревают там. Более недалекие пытаются проломить ворота головой, с разбегу стукаясь о табличку с надписью: «Посторонним вход запрещён!» А так на сегодняшний день можно проиллюстрировать работу самодостаточных пакетов типа Snap.

С тех пор я не подшучиваю над пользователями Linux и лишь иногда, устанавливая очередной пакет с ПО, пытаюсь угадать, кто же там, внутри? Бабушка Валя? Тетя Нина? А может, сама Клавдия Петровна почтила меня своим присутствием?

*    *    *

К сожалению, я так и не сумел объяснить вам, почему борода у Деда Мороза белая, трава – зеленая, а небо – голубое. Дело в том, что я и сам этого не знаю. Но могу дать совет: позвоните своим бабушке и дедушке – уж они точно знают ответ.

Linux

Журнал: Журнал IT-Expert [№ 03/2020], Подписка на журналы

Об авторах

Евгений Храмов

Евгений Храмов

Несомненно, творчески одаренная и разносторонне развитая личность.
Благодаря этим качествам ему удается сломать неломаемое, починить не подлежащее ремонту и заставить работать то, что по всем законам морали, физики и здравого смысла работать не должно.
На фото запечатлен в момент собственноручно сотворенного софт-апокалипсиса местного значения с интересом вопрошающим у собственных верхних конечностей:
- Ручки, мои рученьки! Как же так получилось?!
Осмысленное выражение лица выдает в нем гиганта мысли, а причудливое расположение верхних хватательных органов намекает на генетическую предрасположенность и врожденную способность к разнообразным экспериментам.


Поделиться:

ВКонтакт Facebook Google Plus Одноклассники Twitter Livejournal Liveinternet Mail.Ru

Также по теме

Другие материалы рубрики

Мысли вслух

Можно ли, поняв, что половина информации не доходит до серого вещества, отсеиваемая «вратами сортировки», что-нибудь с этим сделать?
Уже довольно многие согласны с тем, что в крупных организациях необходимо создавать т. н. «службы заказчика», предоставляющие аутсорсинг ИТ-услуг.
На первой встрече по первому проекту, на котором я выступала в роли аналитика, я молчала, хмурила брови и писала что-то в блокнот. В общем-то, я и сейчас на встречах с бизнесом хмурю брови и пишу в блокнот. Но только раньше я это делала от неопытности, а теперь от неожиданности.

Компании сообщают

Мероприятия

15.07.2020
Создание и вывод на рынок hardware-продукта

Санкт-Петербург, онлайн-трансляция

17.07.2020 — 18.07.2020
Лаборатория: бизнес как система.

онлайн, 10.40 -18.00 (мск)

23.09.2020 — 24.09.2020
Форум Индустриальной Роботизации

Санкт-Петербург, Чернорецкий пер. 4-6