Я пробовал переходить на Linux несколько раз на протяжении последних трех-четырех лет, и каждый раз откатывался опять на Windows, из-за критической массы непривычностей, неудобств, неумения быстро решить повседневные и рабочие задачи, а по началу и вовсе – из-за невозможности установить драйвера всех устройств. Но на этот раз, думаю, уже перешел окончательно – пошел четвертый месяц, полёт нормальный. Сейчас Ubuntu, а именно на этой сборке Linux я остановился, стала довольно зрелой, как в плане поддержки оборудования, так и в плане прикладного программного обеспечения, а также документированности, советов и рекомендаций. Плюс я отработал решения, которые помогут облегчить переход с Windows на Linux, о чём, собственно, и написана эта статья.
Прежде всего расскажу, что побудило к переходу меня.
1. Причины перехода
1.1 Цена
Наиболее очевидная причина – бесплатность. Хотя сейчас я бы уже не поставил её для себя на первом месте. В молодости нежелание платить за дигитальный продукт в целом, и программное обеспечение в частности было делом принципиальным. Тратил кучу времени на оттачивание мастерства как правильно украсть софт.
Но в последнее время расхотелось пользоваться пиратским софтом: как из этических соображений, так и для надежности – все больше ценной и конфиденциальной информации хранится на компьютере. В пиратском софте могут быть вирусы и трояны, в том числе не определяемые антивирусом. Кроме того, обновления могут не работать или ломать систему. Нужно признать, что этот момент не очень актуален для тех, кто работает в организации, где все равно куплен Windows, а домашний компьютер используется в основном для игр, просмотра видео и веб-страниц. В этом случае, на домашнем компьютере важная информация не хранится и пиратский софт не представляет большой опасности, во всяком случае до тех пор, пока у нас не станут гонять за пиратство домашних пользователей. Но даже в случае такого домашнего использования, если хакеры взломают ваш компьютер, они могут использовать его для взлома других компьютеров, выполнения DDoS-атак, отправки спама или просто майнинга криптовалюты за ваш счет. Кроме того, может понадобиться поработать удаленно из дома, и тогда корпоративные секреты могут быть украдены.
Однако для фрилансеров и малого бизнеса этот момент более актуален. Даже при наличии разноплановой системы резервирования информации, с отключаемыми носителями, на компьютере может храниться конфиденциальная информация, утечка которой нежелательна. Также если приходится ездить с ноутбуком за границу – теоретически могут проверить лицензионную чистоту софта.
Можно, конечно, и самому купить лицензию Windows. И я даже покупал дважды, вместе с ноутбуком и планшетом. Однако, при каждом апгрейде придется покупать заново. При продаже старого железа вряд ли кто-то захочет доплачивать за лицензионную операционку. Также если компьютер поломался или утерян – теряется и лицензия. Так что следует сравнивать время на освоение Линуска не с ценой одной лицензии, а со всеми, которые придется покупать до конца жизни. В знание Linux инвестируешь один раз и потом оно с тобой навсегда.
Кроме того, бесплатного софта под Windows значительно меньше, поэтому нужно учитывать еще и стоимость прикладного ПО.
1.2 Быстродействие.
Linux работает заметно шустрее, занимает в разы меньше места на диске и в оперативной памяти, особенно если настроить под себя, отключить или удалить ненужное. Windows тоже можно настроить, но все равно он уступает, да и настраивается сложнее (об этом ниже). В принципе, такой расклад с быстродействием не удивителен, учитывая, что Linux пишут высококлассные программисты-энтузиасты для себя и для души. В Microsoft тоже есть, наверняка, сильные программисты, но много и серых середнячков, да и в любом случае – мотивация работать за зарплату всегда ниже, чем энтузиазм творца, мастера своего дела. Тем более, что мастера своего дела без достойной оплаты труда не останутся.
1.3 Настраиваемость и открытость.
У Linux практически неограниченная возможность настроить под себя среду, автоматизировать повторяющиеся задачи, экспортировать настройки. В Windows также можно настраивать, автоматизировать и экспортировать, однако очень быстро упираешься в ограничения, преодолевать которые становится нецелесообразно. В Linux наоборот – для большого количества задач и ситуаций люди расписали подробные советы, так что даже официальную документацию читать не приходится. А уж если готов почитать документацию и допилить код, то ограничений нет в принципе.
Также больше настроек, горячих клавиш и утилит предусмотрено из коробки. Сразу после установки Ubuntu ощущается более удобным и мощным.
Также открытые исходники дают больше гарантии, что в софте не будет скрытых закладок, контролирующих действия пользователя. Ну или можно будет эти закладки убрать, перейдя на другую сборку Linux, или собрав под себя самостоятельно, когда/если этот вопрос станет по-настоящему актуальным.
1.4 Повышение своей квалификации айтишника.
Опыт работы с Linux может пригодиться, если встретится персональный компьютер или сервер с этой операционной системой и нужно будет там что-то сделать. Linux чаще встречается и в разных экзотических устройствах, типа коммуникационного сетевого оборудования. Недавно мне пришлось перепрошивать смартфон Xiaomi Redmi 3 и я с радостью обнаружил, что прошивка через Linux значительно проще и быстрее.
Также это весомый навык для резюме. Кто знает, когда может пригодиться…
1.5 Устойчивость, защищенность.
Вирусов точно больше под Windows. Особенно актуально это при использовании пиратского софта, но я про это уже писал. А вот по поводу устойчивости тут спорный вопрос. Бытует мнение, что Windows часто ломается, зависает, перегружается. Действительно, вплоть до версии XP SP3 такое случалось частенько, однако начиная с Windows 7 таких проблем я уже не наблюдаю. Хотя может это и связано с тем, что теперь эксперименты с непроверенным софтом всегда делаю под виртуальными машинами. Да и образ системного раздела иногда восстанавливаю или полностью перестанавливаю операционку, дабы почистить систему. Насколько засоряется Ubuntu в процессе эксплуатации, пока не могу сказать, так как эксплуатирую еще не долго. Но судя по отзывам, должен засоряться меньше. В общем, для меня этот пункт был неважным, но для кого-то может оказаться важным, поэтому я его тут упоминаю.
1.6 Причина эмоциональная и весьма субъективная.
Я получаю удовольствие, ощущая себя хотя бы косвенно причастным к славному сообществу open-source. Также кайфую, находя решения для програмерских задач – как будто в квест играю. Понимаю, что не окончательно еще объюзерился за время работы в качестве руководителя проектов.
1.7 Недостатки Linux.
Справедливости ради должен отметить, что некоторые моменты по-прежнему доставляют мне неудобства при работе в Ubuntu, надеюсь временно. Teamviewer клиент под Linux имеет весьма ограниченный функционал. У RDP хуже качество картинки. Драйвер принтера Canon LBP 6020B (самодельный, официального нет) поломал систему после очередного обновления. PC Adapter USB Siemens (устройство для связи с ПЛК) не работает в виртуальных машинах Windows XP (требует USB 3.0).
2. Советы для перехода
2.1 Кросс-платформенные приложения.
Имеет смысл начать с подготовки, еще работая под Windows. Следует по одной заменять прикладные программы на кросс-платформенные аналоги. Так для меня большими якорями, которые возвращали меня назад к Windows, были такие программы: почтовый клиент TheBat, Ms Office, файловый менеджер Far, менеджер фотографий ACDSee, графический редактор Photoshop, программа для синхронизации файлов AllwaySync, видео-плеер LightAlloy. Для всех этих программ есть хорошие бесплатные кросс-платформенные аналоги, которые иногда даже лучше оригинала:
- TheBat – Thunderbird
- Ms Office – LibreOffice
- Far – Double Commander (лучше)
- ACDSee – Digikam
- Photoshop – Gimp
- AllwaySync – Unison (лучше).
- LightAlloy – VLC.
Аналоги для TheBat (Thunderbird) и Ms Office (LibreOffice) я освоил еще до последней попытки перехода. А если бы я освоил все эти аналоги заранее, то переход получился бы еще более гладким. А так пришлось осваивать уже по ходу. Хорошо что было свободное время, так что количество неудобство не набрало критическую массу.
Отдельно хочу отметить Double Commander. Обычно рекомендуют Midnight Commander, Konqueror, Dolphin, Krusader, во всяком случае на англоязычные запросы типа “Linux file manager”. И мне пришлось потратить кучку времени, чтобы с разочарованием понять, что они все мне не подходят. Нашел еще WCM Commander, который вроде как должен быть максимально похожим на привычный мне Far. Пришлось пошаманить с ним, прежде чем смог установить, однако и он не удовлетворил. Опять пошатнулась решимость остаться под Linux. Уж слишком важным инструментом для меня является удобный файловый менеджер. И тут совершенно случайно наткнулся на Double Commander – пробовал найти Total Commander в Ubuntu Software, а там DC был предложен как альтернатива Тоталу. Ну, думаю, попробую его. Total хоть и менее удобен Far`а был (немного работал с ним еще под виндой), но все же получше тех Крусадёров. Так вот, Double Commander оказался мощнее и удобнее Far`а. Я бы никогда не поверил, что такое в принципе возможно, такова была моя привязанность к Far’у. Конечно, кое-какие привычки пришлось переучивать, но полезными привычками они не были, просто условности. Опять таки, если начать переучиваться заранее, не наслаивая с другими новшествами, то процесс пройдет максимально безболезненно.
2.2 Выбор версии.
Как для операционной системы, так и для некоторых приложений доступен выбор: использовать самую новую или предыдущую версию. Причем новая версия может уже давно выйти из стадии беты, но все равно разработчики Ubuntu могут не рекомендовать её для повышения совместимости и стабильности. Поэтому этот выбор неоднозначный, и стоит рассматривать отдельно для каждого случая.
Номера версий использую на момент написания. Они, конечно, быстро станут неактуальными, но общий принцип сохранится.
На момент установки Ubuntu была доступна двух версий: 16.04 LTS и 17.10. Аббревиатура LTS расшифровывается Long Term Support и значит, что обновления будут доступны дольше (5 лет против 9 месяцев у версии 17.10), без необходимости переустанавливать систему. Также в LTS используются более старые версии прикладных и служебных программ, для повышения совместимости и надежности. Я все равно планировал переустановить систему после нескольких месяцев тестовой работы, дабы вычистить мусор и неумелые экспериментальные настройки. А к тому времени должна была уже появиться версия 18.04 LTS, поэтому я сначала решил поставить версию 17.10, но сразу натолкнулся на неприемлемое для меня ограничение – TeamViewer работает там только в режиме клиента, из-за того что пока не поддерживает новый display server — Wayland, подробнее тут. Для меня TeamViewer был ключевой программой, без возможности заменить его на VNC или xRDP, поэтому я откатился до версии 16.04 LTS. Можно, конечно, было заменить display server в 17.10 на более старый Xorg, который полностью поддерживается тимвьюером, однако на начальном этапе я не хотел разбираться с такими тонкостями, тем более что есть свои преимущества начинать с LTS версии – легче переход, меньше проблем и конфликтов. Кстати, в версии 18.04 LTS решили оставить пока Xorg, именно потому, что многие приложения пока не готовы к Wayland.
Поэтому я рекомендую все-таки начинать освоение Ubuntu с LTS версии, а вот отдельные приложения имеет смысл поставить более новых версий, чем те, что размещены в репозитории, из которого программа Ubuntu Software устанавливает приложения. Так я самостоятельно (с помощью менеджера пакетов apt-get, см. подробнее тут) установил последние стабильные версии LibreOffice, VirtualBox, и DoubleCommander. Однако в этом случае могут возникнуть какие-либо конфликты с другими компонентами системы. Также эти конфликты могут быть обнаружены не сразу, или возникнуть после очередного обновления. Поэтому я рекомендую сначала сделать все настройки и установить все приложения, которые решили ставить из Ubuntu Software, затем сделать образ системного раздела и уже потом экспериментировать с более новыми версиями. Так в случае обнаружения конфликтов всегда можно будет восстановить образ с минимальными потерями времени на повторную настройку. C другими приложениями, типа Gimp, которые я использую реже, решил не заморачиваться и поставил непоследние версии через Ubuntu Software.
Менеджер цифровых фотографий Digikam (пользуюсь им редко, но интенсивно), я установил через образ приложения appimage, из-за большой разницы версий. На момент написания этой статьи, в репозитории Ubuntu Software была версия 5.5.0, а через appimage можно было установить версию 5.8.0. Преимущество установки приложений через Ubuntu Software и менеджер пакетов apt-get в автоматическом или автоматизированном обновлении. При установке приложений через deb-пакеты и образы appimage обновлять чаще всего нужно вручную. Небольшое неудобство: appimage образ приложения DigiKam при каждом запуске распаковывает во временную директорию почти один гигабайт библиотек и зависимостей. На SSD диске приложение запускается за 4-5 секунд, но на жестком диске будет в несколько раз больше.
2.3 Разделы жесткого диска.
Перед установкой Linux следует сделать образ раздела с Windows, чтобы не потерять важную информацию. Также рекомендую проверить актуальность резервной копии важных файлов (резервирование у всех настроено, так ведь? :). Если не внимательно читать подсказки установщика, то можно очистить все разделы жесткого диска.
Советую не удалять первое время Windows – может понадобиться выполнить какую-то срочную задачу и не будет времени разбираться, как это сделать в Linux. Поэтому нужно будет изменить размер существующих разделов, освободив гигабайт 20 для разделов Linux. Больше 50 Гб вряд ли понадобится – софт под Linux экономный.
Во время установки нужно будет вручную создать раздел для файла подкачки (я сделал 1 Гб, при 32 Гб ОЗУ), а также раздел для системного раздела root – рекомендуемая файловая система EXT4, родная для Linux. Файловая система EXT4 позволяет делать быстрый поиск файлов, устойчива к фрагментации и наверняка имеет множество других преимуществ, не вникал.
Разделы с данными рекомендую на первое время оставить под файловой системой NTFS, чтобы можно было их использовать под Windows, если вдруг придется временно вернуться. NTFS разделы в Linux можно подключить разными способами:
- без учета прав доступа – проще всего и под Windows сохранятся настройки доступов, но не получится ограничивать доступ на NTFS разделах в Linux;
- перебить права Windows – тогда при возврате в Windows придется опять перебить права (take ownership);
- настроить совместные права – хлопотно.
Я выбрал средний вариант, так как не планирую часто возвращаться к Windows. Пока понадобилось только один раз, когда вдруг «заглючил» принтер под Linux и некогда было разбираться.
2.4 Скрипты, экспорт настроек.
Разные настроечные bat, ini и reg файлы я храню и для Windows. Но для Linux придумал/обнаружил пару новшеств.
Большинство приложений хранят свои настройки в домашней директории пользователя ~/.config . Так что для экспорта настроек достаточно просто скопировать или заархивировать эту директорию.
Также я завел текстовый файл с разными командами, разделенными по темам, для настроек и повседневной работы. Получилась эдакая шпаргалка-псевдоскрипт. Можно пройтись по этому файлу после установки системы и быстро восстановить все свои настройки. Можно было бы конечно сделать и полноценный скрипт, выполнив который после установки системы, сразу применялись бы все настройки. Но это достаточно трудоемко, и не часто нужно. А для других и не очень полезно – им все равно придется многое допиливать под себя. Плюс во многих случаях полезно наблюдать за реакцией на отдельные команды. Сделать полностью универсальный настроечный скрипт, который будет обрабатывать все реакции системы, практически не реально.
Также в повседневной работе можно искать в этом файле нужные места по ключевым словам. Это проще, чем искать среди разных файлов, благодаря тому, что большинство команд очень лаконичные.
У меня этот файл хранится в рабочей папке (которая резервируется в разные места), а на рабочий стол я сделал симлинку (ярлык). В этой записи я периодически обновляю содержимое этого файла-шпаргалки. Отнюдь не претендую на то, что он структурирован или задокументирован идеально. Сделал не заморачиваясь, и вполне удовлетворен.
Уже после публикации нашел похожую стать на хабре.
Ваши комментарии и предложения приветствуются.