HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>20 апр 2022</li>
2 <ul><li>20 апр 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Советы бывалого senior-systems-инженера, как поменять компьютер и операционную систему быстро, дёшево и не больно.</p>
4 </ul><p>Советы бывалого senior-systems-инженера, как поменять компьютер и операционную систему быстро, дёшево и не больно.</p>
5 <p>Кадр: фильм "Миссия: невыполнима"</p>
5 <p>Кадр: фильм "Миссия: невыполнима"</p>
6 <p>Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес. Сайт:<a>darovska.com</a>.</p>
6 <p>Журналист, коммерческий автор и редактор. Пишет про IT, цифровой маркетинг и бизнес. Сайт:<a>darovska.com</a>.</p>
7 <p>Senior Systems Engineer в EPAM Systems. Разрабатывает инфраструктурные решения и системы сборки/деплоя софта, внедряет DevOps-практики. Проводит<a>мероприятия</a>в рамках сообщества<a>Sysadminka</a>. Любит горы, сноуборд, путешествия, фотографировать людей и организовывать IT-мероприятия.</p>
7 <p>Senior Systems Engineer в EPAM Systems. Разрабатывает инфраструктурные решения и системы сборки/деплоя софта, внедряет DevOps-практики. Проводит<a>мероприятия</a>в рамках сообщества<a>Sysadminka</a>. Любит горы, сноуборд, путешествия, фотографировать людей и организовывать IT-мероприятия.</p>
8 <p>Я системный инженер, занимаюсь инфраструктурой. Рабочий день у меня начинается часов в одиннадцать утра, так как я нахожусь на Урале, а работаю уже больше четырёх лет удалённо на Москву. Для работы мне достаточно ноутбука и интернета. Основные инструменты - мессенджер (сейчас это<a>MS Teams</a>), браузер, терминал, IDE типа<a>IntelliJ</a>или редактор вроде<a>Sublime Text</a>.</p>
8 <p>Я системный инженер, занимаюсь инфраструктурой. Рабочий день у меня начинается часов в одиннадцать утра, так как я нахожусь на Урале, а работаю уже больше четырёх лет удалённо на Москву. Для работы мне достаточно ноутбука и интернета. Основные инструменты - мессенджер (сейчас это<a>MS Teams</a>), браузер, терминал, IDE типа<a>IntelliJ</a>или редактор вроде<a>Sublime Text</a>.</p>
9 <p>Консоль позволяет использовать много разных утилит, управлять виртуалками, контейнерами (например, Docker) и инфраструктурой. Кстати, многие утилиты я предпочитаю использовать через виртуальные машины, а ими, в свою очередь, управляю локально, на ноутбуке, через Vagrant.<a>Vagrant</a> - это ПО от компании HashiCorp, которое позволяет менеджерить виртуальные машины и контейнеры.</p>
9 <p>Консоль позволяет использовать много разных утилит, управлять виртуалками, контейнерами (например, Docker) и инфраструктурой. Кстати, многие утилиты я предпочитаю использовать через виртуальные машины, а ими, в свою очередь, управляю локально, на ноутбуке, через Vagrant.<a>Vagrant</a> - это ПО от компании HashiCorp, которое позволяет менеджерить виртуальные машины и контейнеры.</p>
10 <p>Сейчас я работаю на макбуке с macOS на борту - перешёл на него около двух с половиной лет назад. А до этого примерно в равной степени использовал Windows и Linux. Такой кочевой образ жизни и использование разных ноутбуков, настольных компьютеров или операционок довольно часты для системных инженеров.</p>
10 <p>Сейчас я работаю на макбуке с macOS на борту - перешёл на него около двух с половиной лет назад. А до этого примерно в равной степени использовал Windows и Linux. Такой кочевой образ жизни и использование разных ноутбуков, настольных компьютеров или операционок довольно часты для системных инженеров.</p>
11 <p>Перейти с Win на macOS помогла полезная яблочная утилита Migration Assistant, но сначала я расскажу про перенос данных, софта и настроек с компьютера с Windows на компьютер с macOS вручную. Прежде чем использовать софт, помогающий мигрировать, полезно разобраться в механике миграции.</p>
11 <p>Перейти с Win на macOS помогла полезная яблочная утилита Migration Assistant, но сначала я расскажу про перенос данных, софта и настроек с компьютера с Windows на компьютер с macOS вручную. Прежде чем использовать софт, помогающий мигрировать, полезно разобраться в механике миграции.</p>
12 <p>Есть несколько больших сущностей, которые вам нужно перенести, - софт, ключи и пароли, данные (фото, музыка, документы и так далее, - то, что в экосистеме Windows принято хранить на диске D), настройки ОС, - а если вы разработчик или системный инженер, то ещё и код ваших проектов.</p>
12 <p>Есть несколько больших сущностей, которые вам нужно перенести, - софт, ключи и пароли, данные (фото, музыка, документы и так далее, - то, что в экосистеме Windows принято хранить на диске D), настройки ОС, - а если вы разработчик или системный инженер, то ещё и код ваших проектов.</p>
13 <p>Программы придётся переустанавливать вручную. У меня их было не так много: редактор Sublime Text, мессенджер MS Teams (сейчас), Telegram и Slack (раньше), браузер, консольный терминал, редактор кода или IDE и <a>Lens</a> - софт для работы с Kubernetes-кластерами.</p>
13 <p>Программы придётся переустанавливать вручную. У меня их было не так много: редактор Sublime Text, мессенджер MS Teams (сейчас), Telegram и Slack (раньше), браузер, консольный терминал, редактор кода или IDE и <a>Lens</a> - софт для работы с Kubernetes-кластерами.</p>
14 <p>Правда, Lens я начал пользоваться, уже когда перешёл на macOS. Но она отлично работает в любой ОС: просто устанавливаешь её на новом рабочем месте, авторизуешься и копируешь настройки.</p>
14 <p>Правда, Lens я начал пользоваться, уже когда перешёл на macOS. Но она отлично работает в любой ОС: просто устанавливаешь её на новом рабочем месте, авторизуешься и копируешь настройки.</p>
15 <p>Это были графические приложения, а ещё у меня есть консольные утилиты:</p>
15 <p>Это были графические приложения, а ещё у меня есть консольные утилиты:</p>
16 <ul><li><a>Git</a>;</li>
16 <ul><li><a>Git</a>;</li>
17 <li>разная служебная мелочь типа<a>mtr</a>,<a>traceroute</a>,<a>SSH</a>,<a>telnet</a>, доступная в любой ОС;</li>
17 <li>разная служебная мелочь типа<a>mtr</a>,<a>traceroute</a>,<a>SSH</a>,<a>telnet</a>, доступная в любой ОС;</li>
18 <li>утилиты для управления инфраструктурой:<a>Ansible</a>,<a>Terraform</a>,<a>Terragrunt</a>,<a>kubectl</a>;</li>
18 <li>утилиты для управления инфраструктурой:<a>Ansible</a>,<a>Terraform</a>,<a>Terragrunt</a>,<a>kubectl</a>;</li>
19 <li>консольная утилита для управления кластерами Openshift,<a>AWC CLI</a>;</li>
19 <li>консольная утилита для управления кластерами Openshift,<a>AWC CLI</a>;</li>
20 <li><a>Vagrant</a>.</li>
20 <li><a>Vagrant</a>.</li>
21 </ul><p>До недавнего времени в Windows консольными утилитами было пользоваться не очень удобно, поэтому я дополнительно устанавливал<a>Cygwin</a> - консольный интерфейс для Windows.</p>
21 </ul><p>До недавнего времени в Windows консольными утилитами было пользоваться не очень удобно, поэтому я дополнительно устанавливал<a>Cygwin</a> - консольный интерфейс для Windows.</p>
22 <p>Сейчас в Windows есть полноценный<a>PowerShell</a>, он упрощает работу с консолью, но это всё равно далеко не *nix-терминал с *nix-утилитами. Большинство серверов и серверных систем в мире работают на UNIX-подобных ОС (например, Linux). Я вообще работаю только с серверами на Linux, и macOS, будучи UNIX-подобной операционкой, к ним гораздо ближе.</p>
22 <p>Сейчас в Windows есть полноценный<a>PowerShell</a>, он упрощает работу с консолью, но это всё равно далеко не *nix-терминал с *nix-утилитами. Большинство серверов и серверных систем в мире работают на UNIX-подобных ОС (например, Linux). Я вообще работаю только с серверами на Linux, и macOS, будучи UNIX-подобной операционкой, к ним гораздо ближе.</p>
23 <p>Пароли я переносил с помощью менеджера паролей - он сильно упрощает жизнь. Раньше я использовал диспетчер паролей Google Chrome, а теперь пользуюсь<a>Last Pass</a>. Его данные не нужно переносить - достаточно просто установить приложение в новой системе и залогиниться в нём. У обоих решений есть версии под все популярные операционки, в том числе под Windows и macOS.</p>
23 <p>Пароли я переносил с помощью менеджера паролей - он сильно упрощает жизнь. Раньше я использовал диспетчер паролей Google Chrome, а теперь пользуюсь<a>Last Pass</a>. Его данные не нужно переносить - достаточно просто установить приложение в новой системе и залогиниться в нём. У обоих решений есть версии под все популярные операционки, в том числе под Windows и macOS.</p>
24 <p>Чаще всего пользователи переезжают с компьютера на компьютер и используют один и тот же ключ, который тоже переезжает с машины на машину. В итоге нередки случаи, когда один и тот же SSH-ключ умудряются использовать и для личных, и для рабочих проектов. Это плохой сценарий, потому что если ваш ключ утечёт, то сразу несколько проектов окажется под угрозой.</p>
24 <p>Чаще всего пользователи переезжают с компьютера на компьютер и используют один и тот же ключ, который тоже переезжает с машины на машину. В итоге нередки случаи, когда один и тот же SSH-ключ умудряются использовать и для личных, и для рабочих проектов. Это плохой сценарий, потому что если ваш ключ утечёт, то сразу несколько проектов окажется под угрозой.</p>
25 <p>Поэтому хороший путь с точки зрения долгосрочной безопасности - поднимать виртуалку под рабочие проекты, создавать там отдельные ключи, настраивать системные утилиты и так далее. Это очень просто: в личных проектах вы будете использовать основной ключ прямо с компьютера, а на рабочий проект закидывать ключ из виртуалки, которую создали специально под него. Да, поначалу это покажется более сложным, но вы быстро привыкнете.</p>
25 <p>Поэтому хороший путь с точки зрения долгосрочной безопасности - поднимать виртуалку под рабочие проекты, создавать там отдельные ключи, настраивать системные утилиты и так далее. Это очень просто: в личных проектах вы будете использовать основной ключ прямо с компьютера, а на рабочий проект закидывать ключ из виртуалки, которую создали специально под него. Да, поначалу это покажется более сложным, но вы быстро привыкнете.</p>
26 <p>Виртуалки очень упрощают процесс переезда с одной ОС на другую. Если мы перемещаем виртуальную машину со старого ноута на Windows к себе на Mac, то мы автоматически перемещаем все настройки и данные внутри неё. Единственное, что нужно, - установить софт или утилиты для управления виртуальными машинами и скопировать данные самих виртуалок.</p>
26 <p>Виртуалки очень упрощают процесс переезда с одной ОС на другую. Если мы перемещаем виртуальную машину со старого ноута на Windows к себе на Mac, то мы автоматически перемещаем все настройки и данные внутри неё. Единственное, что нужно, - установить софт или утилиты для управления виртуальными машинами и скопировать данные самих виртуалок.</p>
27 <p>У Mac есть прикольная фича - Migration Assistant. Он умеет переносить различные файлы с вашего старого ноута, в том числе виртуальные машины, - и даже с Windows.<strong></strong></p>
27 <p>У Mac есть прикольная фича - Migration Assistant. Он умеет переносить различные файлы с вашего старого ноута, в том числе виртуальные машины, - и даже с Windows.<strong></strong></p>
28 <p>Hint: всё то, что я написал про виртуальные машины, справедливо, если у вас Mac с процессором Intel. Если у вас Mac с M1, проще сказать: "Забудьте про эти виртуальные машины, переносите их содержимое вручную" :) Но можно использовать Docker как замену виртуалкам - а Docker-образы под M1 существуют.</p>
28 <p>Hint: всё то, что я написал про виртуальные машины, справедливо, если у вас Mac с процессором Intel. Если у вас Mac с M1, проще сказать: "Забудьте про эти виртуальные машины, переносите их содержимое вручную" :) Но можно использовать Docker как замену виртуалкам - а Docker-образы под M1 существуют.</p>
29 <p>Как правило, репозитории хранятся в облачном хранилище, а на компьютере - только локальная копия. Когда вы переезжаете на новый ноут, нужно просто клонировать свои репозитории через git clone. Git отлично работает в любой операционной системе.</p>
29 <p>Как правило, репозитории хранятся в облачном хранилище, а на компьютере - только локальная копия. Когда вы переезжаете на новый ноут, нужно просто клонировать свои репозитории через git clone. Git отлично работает в любой операционной системе.</p>
30 <p>А если даже это вам будет делать лень, то можно просто скопировать локальные директории со своими репами - вручную или через Migration Assistant. И не забудьте сгенерировать новые ключи (это правильный путь), а потом добавить их в свою систему управления репозиториями (GitHub, GitLab, etc).</p>
30 <p>А если даже это вам будет делать лень, то можно просто скопировать локальные директории со своими репами - вручную или через Migration Assistant. И не забудьте сгенерировать новые ключи (это правильный путь), а потом добавить их в свою систему управления репозиториями (GitHub, GitLab, etc).</p>
31 <p>Большая часть кода, с которым работает современный инфраструктурный инженер, - это описание инфраструктуры и различные пайплайны. Мы уже практически не ходим на серверы по SSH и не настраиваем их вручную - вместо этого мы просто описываем работу инфраструктуры в коде. Поэтому для того, чтобы скопировать необходимые для работы данные, нам достаточно скопировать репозитории с тем самым "конфигурационным" кодом.</p>
31 <p>Большая часть кода, с которым работает современный инфраструктурный инженер, - это описание инфраструктуры и различные пайплайны. Мы уже практически не ходим на серверы по SSH и не настраиваем их вручную - вместо этого мы просто описываем работу инфраструктуры в коде. Поэтому для того, чтобы скопировать необходимые для работы данные, нам достаточно скопировать репозитории с тем самым "конфигурационным" кодом.</p>
32 <p>Подход Infrastructure as Code (IaC) касается не только рабочей инфраструктуры, но и тестирования. Его грамотная организация позволяет быстро разворачивать копию рабочей инфраструктуры для тестов. С появлением контейнеров типа Docker и Kubernetes, инструмента для их оркестрации, всё это стало гораздо проще.</p>
32 <p>Подход Infrastructure as Code (IaC) касается не только рабочей инфраструктуры, но и тестирования. Его грамотная организация позволяет быстро разворачивать копию рабочей инфраструктуры для тестов. С появлением контейнеров типа Docker и Kubernetes, инструмента для их оркестрации, всё это стало гораздо проще.</p>
33 <p>Мы уже не так сильно привязываемся к физическому рабочему месту, конкретному устройству или операционке. Достаточно иметь под рукой удобный браузер и несколько консольных утилит - сами рабочие приложения можно запускать на удалённом Kubernetes-кластере, который не придётся переносить со старого компьютера на новый.</p>
33 <p>Мы уже не так сильно привязываемся к физическому рабочему месту, конкретному устройству или операционке. Достаточно иметь под рукой удобный браузер и несколько консольных утилит - сами рабочие приложения можно запускать на удалённом Kubernetes-кластере, который не придётся переносить со старого компьютера на новый.</p>
34 <p>А если нужно тестировать что-то локально, то, опять же, правильно написанная IaC с помощью тех же контейнеров Kubernetes позволит запускать тесты в любой ОС. Правда в этом случае придётся переносить между старым и новым компьютером весь код и софт для запуска инфраструктуры.</p>
34 <p>А если нужно тестировать что-то локально, то, опять же, правильно написанная IaC с помощью тех же контейнеров Kubernetes позволит запускать тесты в любой ОС. Правда в этом случае придётся переносить между старым и новым компьютером весь код и софт для запуска инфраструктуры.</p>
35 <a>Научитесь: Старт в DevOps: системное администрирова­ние для начинающих Узнать больше</a>
35 <a>Научитесь: Старт в DevOps: системное администрирова­ние для начинающих Узнать больше</a>