Мнение: Почему нет операционной системы помимо iOS и Android
В мире смартфонов вот уже несколько лет сохраняется двоевластие между iOS и Android. После того, как Windows Phone окончательно сгинул, рынок операционных система изменился и, возможно, на нем уже никогда не появятся новые игроки. Harmony OS, думаю, не в счет — многие считают его Андроидом на максималках, и это вполне оправданно. Кроме того, все три ОС ничем не отличаются друг от друга, а разработчики все чаще адаптируют приложения для всех операционных систем. Думаю, доживи Windows Phone до наших дней, конкуренция взлетела бы до небес, а не была такой вялотекущей. Да и есть ли она вовсе? Думаю, что нет. Кажется, это на руку всем.
Третьей силы помимо iOS и Android не будет. Рассказываем, почему это так
Что стало с Windows Phone
Почти три года назад Microsoft окончательно похоронила Windows Phone, лишив пользователей приятной, хоть и проблемной ОС. Все годы компания активно использовала маркетинг, выпускала все новые устройства и даже доплачивала разработчикам приложений за то, чтобы расширить ассортимент Microsoft Store. Всё зря: деньги были выброшены впустую, популяризировать ОС тоже не удалось, лояльности пользователей компании завоевать тоже не получилось из-за частых отказов в обновлении своих же смартфонов. Отпишитесь в наш Telegram-чат, если тоже возненавидели Windows Phone за это.
Смартфоны на Windows могли потягаться с другими устройствами, но у Microsoft опустились руки
Microsoft хотела всё и сразу, что не очень похоже на мудрых американских менеджеров, работающих на перспективу — обычно китайские производители быстро бросают начатое, спуская немыслимые бюджеты в унитаз. Позорно не то, что Windows Phone тихо умерла в уголочке, а то, с каким удовольствием Microsoft подняла белый флаг, призвав пользователей перейти на iOS или Android. Именно кейс Windows Phone — одна из причин, почему больше никто не рискует создавать свою операционную систему. Тем более, никто не заинтересован в том, чтобы делать ее уникальной. Ведь есть iOS и Android, которые напоминают друг друга, а удивить пользователя можно фирменной оболочкой.
Экосистема iOS
Компания из Купертино задает тренды во всём. Не так давно в Apple поняли, что смартфоны — ничто, экосистема — всё. Это и вправду сильный ход и прекрасный толчок для индустрии — очередное доказательство того, что миром правит маркетинг. Суть экосистемы подается в виде желания сделать жизнь пользователей проще. Перенос файлов, синхронизация устройств от часов до ноутбуков — в общем, всё, как мы любим.
Доходит до того, что единая экосистема устройств быстро засасывает и выбраться из нее невозможно: попробуйте перейти на Android-смартфон, когда у вас ноутбук, часы, наушники, планшет от Apple! Столкнетесь не только с недопониманием окружающих, но и с собственным неудобством. Сейчас пользоваться устройствами с разными ОС стало намного проще, но назвать такой процесс идеальным язык не повернется.
Apple создала уникальную экосистему, на которой будет зарабатывать еще долгие годы
Думаю, еще и по этой причине никому не интересно создавать ОС во времена экосистем. А еще нужно оптимизировать и без того сырое программное обеспечение под устройства других IT-гигантов или мучаться с созданием собственной экосистемы, которая, скорее всего, не скоро окупится и соберет вокруг себя армию пользователей. Смартфоны, планшеты, смарт-часы ничего не решают по одиночке, а их единая слаженная работа — вот та самая золотая жила, которая будет кормить производителей в ближайшие годы, пока не появится замена смартфонам.
Все смартфоны одинаковые
К сожалению, история работает против потребителей. Уроки бума мобильных устройств научили производителей вкладываться в производство с умом, устанавливая в смартфоны только то, что принято рынком и нужно потребителям. Это плохо для пользователей: ничего нового в индустрии не происходит, смартфоны похожи друг на друга. Они давно перестали развиваться и потолок возможностей становится все ближе с каждым годом. Хуже, что и нас, владельцев смартфонов, однообразие начинает засасывать. Никто не рискнет купить складной смартфон ради эксперимента.
Смартфоны одинаковы, а разнообразие никому не нужно
Во-первых, индивидуальность — это очень дорого: тот же Samsung Galaxy Z Fold по-прежнему стоит бешеных денег и остается нишевым смартфоном. Во-вторых, есть большие сомнения в надежности. В-третьих, покупатели просто хотят, чтобы устройство работало, не ломалось и было как у всех. Выделяться в 2021 году не очень привычно, не принято и стоить это будет немалых денег. Новые операционные системы, в первую очередь, не нужны никому из нас — это выход из зоны комфорта, в которой и так хорошо, уютно. Игры, приложения, функции — всё оперативно падает в смартфон, только успевай обновлять.
Еще больше рассуждений на неочевидные темы ищите в нашем Яндекс.Дзен
Думаю, что кардинально новой, сильной и популярной OC для смартфонов нам уже никогда не увидеть. Остается только получать удовольствие от того, что есть, изредка переходя с iOS на Android и обратно. Кстати, вот вам небольшой рассказ о том, почему iPhone перепродать проще, чем смартфон на Android.
Китайцы создали альтернативу Android и iOS на Ubuntu для смартфонов и планшетов
Импортозамещение в Китае активно реализуется. На днях была представлена мобильная операционная система JingOS, которая предназначена для планшетов. В ближайшее время разработчики планируют создать и версию для смартфонов, так что эта ОС — прямой конкурент (пока лишь для Китая) Android и iOS.
Сейчас ОС работает на планшетных ПК с x86-процессорами. Вскоре будет выпущена ARM-версия, для смартфонов и планшетов с чипами на этой архитектуре. Система уже вышла из стадии прототипа, с ней можно полноценно работать. Основа ее — Ubuntu 20.04, которая вышла весной прошлого года. Сейчас она доступна в виде бета-версии, китайцы выложили систему в свободном доступе.
Окружением для модифицированной Ubuntu служит KDE Plasma Mobile 5.2. При разработке интерфейса создатели системы явно воспользовались примером iOS. Это выражается и в построении интерфейса, и в некоторых его элементах. Возможно, это временный шаг, на который разработчики пошли, чтобы привлечь внимание потенциальных пользователей.
На данный момент доступна только версия 0.6, это бета-версия, которая может иногда работать некорректно. В этой версии реализована полноценная поддержка сенсорных экранов. Под сенсорное управление заточен не только интерфейс, но и штатные программы, среди которых календарь, плеер, голосовые заметки, галерея и калькулятор.
Чтобы получить дистрибутив, нужно указать свой адрес электронной почты, на который разработчики пришлют письмо с со ссылкой на скачивание. Кроме того, есть возможность получить образ и через Telegram. Объем файла дистрибутива составляет 2,5 ГБ.
Сейчас, кроме доработки самой системы, компания занимается созданием фирменного магазина приложений. Также планируется добавить поддержку обновлений «по воздуху». В ОС появятся новая виртуальная клавиатура, модифицированные элементы управления, также будет оптимизирован механизм запуска десктопных приложений Linux.
В марте выйдет новый апдейт с индексом 0.8. На этом этапе она будет лишена большинства проблем, которые есть сейчас. Работоспособность системы уже протестировали на таких платформах, как ПК Huawei MateBook 14, Chuwi Minibook и Eve V. Также она установилась и без проблем работает на Microsoft Surface Pro 6.
К сожалению, пока что исходный код системы недоступен — его откроют после релиза финальной версии в июне этого года. Кстати, тогда же KDE, скорее всего, заменят на китайскую оболочку — JDE или Jing Desktop Environment.
У китайцев, к слову, есть конкуренты — система Ubuntu Touch, которая продолжает развиваться энтузиастами, после отказа от проекта компанией Canonical в 2017 году. Последняя стабильная версия системы — 16.04 OTA. Но, к сожалению, Ubuntu Touch так и не стала популярной, хотя и разрабатывается с 2011 года.
Самые прорывные операционные системы и их особенности
Несмотря на свои небольшие габариты, современные «умные» мобильные устройства – это настоящие карманные компьютеры, многофункциональные и высокотехнологичные. И таковыми делают их операционные системы, грамотно управляющие всеми их составляющими. Однако следует иметь в виду, что, в отличие от обычного настольного компьютера, ОС в смартфоне призвана не просто обеспечивать стабильную работу данного устройства, но также следить за его энергопотреблением.
Какие бывают операционные системы для смартфонов
Впервые термин «smartphone» (что в переводе с английского языка означает «умный телефон») был введён в употребление компанией Nokia в 2001 году, когда последняя выпустила свой новый слайдер. Это было «умное» сотовое устройство, которое работало на базе платформы Symbian. Данное событие имело в некотором роде историческое значение, ведь позже термин «смартфон» стали использовать и другие производители высокотехнологичной мобильной техники.
На сегодняшний день весьма распространена такая ОС в телефоне, как Android. Именно под её управлением работает большинство современных «умных» мобильных устройств. Данная операционная система была разработана компанией Google, и её основой стала компьютерная ОС под названием Linux. Это открытая платформа, которая сумела добиться невиданного распространения среди потребителей.
Не менее популярной является такая операционная система, как iOS, разработанная компанией Apple и выступающая в роли предмета её бесконечной гордости. Её особенностью является закрытый код, который обеспечивает не только стабильную работы платформы, но и надёжно защищает её от вирусного программного обеспечения. Такую операционную систему можно встретить лишь на смартфоне с фирменным «яблочным» логотипом.
На третьем месте — операционная система в смартфоне под названием Windows Phone. Ранее её можно было встретить на мобильных устройствах марки Nokia. Сегодня такие смартфоны выпускаются компанией Microsoft. К особенностям данной операционной системы можно отнести стабильность и минималистичный «плиточный» интерфейс. Платформа была разработана на базе полноценной ОС Windows, знакомой каждому, у кого есть компьютер. Из-за своей некоторой аскетичности данная система не стала такой популярной, как iOS или Android, однако она также имеет своих преданных приверженцев – тем более, что работает она весьма быстро.
Существует и ряд других платформ, под управлением которых работают смартфоны. Среди них стоит выделить некоторые кастомизированные версии системы Android, а также такую ОС, как BlackBerry. Как правило, обновления для таких платформ выпускаются с завидной регулярностью, однако они далеко не так распространены и удобны, как те, что входят в вышеупомянутую тройку лидеров.
Выбираем оптимальную ОС для гаджета
Как определить, какая платформа подходит оптимально? Для этого стоит ознакомиться с характеристиками каждой из них, после чего – разобраться с тем, насколько все эти персональные особенности будут удобны конкретному пользователю.
- Наиболее гибкой ОС в смартфоне считают именно Android. Владелец такого мобильного устройства может полностью настроить его под себя, или же оставить всё, как есть. По гибкости данную платформу можно сравнить разве что с операционной системой настольного компьютера.
- Тем, кто любит дорогостоящие и надёжные гаджеты, лучше всего подойдёт iOS. Эту операционную систему считают интуитивно понятной, и разобраться с ней сможет даже неподготовленный пользователь. Правда, при этом последнему придётся мириться с тем, что единая файловая система отсутствует, а также внимательно разобраться с фирменным «яблочным» магазином и особенностями работы с программами, аудио и видео. Из достоинств стоит отметить, что владельцу гаджета на базе iOS будет доступно множество приложений, работающих с превосходной скоростью. К сожалению, позволить себе такое мобильное устройство может не каждый, а потому iPhone считают чем-то вроде премиального смартфона.
- Пользователь, предпочитающий минимализм, наверняка обратит своё внимание на Windows Phone. Такая ОС в телефоне считается максимально простой. Владелец мобильного устройства в данном случае получит свободный доступ к данным, а также сможет разместить на своём домашнем экране не только ярлыки, но различные ссылки и уведомления.
Плюсы и минусы самых популярных ОС для смартфонов
Как уже было сказано, такая платформа, как iOS, выгодно отличается огромным ассортиментом приложений, размещённых в фирменном «яблочном» магазине. Все они совершенно безопасны с точки зрения наличия вирусного программного обеспечения, что становится возможным благодаря закрытому коду системы. Несколько меньше приложений предлагает пользователям платформа Android, в то время как ещё меньшее их число доступно владельцам устройств на базе Windows Phone.
Такая операционная система, как iOS, отличается возможностью работы со специальным «облачным» браузером. При этом функция синхронизации с мобильным устройством реализована несколько своеобразно. Тем не менее, просмотр веб-страниц со всех iOS-устройств может быть легко унифицирован. Разработчики Android также позаботились о синхронизации вкладок. Кроме того, синхронизации подлежат сделанным пользователям закладки и запросы, вводимые им в строку поиска (что весьма удобно). К сожалению, данная функция отсутствует у Windows Phone, что можно считать скорее недостатком, нежели достоинством.
Если речь идёт о голосовых командах, весьма удобны в этом плане как iOS, так и Android. Разработчики из Купертино позаботились об отличном интеллектуальном помощнике под названием Siri. Что касается Google-платформы, у неё также есть распознаватель речи и голосовых команд. Гораздо меньшие возможности предлагают разработчики Windows Phone. Тем не менее, поддержка голосовых команд всё же реализована.
Широкие возможности навигации открываются владельцам такой ОС в смартфоне, как Android. Практически каждый современный пользователь знает, что такое Google-карты и как с ними работать. Свой собственный сервис есть и у iOS. Он достаточно полезен и функционален, однако имеются некоторые недостатки – к примеру, нет маршрутов общественного транспорта. Что касается Windows Phone, тут всё продумано до мелочей, а карты данной платформы очень удобны.
Теперь несколько слов о мобильных платежах. Благодаря наличию Google-кошелька работать с ними владельцам Android-гаджетов очень удобно – правда, имеется поддержка не всех платёжных систем. Полноценный электронный кошелёк создали и разработчики Windows Phone, и он максимально продуман. Что касается iOS, долгожданная поддержка мобильных платежей появилась сравнительно недавно, уже с выходом «яблочного» смартфона восьмого поколения.
Возможности коммуникации в смартфонах с различными операционными системами
Главное назначение любого мобильного устройства, в том числе и «умного» — это общение. Конечно же, владелец смартфона может рассчитывать на приём и совершение звонков, обмен текстовыми сообщениями и так далее. Пользователям iOS и Android работать с вызовами весьма удобно. Преимущество Apple-ОС в телефоне заключается в том, что производитель позаботился о функции «Не беспокоить». Наименее удобной представляется Windows Phone, где не только отсутствует вышеуказанная функция, но также нет возможности составления и отправки текста для быстрого ответа на звонок.
Если речь идёт об обмене мгновенными сообщениями, лучше всего этот сервис продуман на платформе Android. Он не только максимально удобен, но и весьма надёжен – чего не скажешь об IMessage на «яблочном» смартфоне, сообщения с которого иногда задерживаются. Кроме того, общаться можно будет только с теми, кто также пользуется iOS. Гораздо более удобная в этом плане операционная система в смартфоне — Windows Phone. Функция хорошо продумана и очень надёжна.
Прочие достоинства и недостатки операционных систем «большой тройки»
Лучше всего реализована функция работы с медиапотоком на таких платформах, как iOS и Android. У «яблочной» операционной системы она интуитивно понятна, а потому разобраться в ней легко. Конечно, при этом следует учитывать закрытый код. На практике это означает возможность работы с медиапотоком исключительно в рамках экосистемы Apple. Ещё проще будет владельцам гаджетов на базе Android. Они смогут не только передавать и принимать медиапоток, но и связывать вместе хабы. Что касается платформы Windows Phone, её разработчики позаботились об особой технологии, которая не только упрощает весь процесс передачи данных и делает его наглядным, но также помогает осуществлять передачу дополнительного содержимого.
Современного пользователя ОС в смартфоне нередко волнует даже такой вопрос, как удобство работы с иконками. Платформа Android примечательна наличием большого числа виджетов, которые могут быть настроены на усмотрение владельца гаджета. При этом сами иконки вполне стандартны. К сожалению, «яблочная» платформа не может похвастаться столь большим количеством виджетов. В этом плане пальму первенства стоит отдать Windows Phone. Её динамические иконки отображают всю самую нужную информацию и обновления. Кроме того, их удобно организовывать. Иными словами, Microsoft тут ушли далеко вперёд.
Операционная система BlackBerry и её особенности
Данная платформа была разработана компанией Research In Motion на основе операционной системы, купленной ею в 2010 году. Она получила то же название, что и мобильные устройства, история которых началась ещё в 80-х годах в Канаде. Примечательной особенность операционной системы является то, что она могла быть использована как на сенсорных «умных» гаджетах, так и на телефонах с QWERTY-клавиатурой. Конечно же, она так и не сумела составить конкуренцию платформам вроде iOS или Android, однако всё же стала достаточно популярной.
Главное достоинство BlackBerry ОС в телефоне – поддержка всех сервисов компании-разработчика. При этом можно рассчитывать на полную безопасность и конфиденциальность данных при работе онлайн, обеспечиваемые благодаря особому способу шифрования. Именно поэтому такая операционная система особенно востребована среди известных мировых компаний.
8 операционных систем для ПК и телефонов, о которых вы могли даже не слышать
Без операционной системы немыслимы современные цифровые устройства. Не только ПК, но и телефоны, планшеты и даже носимые гаджеты. Сегодня «Блог системного администратора» расскажет об ОС, которые вам, вероятно, неизвестны. Интересны, важны и порой бывают полезны.
Захотите, попробуете установить некоторые из них в VirtualBox или VMWare.
Для настольных ПК и ноутбуков
В том числе и такие, которые запустятся на железе, устаревшем еще в начале века.
Первая — KolibriOS
Самая маленькая система с графическим интерфейсом. Основана на MenuetOS. Минимальная версия — для дискеты (1,44 мегабайта).
Запускается с дискеты, оптического диска, HDD, флеш-накопителя. Поддерживает файловые системы, в числе которых FAT32, NTFS и EXT3 / 4.
Встроен софт для основных задач. Предусмотрены текстовый редактор, клиент e-mail, а также HTTP-клиент.
Вторая — Slax
Основана на Slackware Linux. Объем немногим более двухсот мегабайт. Содержит основной софт, который расширяется специальными модулями. В их числе Firefox и Libre Office. ПО устанавливается автоматически.
Запускается непосредственно с флешки. Настройки биос для загрузки с USB-накопителя и пользуйтесь.
Настройки и данные сохраняются на той же флешке, что и система. При повторном запуске не теряются.
Третья — ReactOS
Для тех, кто не желает обходиться без Windows, но не может или не хочет использовать ОС от Майкрософт. Ядро системы написано с нуля. Платформа основана на Wine. Запускаются многие программы, предназначенные для Windows. Интерфейс подобен XP/2003.
Функционал уступает «семерке» и «восьмерке», не говоря уже о «десятке». Полностью функциональная замена Windows, открытая и бесплатная. Подойдет тем, кому достаточно возможностей компьютера, которые были в начале и середине «нулевых».
Четвертая — Tails
Дистрибутив Линукса. В основе Debian. Полностью работает в оперативной памяти ПК. После выхода все файлы и история стираются. Предназначена для сохранения конфиденциальности. Предусмотрены многочисленные инструменты безопасности, в том числе криптографическое шифрование для защиты файлов и переписки.
Пятая — Qubes
Применяется подход: «безопасность благодаря изоляции». Создается множество доменов, которые реализованы как легкие виртуальные машины. Для каждого домена — собственный набор ограничений безопасности. Таким образом, домены изолированы друг от друга.
Для пользователя означает — браузер отделен от конфиденциальных рабочих данных. Если программа поражена вредоносным ПО, доступа к важной информации нет, поскольку она изолирована.
Для телефонов, носимых и мобильных устройств
В 2020 популярны только две ОС для телефонов. Их все знают. Сохранится ли подобное положение в будущем?
Шестая — Ubuntu Touch
Ubuntu популярна на ПК. Мобильной версии не повезло. Проект был интересным. Разработчики могли написать программу для всех устройств с Ubuntu (мобильных, настольных и серверов).
Максимально упрощен доступ ко всему содержимому телефона.
Седьмая — Firefox OS
Браузер вам известен, даже если не пользуетесь. Система — неудачная попытка Mozilla создать мобильную платформу с открытым кодом. Основана на открытых стандартах HTML, CSS и JavaScript. Интерфейс подобен Андроиду.
Установка софта не предусмотрена. Только веб-приложения. По сути, все внутри системы — веб-страницы, открытые во вкладках браузера. В том числе контакты и инструмент для набора номеров.
Восьмая — Tizen OS
Samsung лидирует на рынке смартфонов. Но ОС — Android. Компания пыталась заменить ее ОС Tizen (с открытым исходным кодом), основанной на Bada.
Среда разработки базируется на HTML5. Трехмерные эффекты окон, многозадачность, мультитач. Поддерживаются сенсорные и геолокационные функции. Гибкая работа с разрешением дисплея.
Отмечу, ни одна из рассмотренных ОС (за исключением Tizen) не имеет сколь бы то ни было широкого практического применения. Теоретически могут оказаться полезны и в 2020, практически — рекомендовать не стану ни в качестве основной, ни в роли дополнительной. Знать о платформах необходимо не только как о «неудачных» проектах прошлого, но и о технологиях, у которых есть шанс лечь в основу платформ будущего.
У какой операционной системы есть шанс в ближайшие годы стать актуальной? Поделитесь в комментариях своими представлениями о будущем мобильных и настольных платформ.
Пишите в комментариях, какие ОС вам интересны.
918 постов 7K подписчиков
Правила сообщества
Запрещается добавлять новости о прошлогодних новинках, а также посты, не относящиеся к тематике «ретро в ИТ».
Желательно соблюдать правила приличия.
Ну список интересный, но не такие уж и редкие представители. Почти все жили в тот или иной период времени на компе. Включая QNX, который из-за размера тачка всегда с собой как альтернативу, котрую можно загрузить на любом компе.
А слакс так вообще жил годами на машине. Нравился больше чем RH, хотя траблы с кодировками вечные приходилось вручную перебарывать
Была такая еще и QNX. А многие еще припомнят OS/2
Блин, а я вот про все эти знаю.
ТС, держи про ОС, о которой ты скорее всего не слышал:
Эх. А я бы Убунту на телефоне погонял.
А картинки что грузятся свеху вниз?
Читать ещё на Пикабу
Инструменты тестирования на проникновение в сеть. Часть 2
HoneyPot / HoneyNet
Glastopf – это инструмент для отслеживания инцидентов сетевой безопасности. Может эмулировать тысячи уязвимостей для сбора данных в результате атак, нацеленных на веб-приложения.
Kippo – это SSH HoneyPot среднего взаимодействия, предназначенный для регистрации атак методом перебора.
Kojoney – это низкоуровневая приманка для взаимодействия, которая эмулирует SSH-сервер.
HonSSH – это решение HoneyPot с высоким уровнем взаимодействия. HonSSH будет находиться между злоумышленником и HoneyPot, создавая между ними два отдельных SSH-соединения.
Bifrozt – это NAT-устройство с DHCP-сервером, которое обычно развертывается с одной сетевой картой, подключенной непосредственно к Интернету, и одной сетевой картой, подключенной к внутренней сети.
HoneyDrive – HoneyDrive является ведущим дистрибутивом HoneyPot Linux. Это виртуальное устройство (OVA) с установленным Xubuntu Desktop LTS edition.
Cuckoo Sandbox – это программное обеспечение с открытым исходным кодом для автоматизации анализа подозрительных файлов.
HoneyPy – это открытое программное обеспечение, которое используется для обнаружения и сбора информации о злоумышленниках и их атаках.
Dionaea – это открытый инструмент для отслеживания инцидентов сетевой безопасности. Dionaea был создан для отслеживания различных типов сетевых атаки, включая вирусы, шпионское ПО и т.д.
Conpot (ICS/SCADA HoneyPot) – это низкоинтерактивная приманка для промышленных систем управления на стороне сервера, разработанная для простого развертывания, модификации и расширения.
Amun – приманка с низким уровнем взаимодействия на основе Python.
Полный захват пакетов
OpenFPC – представляет собой набор инструментов, которые в совокупности обеспечивают облегченную систему записи и буферизации сетевого трафика с полным пакетом.
Dshell – это платформа для криминалистического анализа сети. Позволяет быстро разрабатывать плагины для поддержки анализа перехваченных сетевых пакетов.
stenographer – это решение для захвата пакетов, целью которого является быстрая загрузка всех пакетов на диск, а затем предоставление простого и быстрого доступа к подмножествам этих пакетов.
tcpflow – это программа, которая фиксирует данные, передаваемые как часть TCP-соединений, и сохраняет данные удобным для анализа и отладки протокола способом.
Xplico – инструмент для извлечения из интернет-трафика данных, содержащихся в приложениях.
Moloch – это система с открытым исходным кодом для крупномасштабного захвата пакетов IPv4 (PCAP) и индексирования. Для просмотра, поиска и экспорта PCAP предоставляется простой веб-интерфейс.
Средства сетевой безопасности на основе снифферов
Live HTTP headers – это бесплатное дополнение для Firefox, позволяющее просматривать запросы браузера в режиме реального времени.
netsniff-ng – это бесплатный сетевой инструментарий для Linux.
wireshark – это бесплатный анализатор пакетов с открытым исходным кодом.
Инструменты OSINT для Onion сайтов
Небольшой список полезных инструментов для работы с сайтами в сети Tor.
Поисковые утилиты:
Инструменты для получения onion ссылок:
Tor66 Fresh Onions — http://tor66sewebgixwhcqfnp5inzp5x5uohhdy3kvtnyfxc2e5mxiuh34iid.onion/fresh
Инструменты для сканирования:
Sync файлов между серверами + powershell + общий вопрос
Я виндовый админ (разраб на powershell и под scom), но потихоньку вспоминаю/учу линукс в связи с импортозамещением
1) нужно при изменении на сервере 1 файла — чтоб эти изменения ушли на др сервер
чем проще с мин правами? rsync?
2) кто-то использует powershell на линуксе ? мне это надо чтоб не переписывать тонну кода да и вообще интересно ( ну и работа с текстом после объектов у меня ужас вызывает. но это вкусовщина)
3) как правильно настроить в плане безопаности линукс сервер на котором будем инет магаз php+веб сервер? что в базе?
на винде все просто — порты закрыть, службы запускать с кастрированными правами — да и все что можно сделать
Проект The Fuck
Было очень любопытно, что же скрывается под таким неговорящим названием. Причём явно что-то популярное и полезное, потому что 77.7k звёзд на гитхабе. Оказалось, что это утилита для исправления опечаток или неполностью набранных команд.
Показываю сразу на примерах. Допустим, вы устанавливаете софт через пакетный менеджер и забыли написать sudo:
E: Could not open lock file /var/lib/dpkg/lock —
open (13: Permission denied)
Вы расстраиваетесь и материтесь, потому что нервы у айтишников никудышные. Сидячая работа, стрессы, кофе и т.д. Пишите в консоль с досады:
TheFuck понимает ошибку и предлагает выполнить команду с учётом исправления.
# sudo apt-get install mc
TheFuck распознаёт популярные ошибки, опечатки, не только в командах, но и в их ключах, параметрах. Например:
fatal: The current branch master has no upstream branch.
# git push —set-upstream origin master
То есть запустили гит пуш, забыли обязательные параметры, fuck добавил дефолтные параметры для этой команды.
Ещё больше примеров можно в репе посмотреть. Все исправления описаны правилами, которые лежат в соответствующей директории. Правила написаны на python, можете изменить готовые или написать свои. Например, есть правило для chmod. Если в консоли запускается скрипт через ./ и в выводе появляется сообщение permission denied, что типично, если у файла нет прав на исполнение, fuck исправляет это, добавяля права через chmod +x.
Больше всего правил написано для git. Судя по всему этот инструмент писался для разработчиков и немного девопсов, поэтому так много звёзд на гитхаб.
Если будете пробовать в Debian, утилита живёт в стандартных репах:
# apt install thefuck
Автор пакет заботливо отключил все правила для sudo. На всякий случай. По умолчанию бинарники ставятся в $HOME/.local/bin, поэтому надо добавить этот путь в PATH:
Парсим яндекс диск при помощи Python
В данный момент я работаю контент-менеджером в «крупном» интернет — магазине. В моём случае, это больше 100 000 позиций.
Иногда приходится сталкиваться с такой проблемой: поставщик присылает фотографии со ссылками на яндекс диск. Это крайне неудобно, потому что приходится ходить по каждой ссылке и скачивать изображение к себе, а затем уже загружать на сервер и т.д.
Готового решения я не нашел и решил написать свою реализацию работы с яндекс диском. Хорошо, что я знаю python.
У меня было 2 версии программы:
когда по ссылке находится папка с картинками, python скачивает эту папку как зип файл, затем распаковывает. Все манипуляции записываются в csv файл, путь до файла с картинками
когда по ссылке идёт только одна картинка, в данном случаи все немного проще, не нужны лишние действия с распаковкой картинок
p.s. ещё были 2 побочные небольшие программки: 1-я для уменьшения размера картинки, 2-я для переименования картинок (менялся пробел на дефис)
Приступим к реализации
скачать и установить python c официального сайта https://www.python.org/downloads
открыть любимый редактор кода (я использую vscode) https://code.visualstudio.com
подключить следующие стандартные библиотеки: urllib.parse, csv, os, zipfile. Установить библиотеку requests https://pypi.org/project/requests/ (для отправки запроса на сервер)
для полного фен-шуя можно использовать виртуальное окружение, дабы не засорять систему ненужными пакетами. Подробнее о virtualenv можно ознакомится по ссылке https://docs.python.org/3/tutorial/venv.html или же использовать poetry.
Ссылки на яндекс диск имеют вид: https://disk.yandex.ru/d/xNBn7lE1_Y5knQ . Чтобы их можно было скачать, они должны быть публичными.
Обратимся к API яндекс. После ключа public_key=»вставляем_ссылку_на_файл»
В ответе мы получаем json, из которого нам нужно получить значение по ключу href. Полученное значение и будет нашей прямой ссылкой к файлу.
Пожалуй, на этом хватит теории, теперь, постараюсь внятно объяснить, как всё это можно применить в контексте python.
# создаем новый файл и подключаем нужные нам библиотеки
import requests
from urllib.parse import urlencode
import csv
import os
import zipfile
Для начало создадим функцию, которая будет возвращать нам ссылку для скачивания:
final_url = base_url + urlencode(dict(public_key=public_link))
response = requests.get(final_url)
parse_href = response.json()[‘href’]
return parse_href
Файлы могут быть в разных форматах: ссылки могут быть на одну или несколько картинок. В первом случае можно напрямую скачивать картинку по ссылке. Во втором, если по ссылке несколько картинок, то при скачивании мы получаем архив, который требует дополнительных действий (распаковку).
Далее, мы скачиваем файлы и в зависимости от его типа выполняем действия: просто записываем в результирующий файл или же переходим к его распаковке с последующей записью.
В итоге, мы получаем файл result_data.csv со ссылками на фотографии на нашем жестком диске:
В добавок, у нас на жёстком диске появляется папка со скаченными картинками в папке download_files.
Полностью посмотреть код можно в репозитории на гитхаб.
p.s. Официальная документация по API Яндекс. Диска
Братишка с пикабу подсказал готовую библиотеку на питоне. Спасибо b4ro тык.
p.s.s. Немного поразмышляв, я подумал, что неплохо было бы написать, тесты. Пройтись линтером по коду. Добавить функцию переименования файлов. Может быть что-нибудь ещё?)
Спасибо за прочтение! Комментарии, лайки, дизлайки, предложения, пожелания крайне приветствуются.
Про Ubuntu Touch и опыт использования
Всем привет! Я уже давно хотел написать небольшую статью относительно моего пользовательского опыта работы с операционной системой Ubuntu Touch, которую я использую в качестве основной уже более года, и, поскольку некоторым откликнувшимся пользователям пикабу это показалось интересным для чтения, я рад стараться 🙂
Прежде всего, следует понимать, что Ubuntu Touch (далее UT) – это не типичный GNU/Linux дистрибутив, к которым все привыкли на десктопе и серверных машинах. UT – дистрибутив для мобильных девайсов (смартфоны, планшеты) и заточен под работу на этих самых девайсах. Все существующие приложения сделаны (либо портированы) именно для UT – привычных используемых десктопных GNU программ в OpenStore (местный центр приложений) вы здесь не увидите (но запустить их возможно, об этом ниже). На данный момент над дистрибутивом работает сообщество UBports, взявшее разработку и портирование в свою руки после того как Canonical прекратили какую-либо поддержку и разработку UT.
Почему я использую именно UT в качестве основной ОС, а не Android или iOS? Я не гик, не ненавистник всего гугловского и проприетарного и не скрываюсь от большого брата (UT – privacy-friendly ОС, в чем несомненно её плюс). Мне просто нравится GNU/Linux и я привык работать именно в этой операционной системе, да и в UT присутствуют необходимые мне для повседневной жизни приложения. Наличие её у меня на смартфоне это не только интересный для меня опыт, но и удобство, ведь всё для меня здесь привычно 🙂
1. Пользовательский интерфейс.
В качестве графического окружения UT использует Lomiri, ранее именовавшуюся Unity 8. Всё работает довольно плавно и быстро – я не замечал каких-либо тормозов или каких-то особых проблем с DE. Управление происходит жестами, позволяя переключаться между приложениями, открывать панельку для запуска других приложений, перетаскивать окна между собой для совместного использования двух приложений (в desktop и tablet режиме) и изменять размер окна приложения (в desktop режиме). Десктопный режим сделан настолько удобно, что порой я его использовал постоянно. К сожалению, привычной возможности «вернуться назад» в виде жеста нет, что для меня не совсем удобно – приходится тянуться большим пальцем в верхнюю часть экрана.
2. Приложения.
Программное обеспечение для UT поставляется через местный центр приложений OpenStore, представляющий из себя удобный каталог уже собранных .click пакетов. Конечно же, ничего не мешает устанавливать и отсутствующие в OpenStore приложения. С переходом на 20.04 некоторые мне приходилось собирать на домашней машине и устанавливать уже на UT. Приложения делятся на два типа – нативные, использующие QML, и веб-приложения – обертки веб-версий каких-либо популярных сервисов, нередко чем-либо дополненные для более удобного использования на мобильном устройстве.
Из интересующего для обыденного пользователя присутствуют навигационные приложения, почтовый клиент, читалки, мессенджеры (нативный клиент телеграм – TELEports, Cinny для Matrix, ConverseJS для XMPP), менеджер паролей, проигрыватель подкастов, просмотрщик документов и прочее.
Конечно же, вы здесь не найдете привычных для многих проприетарных мессенджеров (WhatsApp, Viber), банковских приложений, доставки еды и такси. Можно ли жить без всего этого? – Для каждого пользователя свой ответ на этот вопрос. Для тех же, кто не может без всего этого обойтись, есть выход – эмулятор Android.
3. Запуск Android приложений.
Запуск Android приложений осуществляется благодаря эмулятору Waydroid, работающим в контейнере. В качестве образа Android поставляется Lineage OS, с возможностью установить его вместе с Google сервисами. Установленные в Waydroid приложения отображаются вместе с остальными в панельке всех приложений. Я же их скрываю, мне так удобнее 😉
К слову, использовать Waydroid постоянно не самая лучшая идея – это не очень хорошо сказывается на времени работы устройства от аккумулятора. Я его использую не так часто, а только когда мне требуется зайти в банковское приложение, вызвать такси или заказать еду. Доступа к WiFi или Bluetooth у Waydroid нет (я ношу фитнес-браслет и для того, чтобы собирать данные с браслета, приходится использовать второй девайс с Lineage OS) , интернет-соединение осуществляется через виртуальный интерфейс. Но есть доступ к NFC, мне удавалось пополнить карту “тройка” через приложение московского транспорта.
4. Запуск десктопных программ.
Для запуска десктопных программ используется Libertine – контейнер с такой же пакетной базой, как и в Ubuntu Touch. Я не вижу особого смысла в большинстве десктопных программ на смартфоне, как минимум из-за размера экрана. Тем не менее, время от времени я использую Firefox и десктопную версию клиента Telegram. Запуск десктопных программ может иметь смысл для тех, кто подключает свой девайс к внешнему монитору и использует его не только как телефон, но и как “переносной компьютер”. К сожалению, не все программы стабильно работают, но, тем не менее, они работают 🙂
Помимо запуска десктопных программ, Libertine следует использовать и для большинства устанавливаемых CLI-утилит. Почему? Об этом ниже.
5. Advance Packaging Tool и прочие радости жизни.
Изначально корень смонтирован как read-only, соответственно использование apt не является поддерживаемым способом установки программного обеспечения, а apt upgrade вероятнее всего поломает все, что хорошо работает. Конечно же, всегда можно перемонтировать корень в read/write, но следует помнить, что это неподдерживаемый способ установки программного обеспечения, ведь обновления ОС поставляются в виде образа, как, например, обновления OpenWRT. Для различных утилит, которые мы обычно устанавливаем через apt, следует использовать Libertine, что я и делаю. Но если мне требуются более свежие пакеты, я запускаю их в chroot, используя rootfs какого-либо другого дистрибутива (например, Manjaro). На самом деле я, как и, наверное, большинство остальных юзеров UT – постоянно лезу в систему, могу установить какие-то нужные мне утилиты через apt в обход рекомендованных сообществом способов.
Из коробки поставляется OpenVPN (2.3.10 – для Xenial, 2.4.7 – для Focal). Есть поддержка Wireguard (приложение на Xenial, через NetworkManager на Focal) при условии поддержки wireguard ядром, что я обычно и использую.
Подключение через OpenVPN более удобное, достаточно нажать на кнопочку в панельке. С Wireguard же либо через приложение, либо nmcli, nmtui. Я предпочитаю через терминал)
7. Геолокация
Следует понимать, что UT не использует проприетарные сервисы Google, которые помогают с геолокацией устройства как на Android, так что геолокация здесь, если можно так выразиться, нативная, как в навигаторе.
На моем опыте показала себя хорошо, хотя в первое время использования я и не знал, что ей требуется холодный старт для первичной инициализации местоположения, и вовсе думал, что у меня GPS не работает… Огромный недостаток геолокации на UT – она, черт возьми, не может работать в фоновом режиме. К слову говоря, практически все программы в UT в фоновом режиме останавливаются, но их можно всегда переключить на возможность работать в фоне – включил что-либо на Youtube, заблокировал телефон и слушаешь 🙂
Из интересного, что я ещё использую на UT, помимо привычных мне GNU утилит, – приложение ISODrive, позволяющее использовать смартфон для запуска LiveCD образов на компьютере. Также совсем недавно появилась возможность запуска x86_64 Windows программ, которой я пока не нашел никакого применения – правда, не знаю что запускать. Помимо этого, есть классные фичи, которые я хотел бы использовать, но это на данный момент не поддерживается моим устройством (либо ядром – его, конечно же, можно кастомизировать и собрать свой образ на основе порта). Одна из них – запуск виртуальных машин (arm64, x86_64) на устройстве, другая – использование беспроводного монитора, которое дает возможность вместе с подключенной переферией использовать девайс “как компьютер” 🙂
Конечно же, проблем тоже хватает, и, исходя из моего опыта, на моем девайсе есть некоторые проблемы с bluetooth драйверами, что делает работу bluetooth не всегда стабильной. Обычно мне помогает перезапуск демона, либо перезагрузка девайса, что доставляет порой небольшой дискомфорт. И, соответственно, устройств с поддержкой всего на
100% не так много, на определенных девайсах что-то может работать, на других нет.
Что меня ещё радует в Ubuntu Touch, так это сообщество, которое делится своими хаками, наработками и приходит на помощь при различных вопросах и проблемах.
Благодарю всех, кто уделил свое внимание и время на данный пост и буду рад ответить на ваши вопросы, если таковые будут!)
Телеметрия
Передовой Брендинг на грани
Встречайте новейшую разработку от «Всё ПО»!
Сбрендил для вас,
27 лет назад появилась OpenBSD
18 октября 1995 года состоялся официальный дебют проекта операционной системы OpenBSD, которую голландский инженер-программист Тео де Раадт создал на основе форка NetBSD 1.0. Разработчик с самого начала планировал сделать упор на «переносимость, стандартизацию, проактивную безопасность и встроенную криптографию», обращая при этом особое внимание на лицензионную чистоту ОС. Так на свет появилась платформа, которая пользуется заслуженной популярностью на протяжении вот уже 27 лет.
Тео де Раадт родился 19 мая 1968 года в городе Претория, Южная Африка. Его отец был голландским подданным, а мать — гражданкой ЮАР. Тео — старший из четырех детей в этой семье: у него есть две младшие сестры и брат. Вооруженные силы ЮАР комплектуются по призыву, и чтобы Тео мог избежать обязательной воинской службы, в 1977 году семейство де Раадтов перебралось в город Калгари, Канада. Однако вскоре в стране начинается экономический кризис, под давлением которого де Раадты переезжают на Юкон — территорию в северо-западной части Канады.
Там родители покупают Тео первый компьютер: Commodore VIC-20. Именно эта персоналка открыла для него увлекательный мир программирования. Поступив в Университет Калгари, который он закончил в 1992 году с дипломом бакалавра в области компьютерных наук, Тео сменил Commodore на Amiga.
Там же, в университете, Тео де Раадт познакомился с проектом 386BSD. Однако тот вскоре разочаровал его своими ограниченными возможностями, несвоевременными обновлениями и закрытостью разработчиков, не желавших прислушиваться к мнению пользователей. Вместе с друзьями Адамом Глассом, Крисом Деметриу и Чарльзом Хэннумом Тео де Раадт основал собственный проект — NetBSD, который должен был строиться на основе модели с открытым исходным кодом.
Друзья создали репозиторий для NetBSD 21 марта 1993 года, а уже в апреле выпустили первую версию — NetBSD 0.8, основывавшуюся на исходном коде 386BSD 0.1 и нескольких утилитах из Net/2. В октябре вышла релизная версия NetBSD 1.0, в которой проприетарные программы из Net/2 были заменены свободными аналогами из 4.4BSD-lite. Эта версия системы была по-настоящему кроссплатформенной: она поддерживала не только архитектуру x86, но также могла работать на Amiga, 68k Macintosh, PC532 и Sun-4c. Тогда же впервые наметился раскол между Тео де Раадтом и другими участниками проекта, связанный с различиями во мнениях относительно дальнейшего развития ОС.
Разлад достиг своего апогея в декабре 1994 года, когда Тео де Раадт был исключен из состава разработчиков NetBSD, а его доступ к репозиториям был заблокирован — как писали его бывшие коллеги, «из-за неподобающего и оскорбительного поведения в списках рассылки». В результате этого конфликта Тео основал собственный проект, о котором официально объявил 18 октября 1995 года — этот проект получил название OpenBSD.
Первая версия новой системы появилась на свет в июле 1996 года, и после этой даты создатели ОС стараются выпускать обновления по строгому графику: раз в полгода. Разработчики OpenBSD сыграли значительную роль в развитии набора безопасных сетевых утилит OpenSSH (OpenBSD Secure Shell), которые используются сейчас и в других операционных системах, в частности, в Windows 10. Поскольку в OpenBSD особое внимание уделяется сетевой безопасности, и, кроме того, система располагает собственной реализацией стека протоколов TCP/IP, эта ОС нередко используется в маршрутизаторах и точках доступа, под управлением OpenBSD работают многие сетевые шлюзы, брандмауэры и системы фильтрации трафика. На основе OpenBSD строятся веб-серверы, почтовые, FTP-серверы и DNS-серверы.
Тео де Раадт ратует за распространение открытых драйверов, и часто критикует разработчиков Linux за их терпимость к несвободному ПО. Усилия де Раадта привели к успеху: многие тайваньские производители беспроводных устройств предоставляют разработчикам OpenBSD документацию и исходники прошивок, что позволяет им создавать и распространять свободные от лицензионных ограничений драйверы для таких девайсов.
Точное количество пользователей OpenBSD доподлинно неизвестно, поскольку разработчики не публикуют и не собирают статистику по количеству установок. Вместе с тем различные компоненты OpenBSD активно применяются в других продуктах и на их основе создаются сторонние разработки. Так, исходный код межсетевого экрана pf из OpenBSD использовался при создании брандмауэра для macOS, он встречается и в других Unix-подобных системах, включая FreeBSD. Брандмауэр для Windows Core Force также основан на межсетевом экране pf. Стандартная библиотека Android Bionic базируется на коде OpenBSD, кроме того, некоторые службы Microsoft Windows из пакета взаимодействия Interix, предназначенного для совместимости с Unix, также используют большую часть кодовой базы этой операционной системы.
Что бы ни говорили критики, OpenBSD по праву считается одной из самых безопасных ОС, поддерживающих значительное количество различных аппаратных платформ. В этом проекте принята политика постоянного аудита исходного кода на наличие ошибок: эту работу один из создателей платформы, Марк Эспи, описал как «бесконечный процесс, не направленный на поиск конкретной ошибки». Указанная практика считается важным элементом системы безопасности OpenBSD, и является одной из причин высокой надежности системы. OpenBSD непрерывно развивается: 52-й выпуск ОС состоялся 21 апреля 2022 года, актуальная версия OpenBSD имеет порядковый номер 7.1. У этой платформы имеется целая армия верных поклонников, а значит, ее совершенно точно ждет долгое будущее.
Подписывайтесь на наш блог, чтобы не пропустить новые интересные посты!
Lunux 6.0. Обновление ядра
2 Октября 2022 года, пользователи Linux могли лицезреть новость об обновлении ядра Linux, правда ли это обновление крупное и много ли они успели поменять?
Известно что, Линус Торвальдс представил релиз ядра Linux. Причем он отметил, что изменения подсчета версии не несет особо крупные изменения. Это не мешает тому, что новый релиз является одним из самых больших релизов. Обновление привносит новые функции, улучшение безопасности.
Вот список изменений которые нам представили в новом релизе:
• Графический драйвер AMD RDNA 3 GPU.
• Новый аудио-драйвер для платформ AMD Raphae.
• Улучшение поддержки аудио AMD Jadeite.
• Поддержка Sensor Fusion Hub на новых ноутбуках AMD Ryzen.
• Поддержка Thunderbolt на Intel Raptor Lake.
• Исправлены проблемы работы клавиатуры на ноутбуках серии AMD Ryzen 6000.
• Поддержка PCI шины для архитектур OpenRISC и LoongArch.
• Начальная поддержка ноутбука Lenovo ThinkPad X13s (работает на Qualcomm Snapdragon 8cx Gen3).
• Исправлены проблемы выхода из режима ожидания некоторых ноутбуков TUXEDO Computers и Clevo.
• Поддержка серверных чипов Intel Xeon 4-го поколения «Sapphire Rapids» и 13-го поколения «Raptor Lake».
• Поддержка планшета XP-PEN Deco L.Ресурс Phoronix провел несколько бенчмарков ядра Linux 6.0 на процессорах AMD, которые выявили значительное повышение производительности процессоров Intel Xenon «Ice Lake», AMD Ryzen «Threadripper» и AMD EPYC.
• Повышение производительности во многом связано с изменениями в планировщике ядра.
• И другие изменения.
История зарождения Linux — как это было?
25 августа 1991 года, ровно 31 год назад, в USENET-конференции comp.os.minix появилось сообщение от молодого человека по имени Линус Бенедикт Торвальдс о том, что он создал бесплатную операционную систему для 386 и 486-совместимых ПК, с отдельным примечанием: в качестве хобби, новинка не претендует на лавры серьезного профессионального проекта вроде GNU. Так началась история Linux. Официальные источники гласят, что к творчеству Торвальдса сподвигли лицензионные и функциональные ограничения ОС MINIX, в которой он тогда работал. Кое-где даже упоминается, что он вдохновлялся книгой создателя MINIX профессора Эндрю Таненбаума «Операционные системы: разработка и реализация» (Operating Systems: Design and Implementation). Однако изучая историю Linux, я случайно наткнулся на воспоминания однокурсника Торвальдса — Ларса Вирзениуса, вовлеченного в разработку Linux с самых первых дней существования этого проекта. Ларс рассказывал эту историю из «первых рук», причем излагал ее немного не так, как она описана в «Википедии».
То самое историческое сообщение в группе comp.os.minix
В 1988 году Ларс Вирзениус окончил среднюю школу и поступил в Хельсинкский университет на факультет информатики. В сентябре его пригласили в клуб для шведоговорящих студентов «Спектрум», где состояли ребята, интересующиеся информатикой, физикой, химией и другими точными науками. Там он и познакомился с Линусом Торвальдсом. По воспоминаниям Вирзениуса, в университете было несколько компьютерных классов, в которых стояли «маки» и персоналки с MS-DOS, а также терминалы, подключенные к мейнфрейму VAX/VMS. Среди этого великолепия обнаружился один-единственный старенький компьютер от DEC с операционной системой Ultrix — одной из версий BSD Unix. MS-DOS не нравилась Ларсу своими ограниченными возможностями, графический интерфейс Mac OS показался ему неудобным, и он оккупировал машину с Ultrix. Однажды, работая в терминале, Вирзениус опечатался в команде «rm», набрав вместо нее «rn» — и совершенно случайно открыл для себя мир конференций USENET, где общались тысячи IT-специалистов и компьютерных энтузиастов с разных уголков нашей планеты. Своей необычной находкой Ларс поспешил поделиться с Линусом Торвальдсом.
Один из циклов в университете Хельсинки был посвящен программированию на С в Unix. К тому моменту Вирзениус неплохо знал С, Торвальдс тоже умел программировать на этом языке, при этом оба были постоянными участниками конференции comp.lang.c, сообщения которой они читали с университетского компьютера DEC. Поэтому содержание лекций казалось им не слишком интересным — значительная часть теории была им уже знакома. Ларс и Линус сдавали лабораторные работы экстерном, соревнуясь между собой, кто уложит очередную программу из учебного задания в меньшее количество строк кода. Гораздо большее удовольствие друзьям доставляли эксперименты с университетской машиной: Ларс разработал аналог демона Cron, чтобы выгружать почту в USENET-конференции по расписанию, а Линус написал код для поддержки Postscript-принтера в Ultrix.
На рождество 1990 года Торвальдс решил сделать себе подарок: он взял льготный студенческий кредит и 5 января купил 386-й компьютер. На этот компьютер Торвальдс действительно установил MINIX, но основной проблемой, которая злила и бесила его, было отсутствие в этой системе нормальной поддержки многозадачности. Больше всего Торвальдс хотел организовать модемный доступ со своей личной «трёшки» на университетский компьютер DEC, чтобы комфортно читать из дома любимые конференции USENET, но ни одна из существовавших тогда терминальных программ его не устраивала — в каждой чего-нибудь, да не хватало. Перепробовав кучу вариантов, Торвальдс начал писать собственный терминал. Причем он пошел нестандартным путем: вместо того чтобы использовать довольно ограниченные возможности MINIX, он решил, что его программа будет работать с «железом» напрямую, не опираясь на ресурсы ОС. Первая версия поддерживала два потока: один считывал нажатия клавиш и передавал их в последовательный порт, второй слушал последовательный порт и транслировал данные в терминал. После того, как Торвальдс добавил в свою программу поддержку набора команд VT-100, используемых в терминалах DEC, у него получилась софтина, вполне пригодная для обмена сообщениями в конференциях USENET из дома.
Однако настоящий перфекционист редко останавливается на достигнутом — Торвальдс принялся совершенствовать терминал, добавляя туда поддержку команд sh и функций многозадачности, начав с переключения между потоками. Линус написал подсистему вывода сообщений USENET на принтер и модуль управления памятью, и уже не мог остановиться. Терминал стремительно разрастался, превращаясь в ядро новой ОС: вскоре он обзавелся собственным драйвером жесткого диска и драйверами файловой системы, — из-за того, что Линусу нужно было как-то сохранять на диск скачанные из USENET через терминал файлы. Этими драйверами и модулями Торвальдс понемногу заменял стандартные компоненты операционной системы. Постепенно, день ото дня, MINIX на его компьютере мутировал в Linux. Правда, изначально проект назывался по-другому: Торвальдс придумал смешное словечко «Freax» — сборную солянку из слов «Free» «Freak» и «Unix», и попросил администратора сайта ftp.funet.fi Ари Леммке выложить на этот портал исходники его терминала. Но Леммке решил назвать папку на сервере по имени автора софта, добавив к нему окончание от «Unix» — получилось «Linux». Название прижилось, хотя строку «Freax» все еще можно найти в makefile ранних версий ядра Linux.
Ларс Вирзениус вспоминает, что первую версию Linux невозможно было установить в обычном понимании этого слова. На компьютере Торвальдса Linux зародился сам собой путем добавления и замены различных модулей MINIX, а первая попытка поставить систему на компьютер Вирзениуса не увенчалась успехом. Торвальдс возился несколько часов, при этом установка потребовала ручного редактирования секторов диска в шестнадцатеричном формате. В конце концов Линус справился с этой задачей, и в итоге сумел собрать на дискете дистрибутив, пригодный для инсталляции на других ПК почти без применения черной магии.
Зимой 1991 года Торвальдс добавил в Linux поддержку виртуальной памяти, что значительно повысило практическую пользу ОС. Тогда же вместе с Вирзениусом он создал собственную группу в USENET — alt.os.linux, которая стала местом притяжения первых пользователей и евангелистов новой системы. В 1992 году был запущен проект документирования Linux — он начался с файла README, который Ларс написал лично, чтобы помочь людям самостоятельно скомпилировать ядро. Регулярно возникающие технические сбои только подстегивали процесс разработки. Так, по словам Вирзениуса, проблемы в сетевом стеке Linux приводили к генерации паразитного трафика, из-за чего Linux запретили использовать в университетской сети. Это заставило Торвальдса вплотную заняться решением данного вопроса: как следствие, реализация стека протоколов TCP/IP была переписана практически полностью в очень сжатые сроки. У какой-нибудь корпорации вроде Microsoft на это ушли бы месяцы.
В 1997 году Линус Торвальдс покинул университет, был принят на работу в Transmeta и переехал в США, после чего Ларс Вирзениус потерял его из вида. Но его рассказ немного проясняет историю появления Linux, добавляя в нее несколько новых интересных деталей. Получается, Linux появился на свет не из-за амбиций разработчика, желавшего сделать «MINIX лучше самого MINIX», а как следствие скромного желания читать почту в любимых конференциях, не покидая пределы родного дома. Как говорится, великие вещи порой рождаются случайным образом, но для их появления на свет все равно нужны талант и упорство.
Подписывайтесь на наш блог, чтобы не пропустить новые интересные посты!