Архив автора: admin

Учебное пособие II: Основные пакеты для Debian 12, MX 23 и других версий

Учебное пособие II: Основные пакеты для Debian 12, MX 23 и других версий

Учебное пособие II: Основные пакеты для Debian 12, MX 23 и других версий

В предыдущем посте к этому мы поделились своим обычным первый урок из 3, о том, как обновить через терминал и какие полезные пакеты установить в только что выпущенных новых стабильных версиях Debian GNU/Linux и MX Linux. Которые в этом году Либретто Debian 12 Bookworm и MX Linux 23.

И поскольку в этом первом руководстве пакеты были больше ориентированы на дополнение и улучшение базовой операционной системы Debian/MX для обычного пользователя GNU/Linux, теперь в этом Учебник XNUMX мы сосредоточимся на них немного более необходимые или универсальные пакеты который обязательно стоит установить чуть более продвинутому пользователю, как дома, так и в офисе. Чтобы ваша личная или профессиональная офисная деятельность могла быть обеспечена вашим дистрибутивом GNU/Linux на вашем текущем компьютере, независимо от того, старый он или новый.



Читать

Полезные пакеты для установки на Debian 12, MX 23 и других подобных.

Полезные пакеты для установки на Debian 12, MX 23 и других подобных.

Полезные пакеты для установки на Debian 12, MX 23 и других подобных.

Несколько месяцев назад (июнь 2023 г.) проект Debian обновил и выпустил для широкой публики новую версию своей бесплатной и открытой операционной системы под названием Debian. который назывался Debian 12 (Книжный червь). С тех пор и по сей день мы, как обычно, наблюдаем обновление и выпуск многих других версий дистрибутивов GNU/Linux на основе Debian, таких как: MX Linux с его версией 23, antiX 23, Q4OS 5.2 и многие другие.

Кроме того, здесь, в DesdeLinux, как и уже много лет, каждый раз выходит новая стабильная версия Дебиан/MX Мы предлагаем вам серию небольших и обновленных руководств с соответствующей список пакетов для установки. Что может быть очень полезно как для дистрибутивов, так и для других подобных и известных, таких как antiX и других, основанных на Debian GNU/Linux. И мы выбираем Debian как один из самых известных и используемых материнских дистрибутивов в мире, а MX/antiX — как отличные дистрибутивы, которые позволяют быстро создавать Respins (живые, устанавливаемые, настраиваемые, легкие и современные операционные системы с настойчивость). Что действительно полезно для одного человека, группы или сообщества.



Читать

Microsoft объявляет об окончании WordPad после почти трех десятилетий работы

Microsoft будет постепенно отказываться от WordPad, важнейшего компонента, который уже 28 лет является частью ОС Windows. Теперь это невероятный пробег.

Microsoft Word, WordPad от бедного человека, в основном используется для редактирования текстовых документов с помощью основных инструментов форматирования, недоступных в еще более простом блокноте. К ним относятся проверка орфографии, основные правки шрифтов, параметры цвета, жирный шрифт, текст с подчеркиванием и курсивом, выравнивание абзацев и инструменты для вставки изображений, таблиц и списков маркеров.

Без сомнения, приложение играло неотъемлемую часть программного пакета Window с момента его дебюта в Windows 95. Хотя, по общему признанию, возможно, прекращение было долгим, поскольку Microsoft сделала его дополнительной функцией Windows со времени выпуска Windows 10 Insider Build 19551 в феврале 2020 года. Несмотря на то, что он все еще поставляется с последней версией Windows 11, остается возможность добавить или удалить инструмент в меню ‘Дополнительные функции’.

Microsoft объявляет об окончании WordPad после почти трех десятилетий работы

 

Кроме того, с тех пор Microsoft выпустила совершенно бесплатную версию браузера для старых приложений Office, которая включает Word, хотя и с ограниченным набором функций. Мы подозреваем, что основной задачей компании является системная интеграция пользователей в экосистеме Microsoft 365. Например, версии для iOS и Android можно скачать бесплатно, а Microsoft 365 Education бесплатна для студентов и преподавателей, а приложения Microsoft 365 даже интегрированы в команды.

Согласно сопровождающему blogpost, “ WordPad больше не обновляется и будет удален в будущем выпуске Windows. ” Как вы уже догадались, Microsoft Word рекомендует в качестве альтернативы для многофункциональных текстовых документов, таких как файлы .doc и .rtf, и Блокнот Windows для текстовых документов, таких как файлы .txt.

Конечно, есть множество сторонних альтернатив, таких как LibreOffice или Apache Open Office, если вы хотите пойти по маршруту с открытым исходным кодом, и даже Google Docs стал полуприличным за эти годы.



2023-09-06T20:42:26
Microsoft

Упреждающее и невосстановительное планирование

В мире информатики и операционных систем эффективное управление задачами имеет важное значение для поддержания работоспособности систем и оптимизации использования ресурсов. Упреждающее и невосстанавливающее планирование — это две известные стратегии, которые определяют, как планируются и выполняются задачи. Эти стратегии определяют, как расставляются приоритеты задач, распределяются ресурсы и как они взаимодействуют. Оба подхода имеют преимущества и недостатки, и выбор зависит от конкретных требований системы и характера выполняемых задач.

 

Что такое упреждающее планирование?

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

Что такое упреждающее планирование

 

Преимущества упреждающего планирования

1. Оперативность: Задачи с более высокими приоритетами могут быть инициированы немедленно, обеспечивая своевременное выполнение критических операций.

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

3. Распределение ресурсов: Планировщик может эффективно управлять распределением ресурсов на основе срочности задач, предотвращая монополизацию ресурсов задачами с более низким приоритетом.

 

Недостатки упреждающего планирования

1. Накладные расходы: Частое переключение контекста между задачами приводит к накладным расходам из-за сохранения и восстановления состояний задач. Это может привести к снижению общей эффективности системы.

2. Сложность: Необходимость обработки прерываний и переключений контекста усложняет проектирование системы и управление ядром.

3. Непредсказуемое время выполнения: Упреждающее планирование может привести к недетерминированному времени выполнения, что может быть нежелательным для некоторых приложений.

 

Что такое невосстанавливающее планирование?

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

Что такое невосстанавливающее планирование

 

Преимущества невосстанавливающего планирования

1. Детерминированное время выполнения: поскольку задачи не прерываются, время выполнения становится более предсказуемым, что может быть выгодно для задач с известными требованиями к обработке.

2. Меньшие накладные расходы: переключение контекста происходит реже, что снижает накладные расходы, связанные с сохранением и восстановлением состояния задачи.

3. Простота: Невыводящее планирование часто проще реализовать и управлять, поскольку оно позволяет избежать сложностей обработки прерываний и упреждающих переключений контекста.

 

Недостатки невосстанавливающего планирования

1. Недостаточная оперативность: задачам с более высоким приоритетом может потребоваться дождаться завершения текущей задачи, что потенциально приводит к задержкам в критических операциях.

2. Неэффективное использование ресурсов: Задачи с более низким приоритетом могут удерживать ресурсы, даже когда задачи с более высоким приоритетом готовы к выполнению, что приводит к неоптимальному использованию ресурсов.

 

Разница между упреждающим и невосстанавливающим планированием

Вот сравнительная таблица, которая показывает разницу между упреждающим и не упреждающим планированием.













АспектУпреждающее планированиеНевосстанавливающее планирование
Прерывание задачиЗадачи могут быть прерваны и приостановлены для задач с более высоким приоритетом.Задачи продолжают выполняться до тех пор, пока они добровольно не уступят или не завершатся.
ОперативностьВысокая чувствительность к срочным задачам и требованиям реального времени.Менее быстрое реагирование на срочные задачи; это может привести к задержкам в важнейших операциях.
Время выполненияВремя выполнения менее предсказуемо из-за частых переключений контекста.Время выполнения более предсказуемо, поскольку задачи выполняются непрерывно.
СложностьБолее сложное из-за управления прерываниями, переключениями контекста и приоритетами задач.Проще в реализации и управлении, поскольку позволяет избежать частых переключений контекста.
Использование ресурсовЭффективное распределение ресурсов для задач с более высоким приоритетом.Задачи с более низким приоритетом могут занимать ресурсы, что приводит к неоптимальному использованию.
Накладные расходыПереключение контекста приводит к накладным расходам, потенциально снижающим общую эффективность.Меньшие накладные расходы обусловлены меньшим количеством переключений контекста, что приводит к повышению эффективности.
ПригодностьИдеально подходит для систем реального времени и приложений, критичных ко времени.Подходит для приложений, где точное время не имеет решающего значения.
ДетерминизмНедетерминированное время выполнения из-за прерываний.Более детерминированное время выполнения, повышающее предсказуемость.
Примеры примененияСистемы реального времени, потоковое воспроизведение мультимедиа, игры.Пакетная обработка, простые встроенные системы и базовые настольные приложения.

Выбор правильного алгоритма планирования

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

 

Заключение

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

 

Часто задаваемые вопросы (FAQs)

Вот некоторые из часто задаваемых вопросов о упреждающем и невосстанавливающем планировании.

Вопрос 1. Что такое упреждающее планирование?

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

Вопрос 2. Что такое невосстанавливающее планирование?

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

Вопрос 3. Какая стратегия лучше для приложений реального времени?

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

Вопрос 4. Каковы преимущества упреждающего планирования?

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

Вопрос 5. Когда следует использовать невосстанавливающее планирование?

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



2023-09-06T18:44:04
Программирование

4 способа обновления до Windows 11 23H2 (прямая загрузка, инструмент создания носителя, помощник по установке, Центр обновления Windows)

Не можете дождаться выхода Windows 11 23H2? Вот 4 способа обновить существующую ОС или загрузить ISO-образ для выполнения чистой установки.

  • Ожидается, что Windows 11 23H2 выйдет 10 октября 2023 года, после чего вы сможете перейти на нее.
  • Чтобы загрузить ISO-образ Windows 11 23H2, вы можете использовать метод прямой загрузки или MCT.
  • Чтобы выполнить обновления на месте, вы можете использовать Помощник по установке или выполнить обновление до Windows 11 23H2 на странице настроек Центра обновления Windows.

Windows 11 — новейшая клиентская операционная система от Microsoft на момент написания этой статьи. Однако Microsoft ежегодно выпускает новые версии одной и той же ОС, и в этом году настало время для Windows 11 версии 23H2, хотя Microsoft любит называть ее «Windows 11 версии 2023».

Если вы используете более старую версию Windows 11, например 22H2 или исходную версию, или Windows 10, или любую более старую ОС Windows, вы можете выполнить обновление до Windows 11 23H2 при условии, что ваш компьютер соответствует минимальным требованиям к оборудованию.

Вы также можете установить Windows 11 23H2, минуя требования TPM 2.0, безопасной загрузки и 4 ГБ ОЗУ.

Выпуск Windows 11 23H2 уже не за горами, и если вы энтузиаст, вам следует изучить все возможные способы обновления вашей системы до последней версии, как только она станет доступна. В этой статье показаны четыре способа обновления до Windows 11 23H2.

Загрузите Windows 11 23H2 ISO напрямую с сайта Microsoft.

Один из способов обновления до Windows 11 23H2 — загрузить ISO-файл непосредственно с сайта Microsoft, а затем использовать его либо для обновления текущей ОС, либо для выполнения чистой установки. Вот шаги для загрузки Windows 11 23H2 напрямую от Microsoft:

Примечание: Этот метод позволит загрузить последнюю доступную версию Windows 11.

  1. Откройте Microsoft Страница загрузки Windows 11 в любом веб-браузере.

  2. Прокрутите страницу вниз и выберите «Windows 11 (многоиздание ISO)» из раскрывающегося меню под Загрузите образ диска Windows 11 (ISO) а затем нажмите Скачать.

    Выберите ISO для загрузкиВыберите ISO для загрузки

  3. Затем выберите язык, на котором вы хотите загрузить Windows 11, из раскрывающегося меню и нажмите Подтверждать.

    Выберите языкВыберите язык

  4. Теперь нажмите кнопку 64-битная загрузка Кнопка, и должна начаться загрузка ISO-образа Windows 11.

    начать загрузку 1Начать загрузку

Вы можете загрузить операционную систему на любом из следующих 37 языков:

  1. арабский
  2. бразильский португальский
  3. болгарский
  4. Китайский упрощенный
  5. Китайский традиционный
  6. хорватский
  7. Чешский
  8. датский
  9. Голландский
  10. Английский
  11. Английский международный
  12. эстонский
  13. финский
  14. французский канадец
  15. Немецкий
  16. Греческий
  17. иврит
  18. Венгерский
  19. итальянский
  20. Японский
  21. Корейский
  22. Латышский
  23. Литовский
  24. Норвежский
  25. Польский
  26. португальский
  27. румынский
  28. Русский
  29. Сербская латынь
  30. словацкий
  31. словенский
  32. испанский
  33. Испанский (Мексика)
  34. Шведский
  35. тайский
  36. турецкий
  37. украинец

Инструмент Microsoft Media Creation Tool (MCT) позволяет создавать загрузочные устройства и загружать автономные ISO-образы их операционных систем. Microsoft также представила инструмент создания мультимедиа для Windows 11, который вы можете использовать для загрузки ISO-файла Windows 11 23H2. Вот как:

Примечание: Этот метод автоматически загрузит последнюю версию Windows 11, доступную на данный момент.

  1. Загрузите инструмент создания мультимедиа Windows 11. а затем запустите файл.

  2. Теперь вы увидите новое окно для MCT. Принимать условия лицензии.

    MCT принимаетПримите условия лицензирования

  3. Проверьте предварительно выбранные данные ISO и нажмите Следующий.

    Если вы загружаете файл ISO на другой компьютер, снимите флажок поле рядом с «Используйте рекомендуемые параметры для этого ПК.» и выберите язык, на котором вы хотите загрузить Windows 11 23H2.

    МСТ следующийПродолжить, нажав Далее

  4. Выберите ISO-файл переключатель, чтобы загрузить файл, а затем нажмите Следующий.

    МСТ ИСОВыберите ISO и продолжайте.

  5. Теперь вам нужно будет выбрать, где вы хотите загрузить ISO-образ. Выберите том с достаточным свободным/доступным пространством и нажмите Сохранять.

    Инструмент создания мультимедиа начнет загрузку.

    Загрузка MCTЗагрузка ISO

  6. После завершения загрузки нажмите Заканчивать чтобы закрыть инструмент.

    Вы можете обнаружить, что программное обеспечение затем выполняет очистку установки. Вы можете игнорировать это и позволить этому работать в фоновом режиме.

    МСТ финиш 1Закройте инструмент

Теперь, когда вы загрузили ISO-образ Windows 11 23H2, вы можете перейти к следующему этапу: созданию загрузочного устройства.

Если вы не хотите использовать ISO-образ и выполнять обновление на месте, продолжайте использовать следующие два метода.

Обновление до Windows 11 23H2

Если вы не хотите выполнять чистую установку Windows 11 23H2 и загружать ISO, вы также можете обновить свою текущую ОС до последней версии Windows 11, доступной через Центр обновления Windows или с помощью Ассистента установки.

Обновление до Windows 11 23H2 с помощью Центра обновления Windows

Если вы хотите обновить свое устройство до Windows 11 с ПК с Windows 10, вы должны сначала удовлетворить минимальные системные требования. Если ваше устройство соответствует требованиям, вы можете проверить, получили ли вы возможность обновления до Windows 11, перейдя по следующему адресу (в Windows 10):

Приложение «Настройки» >> «Обновление и безопасность» >> Центр обновления Windows.

Если вы уже используете более старую версию Windows 11 и хотите обновиться до более новой версии, перейдите к следующему:

Приложение «Настройки» >> Центр обновления Windows

Здесь нажмите «Проверьте наличие обновлений». Когда сканирование завершится, проверьте, есть ли вверху уведомление о том, что Windows 11 версии 23H2 готова к установке. Нажмите «Загрузить и установить” под этим.

Загрузите и установите Windows 11 23H2 из Центра обновления Windows.Загрузите и установите Windows 11 23H2 из Центра обновления Windows.

Обновление до Windows 11 23H2 с помощью Ассистента установки

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

Выполните следующие действия, чтобы обновить текущую ОС до Windows 11 23H2:

  1. Загрузите Помощник по установке Windows 11 и выполнить пакет.

  2. Сначала вам необходимо загрузить и установить приложение «Проверка работоспособности ПК», независимо от того, используете ли вы уже Windows 11. Нажмите «Установите приложение «Проверка работоспособности ПК»».

    Установите приложение «Проверка работоспособности ПК»Установите приложение «Проверка работоспособности ПК»

  3. Приложение будет загружено. Установите приложение PC Health Check и проверьте, соответствует ли ваша система требованиям.

  4. После завершения вернитесь в Мастер установки и нажмите Обновить.

    Загрузите приложение «Проверка работоспособности ПК» 1.Обновите приложение

  5. Теперь нажмите «Примите и установите».

    Примите и установитеПримите условия и начните загрузку

  6. Инструмент начнет загрузку Windows 11 23H2.

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

Создать загрузочный USB-накопитель Windows 11 23H2

Если вы загрузили ISO-образ любым из вышеперечисленных способов, вы можете создать с его помощью загрузочную USB-флешку, а также DVD-диск. Однако мы предлагаем вам создать USB-накопитель, так как это удобнее.

Вы можете использовать Руфус или Ventoy создать загрузочную флешку с помощью ISO-образа. Покажем, как создать загрузочную флешку для Windows 11 23H2:

  1. Подключите USB-накопитель (объемом не менее 8 ГБ) к компьютеру.

    Убедитесь, что все ваши данные на USB-накопителе заархивированы, поскольку требуется форматирование, при котором все данные, хранящиеся на USB-накопителе, теряются.

  2. Загрузите Rufus с его Веб-сайт и запустите его.

    Загрузите последнюю версию RufusЗагрузите последнюю версию Rufus

  3. В Rufus убедитесь, что USB-накопитель выбран в раскрывающемся меню под Устройство.

    Выберите USB-накопительВыберите USB-накопитель

  4. Нажмите Выбирать а затем выберите ISO-файл Windows 11 23H2.

    Выберите ISO-файл Windows 11 23H2.Выберите ISO-файл Windows 11 23H2.

  5. Для остальных настроек оставьте значения по умолчанию и нажмите кнопку Начинать.

    Нажмите «Пуск».Нажмите «Пуск».

  6. Выберите параметры настройки Windows 11 и нажмите Хорошо.

    Выберите параметры настройки Windows 11Выберите параметры настройки Windows 11

    Теперь ваш загрузочный USB-накопитель Windows 11 находится в процессе создания. Выполнение этого шага может занять несколько минут.

  7. Во всплывающем окне с предупреждением нажмите Хорошо.

  8. Как только оно будет закончено, «Готовый» будет отображаться с зеленой полосой. Вы можете тогда Закрывать приложение.

    Закрыть Руфус2Закрыть Руфус

Теперь ваш загрузочный диск готов, и вы можете перейти к этапу установки, используя руководство, приведенное ниже.

Установите Windows 11 23H2 с загрузочного USB.

Теперь, когда вы создали загрузочный диск с использованием файла ISO, вы можете начать установку Windows 11 23H2. Вот как:

  1. Убедитесь, что целевой компьютер соответствует минимальным требованиям Windows 11.

  2. Подключите загрузочный USB-накопитель Windows 11 к целевому компьютеру.

  3. Включите/перезагрузите компьютер и откройте меню однократной загрузки (обычно с помощью кнопки F12, F10 или Esc).

  4. Выберите внешний USB-накопитель для загрузки с USB.

  5. Теперь вы увидите меню, подобное приведенному ниже. Нажмите «Следующий».

    установить дальшеПродолжить установку

  6. Нажмите «Установите сейчас».

    Установите сейчасУстановить Windows

  7. На следующем экране нажмите «У меня нет ключа продукта».

    Даже если он у вас есть, вы можете активировать продукт позже после установки.

    установить ключ продуктаПродолжить без ввода ключа

  8. Выберите из списка редакцию Windows 11, которую вы хотите установить на это устройство. Когда выбрано, нажмите Следующий.

    Выберите выпуск Windows 11 для установкиВыберите выпуск Windows 11 для установки

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

    установить принятьПринять условия

  10. Выбирать “Выборочная: установка только Windows (дополнительно)».

    Теперь вас спросят, хотите ли вы обновить существующую ОС или выполнить выборочную установку. Поскольку это чистая и новая установка Windows 11, мы выберем «Обычай.

    установить кастомныйВыборочная установка

  11. Нажмите «Новый» и создайте разделы диска по своему усмотрению. Не забудьте иметь как минимум 40 ГБ свободного места на основном диске (C) для установки Windows.

    Создание разделов дискаСоздание разделов диска

    Нажмите «Новый», введите размер создаваемого раздела (в МБ), затем нажмите Применять.

  12. Если появится сообщение о создании дополнительного раздела, нажмите Хорошо.

    Подсказка автоматического создания дополнительных разделовПодсказка автоматического создания дополнительных разделов

  13. Выберите раздел, на который вы хотите установить операционную систему, и нажмите Следующий.

    Выберите основной раздел для установки WindowsВыберите основной раздел для установки Windows

    Windows 11 начнет установку на ваше устройство. Этот шаг может занять несколько минут, и ваше устройство может перезагрузиться несколько раз.

Узнайте, как установить Windows 11 без подключения к Интернету или без учетной записи Microsoft.

Далее в процессе вам будет предложено настроить ваш компьютер через несколько экранов Out Of Box Experience (OOBE). Следуйте инструкциям на экране и настройте свой компьютер, и вы успешно установите Windows 11 версии 2023.

Как только он завершится, вы войдете в свою учетную запись на совершенно новом ПК с Windows 11! Теперь вы можете начать установку соответствующего программного обеспечения и настраивать его по своему вкусу.

Завершение мыслей

Выполнение чистой установки с использованием ISO-образа сотрет все в разделе ОС, так как он полностью отформатирован. Однако если вы выполняете обновление на месте, то все останется как есть, за исключением внедрения новых функций. даже ваши персональные предпочтения останутся нетронутыми.

Выпуск Windows 11 23H2 уже не за горами, и те, кто в восторге от него, могут обновиться до него любым из вышеперечисленных способов, как только он станет доступен.



2023-09-05T12:00:07
Tips and Tricks

Памятка по созданию Gitlab Pipelines

Шаблоны




В данном разделе напишем несколько готовых шаблонов, которые можно взять за основы при написании своего сценария.




1. Минимальный сценарий. Для небольших заданий, состоящих из пары заданий:




stages:
  - build

TASK_NAME:
  stage: build
  script:
    - ./build_script.sh




где:




  • stages — описание стадий нашего пайплайна. В данном примере, всего одна.



  • TASK_NAME — имя нашей задачи.

    • stage — стадия, к которой относится наше задание.



    • script — набор скриптов для выполнения.




2. Стандартный цикл при сборке. Обычно, процесс CI/CD включает следующие шаги:




  • Сборка пакета.



  • Тестирование.



  • Доставка.



  • Развертывание.




Для написания такого сценария за основу можно взять шаблон:




stages:
  - build
  - test
  - delivery
  - deploy

build-job:
  stage: build
  script:
    - echo "Start build job"
    - build-script.sh

test-job:
  stage: test
  script:
    - echo "Start test job"
    - test-script.sh

delivery-job:
  stage: delivery
  script:
    - echo "Start delivery job"
    - delivery-script.sh

deploy-job:
  stage: deploy
  script:
    - echo "Start deploy job"
    - deploy-script.sh




Задания




В данном разделе мы рассмотрим опции, которые могут применяться при описании задания. Общий синтаксис:




TASK_NAME>:
   OPTION1>: ...
   OPTION2>: ...




Мы перечислим лишь часто встречаемые опции. Полный список можно найти в официальной документации.




Stage





https://docs.gitlab.com/ee/ci/yaml/#stages




Опция указывает, к какой стадии относится задание. Например:




stages:
  - build
  - test

TASK_NAME:
  ...
  stage: build

TASK_NAME:
  ...
  stage: test




Сами же стадии описываются в общей директиве stages.




Также есть две стадии, которые не требуют предварительного определения в stages:




  • .pre — запускает до выполнения основных заданий конвейера.



  • .post — выполняется в конце, после выполнения основных заданий нашего пайплайна.




Например:




stages:
  - build
  - test

getVersion:
  stage: .pre
  script:
    - VERSION=$(cat VERSION_FILE")
    - echo "VERSION=${VERSION}" > variables.env
  artifacts:
    reports:
      dotenv: variables.env




* в этом примере мы до того, как начнем проходить по всем заданиям сборки, определим переменную с версией, прочитав ее из файла, и передадим артефактом в качестве системной переменной VERSION.




Image







Задаем имя образа, если наше задание выполняется в контейнере docker:




TASK_NAME:
  ...
  image: debian:11




Before_script







Данная опция определяет список команд, которые должны выполняться перед опцией script и после получения артефактов.




TASK_NAME:
  ...
  before_script:
    - echo "Run before_script"




Script







Основная часть, где выполняются задания сценария, описана в опции script. Рассмотрим ее подробнее.




1. Описание массива команд. Мы просто перечисляем списком те команды, которые необходимо последовательно выполнить нашему сценарию в конкретной задаче:




TASK_NAME:
  ...
  script:
    - command1
    - command2




2. Длинные команды, разбитые на несколько строк. Нам может потребоваться выполнить команды в виде скрипта (с операторами сравнения, например). В этом случае будет удобна многострочная запись. Ее можно указать разными способами.




Индикатор | :




TASK_NAME:
  ...
  script:
    - |
      command_line1
      command_line2




* для него каждая новая строка является переходом к новой команде или части оператора. По сути, это близко к логике скрипта shell.




Индикатор > :




TASK_NAME:
  ...
  script:
    - >
      command_line1
      command_line1_continue

      command_line2
      command_line2_continue




* данный индикатор интерпретирует новую команду после пустой строки.




After_script







Набор команд, которые запускаются после scripts, даже, при неудачном завершении последнего.




TASK_NAME:
  ...
  script:
    ...
  after_script:
    - command1
    - command2




Artifacts







Артефакты представляют из себя промежуточные сборки или файлы, которые могут передаваться от одного этапа — другому.




1. Например, так можно указать, какие файлы или каталоги будут артефактами:




TASK_NAME:
  ...
  artifacts:
    paths:
      - ${PKG_NAME}.deb
      - ${PKG_NAME}.rpm
      - *.txt
      - configs/




* в артефакты попадут все файлы, название которых заканчивается на txt, файлы ${PKG_NAME}.deb и ${PKG_NAME}.rpm, а также каталог configs. Где ${PKG_NAME} — переменная (подробнее о переменных ниже).




В других заданиях, которые будут выполняться после, можно использовать артефакты, обращаясь к ним по именам, например:




TASK_NAME_2:
  ...
  script:
    - cat *.txt
    - yum -y localinstall ${PKG_NAME}.rpm
    - apt -y install ./${PKG_NAME}.deb




2. Также мы можем передать системные переменные, которые были нами переданы в файл:




TASK_NAME:
  ...
  script:
    - echo -e "VERSION=1.1.1" > variables.env
  ...
  artifacts:
    reports:
      dotenv: variables.env




* в этом примере мы передадим системную переменную VERSION со значением 1.1.1 через файл variables.env.




3. При необходимости, мы можем исключить из списка определенные файлы по названию или маске:




TASK_NAME:
  ...
  artifacts:
    paths:
      ...
    exclude:
      - ./.git/**/*




* в этом примере мы исключаем каталог .git, в котором, как правило, хранятся метаданные репозитория.
** обратите внимание, что в отличие от pathsexclude не берет файлы и каталоги рекурсивно и нужно явно указывать объекты.




Extends







Позволяет вынести часть сценария в отдельный блок и объединить его с заданием. Чтобы это лучше понять, рассмотрим конкретный пример:




.my_extend:
  stage: build
  variables:
    USERNAME: my_user
  script:
    - extend script

TASK_NAME:
  extends: .my_extend
  variables:
    VERSION: 123
    PASSWORD: my_pwd
  script:
    - task script




И так, в нашем задании TASK_NAME мы используем extends. В результате, задание примет такой вид:




TASK_NAME:
  stage: build
  variables:
    VERSION: 123
    PASSWORD: my_pwd
    USERNAME: my_user
  script:
    - task script




Что произошло:







Environment







Позволяет указать системную переменную, которая будет создана для выполнения задания.




TASK_NAME:
  ...
  environment:
    RSYNC_PASSWORD: rpass
    EDITOR: vi




Release







Публикует релиз на портале Gitlab для нашего проекта.




TASK_NAME:
  ...
  release:
    name: 'Release $CI_COMMIT_TAG'
    tag_name: '$CI_COMMIT_TAG'
    description: 'Created using the release-cli'
    assets:
      links:
        - name: "program-${VERSION}"
          url: "https://gitlab.com/master/project/-/jobs/${CI_JOB_ID}/artifacts/raw/program-${VERSION}.tar.gz"
  rules:
    - if: $CI_COMMIT_TAG




Директивы правил и ограничений




Для управления поведением выполнения задач могут использоваться директивы с правилами и условиями. Подробнее мы их рассмотрим ниже, а в данном разделе просто перечислим их.




Rules







Правила, при соблюдении которых наше задание может быть запущено. Примеры работы с директивой rules приведены ниже.




When







Определяет условия запуска задания, например, только ручной запуск или через определенный интервал времени. Примеры работы приведены ниже.




Needs







Тоже набор правил, требующий определенных условий для запуска задачи. Все директивы условий и правил описаны ниже.




Правила и условия




Мы можем выполнять или пропускать задания, в зависимости от выполнения определенных условий. Для этого существует несколько полезных директив, которые мы рассмотрим в данном разделе.




Rules




Регламентирует различные правила, определенные с помощью:







1. Оператор if. Позволяем проверить условие, например, если переменная равна определенному значению:




TASK_NAME:
  ...
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'




* в этом примере commit должен быть выполнен в branch по умолчанию.




2. Изменения затронули определенные файлы. Проверка выполняется с помощью опции changes.




В данном примере, файл script.sql:




TASK_NAME:
  ...
  rules:
    - changes:
        - script.sql




3. Несколько условий. Условий для начала выполнения задания может быть несколько. Рассмотрим несколько примеров.




а) При условии, что commit выполнен в branch по умолчанию И изменения затронули файл script.sql:




TASK_NAME:
  ...
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
      changes:
        - script.sql




б) При условии, что commit выполнен в branch по умолчанию ИЛИ изменения затронули файл script.sql




TASK_NAME:
  ...
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
    - changes:
        - script.sql




4. Проверка на существование файла. Определяется с помощью exists:




TASK_NAME:
  ...
  rules:
    - exists:
        - script.sql




* задание будет выполняться только в случае присутствия файла script.sql.




5. Разрешить сбой задания. Задается с помощью allow_failure:




TASK_NAME:
  ...
  rules:
    - allow_failure: true




* в этом примере наш конвейер продолжит работу, если задание TASK_NAME будет выполнено с ошибкой.




6. Определение переменной в зависимости от условия. Для этого используются вместе if и variables:




TASK_NAME:
  ...
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
      variables:
        DEPLOY_VARIABLE: "production"
    - if: '$CI_COMMIT_BRANCH =~ demo'
      variables:
        DEPLOY_VARIABLE: "demo"




When




Определяет условия запуска задания. Возможные значения:







Разберем примеры.




1. Manual:




TASK_NAME:
  ...
  when: manual




* задание не начнет выполняться, пока мы не нажмем кнопку запуска в GitLab CI/CD.




2. Always:




TASK_NAME:
  ...
  when: always




* задание будет выполняться всегда. Удобно, например, если нужно сформировать отчетный файл, независимо от результатов сборки.




3. On_failure:




TASK_NAME:
  ...
  on_failure: always




* задание будет выполняться при наличии ошибки на ранних этапах. Можно использовать для отправки уведомления.




4. Delayed:




TASK_NAME:
  ...
  when: delayed
  start_in: 30 minutes




* запуск задания будет отложен на 30 минут.




5. Never:




TASK_NAME:
  ...
  when: never




* задание не будет выполняться.




6. Использование вместе с if:




TASK_NAME:
  ...
  rules:
    - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
      when: manual




* в данном примере задание будет выполняться, если коммит прошел в основной ветке и если администратор подтвердил запуск.




Needs




Позволяет задавать условия выполнения заданий только при наличии определенного артефакта или выполненного задания. С помощью правил данного типа можно контролировать порядок выполнения задач.




Рассмотрим примеры.




1. Artifacts. Принимает значение true (по умолчанию) и false. Для запуска задания нужно, чтобы на предыдущих этапах были загружены артефакты. Запись:




TASK_NAME:
  ...
  needs:
    - artifacts: false




… позволяет начать выполнение задания без этого.




2. Job. Позволяет начать выполнение задачи только после завершения другого задания:




TASK_NAME:
  ...
  needs:
    - job: createBuild




* в нашем примере задача начнет выполняться не раньше завершения задачи с названием createBuild.




Переменные




В данном разделе будут рассмотрены пользовательские переменные, которые мы можем использовать в сценарии на свое усмотрение, а также некоторые встроенные переменные, которые могут менять процесс работы конвейера.




Пользовательские переменные




Задаются с помощью директивы variables.




Можно определить глобально для всех заданий:




variables:
  PKG_VER: "1.1.1"




Или для конкретного задания:




TASK_NAME:
  ...
  variables:
    PKG_VER: "1.1.1"




Теперь можно использовать нашу переменную в сценарии. Для этого ставим перед ее названием знак доллара, а также стоит заключить его в фигурные скобки, например:




  script:
    - echo ${PKG_VER}




Переменные Gitlab




Данный тип переменных поможет нам управлять процессом сборки. Перечислим данные переменные с описанием их свойств:




ПЕРЕМЕННАЯОПИСАНИЕПРИМЕР
LOG_LEVELОпределяет уровень журнала. Варианты: debug, info, warn, error, fatal, и panic. Имеет более низкий приоритет, по сравнению с аргументами командной строки —debug, —log-level.LOG_LEVEL: warning
CI_DEBUG_TRACEВключение или отключение ведения журнала отладки. Принимает значения true или false.CI_DEBUG_TRACE: true
CONCURRENTОграничивает количество заданий, которые могут выполняться одновременно.CONCURRENT: 5
GIT_STRATEGYСпособ загрузки файлов из репозитория. Возможны варианты: clone, fetch, и none (не загружать).GIT_STRATEGY: none




Дополнительные параметры




В данном разделе мы рассмотрим различные опции, которые не вошли в другие разделы.




1. Workflow. Позволяем задать общие правила запуска для всего конвейера. Рассмотрим пример с официального сайта:




workflow:
  rules:
    - if: $CI_COMMIT_TITLE =~ /-draft$/
      when: never
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH




В данном примере конвейер:







2. Значения по умолчанию. Задаются в директиве default. Опции с данными значениями будут использоваться во всех заданиях или могут быть переопределены на уровне конкретного задания.




Пример:




default:
  image: centos:7
  tags:
    - ci-test




* мы определили опцию с именем образа (например, образа docker) и тег (теги могут быть необходимы для запуска некоторых runner).




3. Импорт конфигурации из другого файла yml. Может быть полезным, например, для написания общей части сценария, которую мы захотим применять ко всем pipeline или для разделения громоздкого сценария на составные части. Выполняется с помощью опции include. Имеет различные варианты подгрузки файлов. Рассмотрим их подробнее.




а) подключение локального файла (local):




include:
  - local: .gitlab/ci/build.yml




б) коллекции шаблонов (template):




include:
  - template: Custom/.gitlab-ci.yml




* в данном примере мы подключим к нашему сценарию содержимое файла Custom/.gitlab-ci.yml.




в) внешний файл доступный по HTTP (remote):




include:
  - remote: 'https://gitlab.dmosk.ru/main/build.yml'




г) другой проект:




include:
  - project: 'public-project'
    ref: main
    file: 'build.yml'




4. !reference tags. Позволяет описать сценарий и повторно его использовать для разных стадий и задач нашего CI/CD.




Например:




.apt-cache:
  script:
    - apt update
  after_script:
    - apt clean all

install:
  stage: install
  script:
    - !reference [.apt-cache, script]
    - apt install nginx

update:
  stage: update
  script:
    - !reference [.apt-cache, script]
    - apt upgrade
    - !reference [.apt-cache, after_script]




* давайте разберемся, что происходит в нашем примере.







Источник: https://kuzevanov.ru/devops/памятка-по-созданию-gitlab-pipelines.html