Создать образ centos 7
В этом руководстве мы объясним, как создать загрузочную флешку с CentOS USB из терминала Linux. Вы можете использовать этот USB-накопитель для загрузки и тестирования или установки CentOS на любой компьютер, поддерживающий загрузку с USB.
Подготовка
- USB-накопитель емкостью 8 ГБ или больше
- Компьютер под управлением любого дистрибутива Linux
Скачивание ISO-файла CentOS
Загрузите файл CentOS ISO со страницы загрузок CentOS, где вы можете выбрать между «DVD ISO» и «Minimal ISO».
Минимальный установочный образ содержит только пакеты, необходимые для работоспособной системы CentOS. Образ DVD содержит все пакеты, которые можно установить с помощью установщика.
Скорее всего, вы захотите скачать версию «DVD ISO».
Создание загрузочной USB-флешки с CentOS 7 в Linux
Несмотря на то, что существует множество различных инструментов с графическим интерфейсом, которые позволяют записывать образы ISO на USB-накопители, в этом руководстве мы создадим загрузочную USB-флешку с CentOS 7 с помощью команды dd .
Вставьте USB-накопитель в USB-порт.
Узнайте имя своего USB-накопителя с lsblk команды lsblk :
Результат будет выглядеть так:
В большинстве дистрибутивов Linux USB-накопитель автоматически подключается при установке. Перед прошивкой образа убедитесь, что USB-устройство не подключено. Для этого используйте команду umount, за которой следует либо каталог, в котором он был смонтирован (точка монтирования), либо имя устройства:
Команда покажет индикатор выполнения во время мигания изображения.
Этот процесс может занять несколько минут, в зависимости от размера файла ISO и скорости USB-накопителя. После завершения вы увидите что-то вроде ниже:
Вот и все, на данный момент у вас есть загрузочная CentOS на USB-накопителе.
Выводы
В этой статье вы узнали, как создать загрузочную флешку с CentOS USB из командной строки Linux.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Docker позволяет не только загружать и использовать готовые контейнеры, но создавать свои. В данной инструкции мы пошагово разберем установку Docker на Linux, создание собственного образа и загрузку его на Docker Hub.
Установка Docker
Рассмотрим примеры установки на базе операционных систем Red Hat/CentOS и Debian/Ubuntu.
Red Hat/CentOS
Устанавливаем репозиторий — для этого загружаем файл с настройками репозитория:
* если система вернет ошибку, устанавливаем wget командой yum install wget.
. и переносим его в каталог yum.repos.d:
mv docker-ce.repo /etc/yum.repos.d/
yum install docker-ce docker-ce-cli containerd.io
Если система вернет ошибку Необходимо: container-selinux >= . , переходим на страницу пакетов CentOS, находим нужную версию container-selinux и копируем на него ссылку:
. с помощью данной ссылки выполняем установку:
После повторяем команду на установку докера:
yum install docker-ce docker-ce-cli containerd.io
Debian/Ubuntu
В deb-системе ставится командой:
apt-get install docker docker.io
После установки
Разрешаем запуск сервиса docker:
systemctl enable docker
. и запускаем его:
systemctl start docker
docker run hello-world
. мы должны увидеть:
.
Hello from Docker!
This message shows that your installation appears to be working correctly.
.
Сборка нового образа
Сборка начинается с создания файла Dockerfile — он содержит инструкции того, что должно быть в контейнере. В качестве примера, соберем свой веб-сервер nginx.
И так, чтобы создать свой образ с нуля, создаем каталог для размещения Dockerfile:
mkdir -p /opt/docker/mynginx
* где /opt/docker/mynginx — полный путь до каталога, где будем создавать образ.
. переходим в данный каталог:
. и создаем Dockerfile:
RUN yum install -y epel-release && yum install -y nginx
RUN yum clean all
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
RUN sed -i "0,/nginx/s/nginx/docker-nginx/i" /usr/share/nginx/html/index.html
* в данном файле мы:
- используем базовый образ centos 7;
- в качестве автора образа указываем Dmitriy Mosk;
- задаем временную зону внутри контейнера Europe/Moscow.
- устанавливаем epel-release и nginx;
- чистим систему от метаданных и кэша пакетов после установки;
- указываем nginx запускаться на переднем плане (daemon off);
- в индексном файле меняем первое вхождение nginx на docker-nginx;
- запускаем nginx.
* подробное описание инструкций Dockerfile смотрите ниже.
docker build -t dmosk/nginx:v1 .
* где dmosk — имя автора; nginx — название для сборки; v1 — тег с указанием версии. Точка на конце указывает, что поиск Dockerfile выполняем в текущей директории.
. начнется процесс сборки образа — после его завершения мы должны увидеть что-то на подобие:
Successfully built eae801eaeff2
Successfully tagged dmosk/nginx:v1
Посмотреть список образов можно командой:
Создаем и запускаем контейнер из образа:
docker run -d -p 8080:80 dmosk/nginx:v1
* в данном примере мы запустим контейнер из образа dmosk/nginx:v1 и укажем, что необходимо опубликовать внешний порт 8080, который будет перенаправлять трафик на порт 80 внутри контейнера.
Посмотреть созданные контейнеры можно командой:
Запустить или остановить контейнеры можно командами:
docker stop 5fe78aca2e1d
docker start 5fe78aca2e1d
* где 5fe78aca2e1d — идентификатор контейнера.
Редактирование образа
В примере выше мы рассмотрели создание нового образа с нуля. Также, мы можем взять любой другой образ, отредактировать его и сохранить под своим названием.
Скачаем образ операционной системы CentOS:
docker pull centos:latest
Войдем в скачанный образ для его изменения:
docker run -t -i centos:latest /bin/bash
Внесем небольшие изменения, например, создадим учетную запись:
* в данном примере мы создали пользователя dmosk и задали ему пароль.
docker commit -m "Add user dmosk" -a "Dmitry Mosk" 8f07ef93918f centos:my
* где -m — параметр для указания комментария; -a — указывает автора; 8f07ef93918f — идентификатор контейнера, который был нами изменен (его можно было увидеть в приглашении командной строки); centos:my — название нашего нового образа.
Новый образ создан.
Загрузка образа на Docker Hub
Заходим на Docker Hub страницу регистрации. Создаем пользователя:
Переходим на страницу Repositories и создаем свой репозиторий, например, dmosk. Теперь можно загрузить наши образы в репозиторий.
docker login --username dmosk
Задаем тег для одного из образов и загружаем его в репозиторий:
docker tag centos:my dmosk/dmosk:centos
docker push dmosk/dmosk:centos
Загрузим второй образ:
docker tag dmosk/nginx:v1 dmosk/dmosk:nginx
docker push dmosk/dmosk:nginx
В Docker Hub должны появиться наш образы:
docker login --username dmosk
docker pull dmosk/dmosk:nginx
docker run -d -p 8080:80 dmosk/dmosk:nginx
Описание инструкций Dockerfile
Резервное копирование и восстановление контейнера
Созданный нами контейнер можно сохранить в виде архива и, при необходимости, перенести на другой сервер или оставить как бэкап.
Создание резерва
И так, для создания резервной копии контейнера, смотрим их список:
. и для нужного выполняем команду:
docker save -o /backup/docker/container.tar <container image>
* в данном примере мы создаем архив контейнера <container image> в файл /backup/docker/container.tar.
Чтобы уменьшить размер, занимаемый созданным файлом, раархивиркем его командой:
* в итоге, мы получим файл container.tar.gz.
Восстановление
Сначала распаковываем архив:
После восстанавливаем контейнер:
docker load -i container.tar
Смотрим, что нужный нам контейнер появился:
Дополнительные команды
В данном подразделе приведем примеры команд, которые могут оказаться полезными при работе с образами.
1. Удалить один образ:
docker rmi <название образа или его ID>
docker rmi dmosk/nginx:v1
2. Удалить все образы:
docker rmi $(docker images -q)
Мы можем получить ошибки на подобие:
Error response from daemon: conflict: unable to delete 857594f280c1 (must be forced) - image is being used by stopped container .
Это значит, что для удаляемого образа есть действующие контейнеры — они могут быть как включены, так и находится в отключенном состоянии. Удалить все нерабочие контейнеры можно командой:
docker rm $(docker ps --filter status=exited -q)
Если нужно, можно остановить все действующие контейнеры командой:
docker stop $(docker ps -a -q)
Также мы можем принудительно удалить все образы, даже если они используются для контейнеров в данный момент:
docker rmi -f <название образа или его ID>
* добавлена опция -f.
3. Для выявления проблем при запуске или в работе контейнера очень полезна опция для просмотра логов:
Прежде чем исследовать методы развертывания стандартного плана резервного копирования, специфичные для CentOS, давайте сначала обсудим типичные аспекты политики резервного копирования стандартного уровня. Первое, к чему мы хотим привыкнуть, это правило резервного копирования 3-2-1 .
3-2-1 Стратегия резервного копирования
Во всей отрасли вы часто слышите термин «резервная модель 3-2-1». Это очень хороший подход для реализации плана резервного копирования. 3-2-1 определяется следующим образом: 3 копии данных; например, у нас может быть рабочая копия; копия, помещенная на сервер CentOS, предназначенный для резервирования с использованием rsync; и повернутые резервные копии USB сделаны из данных на сервере резервного копирования. 2 разных резервных носителя. На самом деле в этом случае у нас будет три разных носителя для резервного копирования: рабочая копия на SSD ноутбука или рабочей станции, данные сервера CentOS на массиве RADI6 и внешнее резервное копирование на USB-накопители. 1 копия данных вне офиса; мы вращаем USB-накопители вне площадки каждый вечер. Другим современным подходом может быть поставщик облачного резервного копирования.
Восстановление системы
Полное восстановление данных и восстановление с нуля обычно выполняется с помощью комбинации методов, включая рабочие, настроенные рабочие образы дисков ключевых операционных серверов, избыточные резервные копии пользовательских данных, соблюдая правило 3-2-1. Даже некоторые конфиденциальные файлы, которые могут храниться в безопасном, пожаробезопасном сейфе с ограниченным доступом к персоналу доверенной компании.
План многофазного восстановления и восстановления данных с использованием собственных инструментов CentOS может состоять из:
dd создавать и восстанавливать производственные образы дисков настроенных серверов
rsync для создания инкрементных резервных копий всех пользовательских данных
tar & gzip для хранения зашифрованных резервных копий файлов с паролями и заметками от администраторов. Обычно это можно записать на USB-накопитель, зашифровать и заблокировать в сейфе, к которому имеет доступ старший менеджер. Кроме того, это гарантирует, что кто-то другой будет знать жизненно важные учетные данные безопасности, если текущий администратор выиграет в лотерее и исчезнет на солнечном острове.
dd создавать и восстанавливать производственные образы дисков настроенных серверов
rsync для создания инкрементных резервных копий всех пользовательских данных
tar & gzip для хранения зашифрованных резервных копий файлов с паролями и заметками от администраторов. Обычно это можно записать на USB-накопитель, зашифровать и заблокировать в сейфе, к которому имеет доступ старший менеджер. Кроме того, это гарантирует, что кто-то другой будет знать жизненно важные учетные данные безопасности, если текущий администратор выиграет в лотерее и исчезнет на солнечном острове.
Если система выходит из строя из-за аппаратного сбоя или сбоя, следующие этапы восстановления операций будут следующими:
Создайте рабочий сервер с настроенным голым железным образом
Восстановление данных на рабочий сервер из резервных копий
Иметь физический доступ к учетным данным, необходимым для выполнения первых двух операций
Создайте рабочий сервер с настроенным голым железным образом
Восстановление данных на рабочий сервер из резервных копий
Иметь физический доступ к учетным данным, необходимым для выполнения первых двух операций
Используйте rsync для резервного копирования на уровне файлов
- Исследуйте и поговорите о некоторых распространенных вариантах
- Создать локальные резервные копии
- Создавайте удаленные резервные копии по SSH
- Восстановить локальные резервные копии
rsync назван по назначению: удаленная синхронизация и является мощной и гибкой в использовании.
Ниже приведено базовое удаленное резервное копирование rsync через ssh:
Следующая синхронизация отправила почти 2,3 ГБ данных по нашей локальной сети. Прелесть rsync в том, что он работает постепенно на уровне блоков для каждого файла отдельно. Это означает, что если мы изменим только два символа в текстовом файле размером 1 МБ, только один или два блока будут переданы через сеть при следующей синхронизации!
Кроме того, инкрементная функция может быть отключена в пользу большей пропускной способности сети, используемой для меньшей загрузки ЦП. Это может оказаться целесообразным, если постоянно копировать несколько файлов базы данных по 10 МБ каждые 10 минут на выделенной резервной локальной сети емкостью 1 ГБ. Причина заключается в следующем: они всегда будут меняться и будут передаваться постепенно каждые 10 минут и могут облагаться нагрузкой на удаленный ЦП. Поскольку общая нагрузка передачи не будет превышать 5 минут, мы можем просто синхронизировать файлы базы данных в полном объеме.
Когда использовать rsync
Локальное резервное копирование с rsync
Мы уже видели, как передавать файлы с одного хоста на другой. Тот же метод можно использовать для локальной синхронизации каталогов и файлов.
Давайте сделаем ручное добавочное резервное копирование / etc / в каталоге нашего корневого пользователя.
Во-первых, нам нужно создать каталог с
Затем убедитесь, что на диске достаточно свободного места.
Только наш файл test_incremental.txt был скопирован.
Удаленное дифференциальное резервное копирование с rsync
Давайте сделаем наше первоначальное полное резервное копирование rsync на сервер с развернутым планом резервного копирования. В этом примере фактически выполняется резервное копирование папки на рабочей станции Mac OS X на сервер CentOS. Другим важным аспектом rsync является то, что его можно использовать на любой платформе, на которую был перенесен rsync.
Теперь мы создали резервную копию папки с рабочей станции на сервере с томом RAID6 с повернутым носителем аварийного восстановления, который хранится вне сайта. Использование rsync дало нам стандартное резервное копирование 3-2-1 только с одним сервером, имеющим дорогой избыточный дисковый массив и повернутые дифференциальные резервные копии.
Теперь давайте сделаем еще одну резервную копию этой же папки с помощью rsync после того, как был добавлен новый файл с именем test_file.txt .
Как видите, только новый файл был доставлен на сервер через rsync . Дифференциальное сравнение было сделано для каждого файла отдельно.
Несколько вещей, на которые следует обратить внимание: это только копирует новый файл: test_file.txt, так как это был единственный файл с изменениями. Rsync использует SSH. Нам не нужно было использовать нашу учетную запись root ни на одной машине.
Простой, мощный и эффективный rsync отлично подходит для резервного копирования целых папок и структур каталогов. Однако rsync сам по себе не автоматизирует процесс. Вот где нам нужно покопаться в нашем наборе инструментов и найти лучший, маленький и простой инструмент для работы.
Для автоматизации резервного копирования rsync с помощью cronjobs важно, чтобы пользователи SSH были настроены с использованием ключей SSH для аутентификации. Это в сочетании с cronjobs позволяет выполнять rsync автоматически через определенные промежутки времени.
Используйте DD для блочных изображений восстановления голого металла
Дд в простейшем смысле копирует изображение выбранной области диска. Затем предоставляет возможность копировать выбранные блоки физического диска. Поэтому, если у вас нет резервных копий, когда dd записывает на диск, все блоки заменяются. Потеря предыдущих данных превышает возможности восстановления даже для дорогостоящего восстановления данных профессионального уровня.
Весь процесс создания загрузочного образа системы с помощью dd выглядит следующим образом:
- Загрузка с сервера CentOS с загрузочного дистрибутива Linux
- Найдите обозначение загрузочного диска для образа
- Определите место, где будет храниться образ восстановления
- Найдите размер блока, используемого на вашем диске
- Запустите операцию изображения dd
В этом уроке ради времени и простоты мы будем создавать ISO-образ основной загрузочной записи с виртуальной машины CentOS. Затем мы будем хранить это изображение вне сайта. В случае, если наша MBR повреждена и требует восстановления, тот же процесс может быть применен ко всему загрузочному диску или разделу. Тем не менее, время и дисковое пространство, необходимое для этого урока, немного запредельные.
Администраторам CentOS рекомендуется научиться восстанавливать полностью загрузочный диск / раздел в тестовой среде и выполнять восстановление «с нуля». Это избавит от большого давления, когда в конечном итоге нужно будет завершить практику в реальной ситуации, когда менеджеры и несколько десятков конечных пользователей будут считать время простоя. В таком случае 10 минут на то, чтобы разобраться, могут показаться вечностью и потеть.
Примечание о размере блока. Размер блока по умолчанию для dd составляет 512 байт. Это был стандартный размер блока жестких дисков меньшей плотности. Современные жесткие диски с более высокой плотностью увеличились до 4096 байт (4 КБ), что позволяет использовать диски размером от 1 ТБ и более. Таким образом, мы хотим проверить размер дискового блока перед использованием dd с более новыми жесткими дисками большей емкости.
В этом руководстве вместо работы на рабочем сервере с dd мы будем использовать установку CentOS, работающую в VMWare. Мы также настроим VMWare для загрузки загрузочного ISO-образа Linux вместо того, чтобы работать с загрузочной флешкой USB.
Сначала нам нужно скачать образ CentOS под названием: CentOS Gnome ISO . Это почти 3 ГБ, поэтому рекомендуется всегда сохранять копию для создания загрузочных USB-накопителей и загрузки на виртуальные серверные установки для устранения неполадок и получения изображений с нуля.
Другие загрузочные дистрибутивы Linux будут работать так же хорошо. Linux Mint можно использовать для загрузочных ISO-образов, поскольку он имеет отличную поддержку оборудования и отшлифованные инструменты для графического интерфейса пользователя для обслуживания.
Давайте настроим установку VMWare Workstation для загрузки с нашего загрузочного образа Linux. Шаги предназначены для VMWare в OS X. Однако они одинаковы для VMWare Workstation в Linux, Windows и даже Virtual Box.
Примечание. Использование решения для виртуального рабочего стола, такого как Virtual Box или VMWare Workstation, является отличным способом настройки лабораторных сценариев для изучения задач администрирования CentOS. Он обеспечивает возможность установки нескольких установок CentOS, практически без аппаратной конфигурации, позволяя человеку сосредоточиться на администрировании, и даже сохранить состояние сервера перед внесением изменений.
Теперь при загрузке наша виртуальная машина будет загружаться из загрузочного ISO-образа CentOS и разрешать доступ к файлам на сервере Virtual CentOS, который был предварительно настроен.
Давайте проверим наши диски, чтобы увидеть, куда мы хотим скопировать MBR (сжатый вывод выглядит следующим образом).
Мы нашли оба наших физических диска: sda и sdb . Каждый имеет размер блока 512 байт. Итак, теперь мы запустим команду dd, чтобы скопировать первые 512 байт для нашей MBR на SDA1.
При работе с данными с дисков мы всегда хотим включить: conv = sync, параметр noerror .
Это просто потому, что диски не являются потоками, такими как данные TCP. Они состоят из блоков, выровненных до определенного размера. Например, если у нас есть 512-байтовые блоки, для файла размером всего 300 байт все еще нужны полные 512 байт дискового пространства (возможно, 2 блока для информации inode, такой как разрешения и другая информация файловой системы).
Используйте gzip и tar для безопасного хранения
Использование Gnu Tar в CentOS Linux
В течение многих лет tar является стандартом для хранения архивных файлов в Unix и Linux. Следовательно, использование tar вместе с gzip или bzip считается наилучшей практикой для архивов в каждой системе.
переключатель | действие |
---|---|
-с | Создает новый архив .tar |
-С | Выдержки в другой каталог |
-j | Использует сжатие bzip2 |
-z | Использует сжатие GZIP |
-v | Подробный прогресс архивирования шоу |
-t | Содержит список архивов |
-f | Имя файла архива |
-Икс | Извлекает архив tar |
Ниже приведен основной синтаксис для создания архива tar .
Замечание о механизмах сжатия с помощью tar. Рекомендуется придерживаться одной из двух распространенных схем сжатия при использовании tar: gzip и bzip2. GZIP-файлы потребляют меньше ресурсов процессора, но обычно имеют больший размер. В то время как bzip2 сжимается дольше, они используют больше ресурсов процессора; но приведет к меньшему конечному размеру файла.
При использовании сжатия файлов мы всегда хотим использовать стандартные расширения файлов, чтобы все, включая нас самих, знали (в отличие от предположения методом проб и ошибок), какая схема сжатия необходима для извлечения архивов.
bzip2 | .tbz |
bzip2 | .tar.tbz |
bzip2 | .tb2 |
GZIP | .tar.gz |
GZIP | .tgz |
При необходимости извлечения архивов из коробки Windows или для использования в Windows рекомендуется использовать .tar.tbz или .tar.gz, так как большинство трехсимвольных расширений будут путать Windows и только администраторов Windows (однако это иногда желаемый результат)
Примечание. Вместо того, чтобы добавлять все файлы непосредственно в архив, мы заархивировали всю папку RemoteStuff . Это самый простой способ. Просто потому, что при извлечении весь каталог RemoteStuff извлекается со всеми файлами в текущем рабочем каталоге как ./currentWorkingDirectory/RemoteStuff/
Теперь давайте распакуем архив в каталог / root / home.
Как видно выше, все файлы были просто извлечены в каталог, содержащийся в нашем текущем рабочем каталоге.
Используйте gzip для сжатия резервных копий файлов
Как отмечалось ранее, мы можем использовать bzip2 или gzip из tar с ключами командной строки -j или -z . Мы также можем использовать gzip для сжатия отдельных файлов. Однако использование одних только bzip или gzip не дает столько возможностей, сколько в сочетании с tar .
Некоторые общие параметры командной строки для gzip:
переключатель | действие |
---|---|
-с | Сохраняет файлы после помещения в архив |
-l | Получить статистику для сжатого архива |
-р | Рекурсивно сжимает файлы в каталогах |
-1 до 9 | Определяет уровень сжатия по шкале от 1 до 9 |
gzip более или менее работает на файловой основе, а не на архивной основе, как некоторые утилиты Windows O / S zip. Основной причиной этого является то, что tar уже предоставляет расширенные возможности архивирования. GZIP предназначен для обеспечения только механизма сжатия.
Следовательно, когда вы думаете о gzip , подумайте об одном файле. Когда вы думаете о нескольких файлах, подумайте об архивах tar . Давайте теперь рассмотрим это с нашим предыдущим архивом tar .
Примечание. Опытные специалисты по Linux часто будут ссылаться на архивный архив как на тарбол.
Давайте сделаем еще один архив tar из нашей резервной копии rsync .
В демонстрационных целях давайте распакуем только что созданный tar-архив и скажем gzip сохранить старый файл. По умолчанию без опции -c gzip заменит весь архив tar на файл .gz .
Попробуем проверить ключ -l с помощью gzip .
Чтобы продемонстрировать, чем gzip отличается от Windows Zip Utilities, давайте запустим gzip для папки с текстовыми файлами.
Теперь давайте используем опцию -r для рекурсивного сжатия всех текстовых файлов в каталоге.
Увидеть? Не то, что некоторые могли ожидать. Все исходные текстовые файлы были удалены, и каждый был сжат по отдельности. Из-за этого поведения лучше всего думать о gzip в одиночку, когда нужно работать в отдельных файлах.
Работая с тарболами , давайте распакуем наш rsynced тарбол в новый каталог.
Как показано выше, мы распаковали и распаковали наш tar-архив в каталог / tmp.
Шифровать архивы TarBall
Шифрование архивных архивов для хранения защищенных документов, к которым, возможно, потребуется доступ другим сотрудникам организации, в случае аварийного восстановления может оказаться сложной задачей. Есть в основном три способа сделать это: либо использовать GnuPG, либо использовать openssl, либо использовать утилиту третьей части.
GnuPG в первую очередь предназначен для асимметричного шифрования и имеет в виду связь идентичности, а не парольную фразу. Правда, его можно использовать с симметричным шифрованием, но это не главное преимущество GnuPG. Таким образом, я бы отказался от GnuPG за хранение архивов с физической защитой, когда доступ может понадобиться большему количеству людей, чем первоначальному человеку (например, корпоративному менеджеру, который хочет защититься от администратора, использующего все ключи от королевства в качестве рычага).
Openssl, как и GnuPG, может делать то, что мы хотим, и поставляется с CentOS. Но опять же, он не предназначен специально для того, чтобы делать то, что мы хотим, и шифрование подвергалось сомнению в сообществе безопасности.
Установите 7zip на Centos
Все просто, 7zip установлен и готов к использованию с 256-битным шифрованием AES для наших архивных архивов.
Где : добавить в архив и -p: зашифровать и запросить фразу-пароль
Теперь у нас есть архив .7z, который шифрует сжатый архив с 256-битным AES.
Примечание. 7zip использует 256-битное шифрование AES с хешем пароля и счетчика SHA-256, повторяемое до 512 Кбайт для получения ключа. Это должно быть достаточно безопасно, если используется сложный ключ.
Процесс шифрования и повторного сжатия архива может занять некоторое время с большими архивами.
Настройте свой собственный CentOS и создайте файлы образов ISO
Простой вариант: простая замена, пошив
Сначала идет грубая версия, цель: после установки ISO система предоставит нам необходимые инструменты и драйверы.
(1): Установите официальную ОС
Загрузите официальный пакет Centos, я загрузил здесь CentOS-7.4-x86_64-DVD-1708.iso
Затем установите его на сервере (сервер, используемый для настройки ISO)
Выберите установку в соответствии с вашими потребностями, здесь я выбрал минимальную установку
Примечание. Созданный ISO-образ будет соответствовать текущему выбору, что означает, что пока созданный ISO-образ в порядке, он будет автоматически проверять зависимости программного обеспечения, устанавливать и настраивать пользователя после выбора «install centos» (да, учетная запись и пароль также будут Он такой же, как выбранный / установленный для текущей установки).
(2): Настройка сети
Поскольку это минимальная установка, сеть в это время не включается автоматически (не забудьте подключить сетевой кабель).
может использовать " ip a "Команда для просмотра сетевого порта, используйте dhclient Команда для автоматического получения ip.
Нет команды ifconfig для минимальной установки, используйте yum search ifconfig Можно увидеть команду для установки net-tools.x86_64 (не устанавливать сначала)
Настроить сеть: vi /etc/sysconfig/network-scripts/ifcfg-<port>
Согласно ip a/addr/address Результат команды
Вы можете видеть, что сетевой порт - eno1, поэтому vi /etc/sysconfig/network-scripts/ifcfg-eno1
Измените ONBOOT = no в последней строке на ONBOOT=yes
Он будет автоматически получать ip при каждой загрузке
(3) Установите инструменты для создания ISO
(4) Создать каталог создания изображений
(1) Создать каталог продукции ISO
(2) Смонтируйте официальный загрузочный диск ISO (при условии, что это /dev.sdb4).
(3) Синхронизируйте файлы на официальном зеркале с каталогом создания изображений.
Вы можете использовать ll -a для просмотра каталога, где
isolinux directory: store the installation interface information when the CD is booted;
images directory: necessary boot image files;
Packages directory: install packages and information;
repodata directory: packages dependency information.
(5) Установите пакет / инструмент, который хотите добавить.
(1) Настроить yum
предназначен в основном для сохранения пакета rpm (для размещения в нашем настроенном ISO)
keepcache = 0 изменен на keepcache=1
сохранить кешированный пакет rpm
(2) Установите столько, сколько хотите
yum install -y net-tools.x86_64 vim i2c-tools gcc и т. д.
Вы также можете установить свой собственный пакет rpm
rpm -ivh evglow-1.0.0-1.x86_64.rpm Или у um install -y evglow-1.0.0-1.x86_64.rpm
Вы можете написать драйвер, который хотите установить, как пакет rpm, а также автоматически компилировать и устанавливать пакет rpm при его установке.
(6) Замените файлы в Packages /
Официальный пакет имеет размер 4G (так что U-диск в формате vfat32 не может быть скопирован), главным образом потому, что в нем хранится много пакетов rpm, нам не нужно так много, поэтому после установки необходимого rpm на сервере, в соответствии с текущим установленным rpm Список для вырезания пакетов / каталога
(1) Создать текущий список оборотов в минуту
(2) Поместите rpm-пакет согласно списку
сначала удалите оригинал
Конечно, он сообщит, что некоторые пакеты недоступны. Это пакеты rpm, которые мы установили с помощью yum, и наш собственный local.
Конечно, здесь есть не все пакеты yum, такие как centos-release-gcc и devtoolset-7-gcc.Эти пакеты находятся в других каталогах. Используйте команду find, чтобы найти их. Не забудьте вставить созданный вами rpm (если есть)
find / -name devtoolset-7.rpm
(7) Восстановить зависимые файлы (очень важно)
* Файл comps.xml содержит все содержимое, относящееся к RPM. Он проверяет зависимости пакетов RPM в разделе «пакеты». Если пакет зависимостей отсутствует во время установки, он спросит, какой пакет RPM требует, какая зависимость.
Есть только один * -comps.xml, но имя слишком длинное, меня зовут
Примечание. Если пакет RPM будет добавлен позже, его необходимо создать повторно.
(8) Отредактируйте файл ks.cfg
Обычно после установки системы файл anaconda-ks.cfg будет существовать в корневом каталоге /,
Запишите конфигурацию во время установки системы. Скопируйте его в каталог Isolinux под зеркалом
Создайте каталог.
Требования для установки могут быть настроены в соответствии с этим ks.cfg, аналогично конфигурации rpmbuild,% pre представляет содержимое, которое запускается до установки системы, а% post представляет сценарий, который выполняется после установки системы.
% packages означает, что пакет должен быть установлен, в основном мы добавляем сюда rpm, который необходимо установить
Примечание. Каждый элемент должен заканчиваться на% end! ! !
Примечание 1. Имя RPM добавляется вместо имени файла rpm, например, мой настроенный пакет rpm, имя файла - evglow-1.0.0-1.x86_64.rpm, но имя RPM - evglow-tool, поэтому% Под пакетами есть evglow-tool
Примечание 2. Имя RPM можно запросить с помощью rpm -qai. Например, я раньше использовал yum install -y centos-release-scl, хотя загруженный пакет называется centos-release-scl-2-3.el7.centos.src.rpm
Но NAEM - это centos-release-scl, и хотя есть 3 пакета, просто напишите centos-release-scl (в случае сетевой установки yum -y install XXX пишет Напишите что угодно)
Примечание 3: можно использовать подстановочные знаки, Например, используемый во время установки
yum install -y devtoolset-7-gcc, Теперь вы также можете использовать devtoolset-7-gcc * для обозначения установки всех пакетов с префиксом devtoolset-7-gcc
Примечание 4: эти пакеты (все пакеты и их зависимости) должны находиться в каталоге /root/iso/CentOS7.4-evglow/Packages/ и запускаться после их размещения в этом каталоге.
createrepo -g $ / repodata / * - comps.xml $ команда, в противном случае, даже если вы поместите пакет, вам все равно будет предложено, что пакет не существует, после того, как установка будет записана в ISO
(9) Отредактируйте файл запуска
(1)Modify the isolinux.cfg file
Изменено в label linux Конфигурация по этому пункту
- Если есть строка "меню по умолчанию", удалите ее.
- Измените строку «добавить initrd = initrd.img inst.stage2 = hd: LABEL = CentOS \ x207 \ x20x86_64 quiet» на
”append initrd=initrd.img inst.stage2=hd:LABEL=EVGLOW inst.ks=hd:LABEL=EVGLOW:/isolinux/ks.cfg“
Этому "EVGLOW" можно называть произвольно, просто не забудьте сохранить то же самое (при последующей записи диска имя загрузочного USB-диска должно быть изменено на это. В противном случае, если вы не можете найти USB-диск, вам необходимо сначала установить его. В centos нажмите «E», а затем используйте linux dd для проверки имени устройства на диске U. Если это / dev / sda4, перезапустите после подтверждения имени устройства, снова нажмите E для редактирования и измените «LABEL = EVGLOW» на / dev / sda4, оба Чтобы изменить, затем ctrl + X, чтобы войти в интерфейс установки)
Примечание: это под лейблом linux, не делайте ошибок, затем MYISO: /isolinux/ks.cfg, не теряйте двоеточие после MYISO
(2)Modify EFI/BOOT/grub.cfg
vim /root/iso/CentOS7.4-evglow/EFI/BOOT/grub.cfg
введите пункт меню «Установить CentOS 7» --class fedora --class gnu-linux --class gnu --class os Вторая половина строки ниже также изменена на inst.stage2=hd:LABEL=MYISO inst.ks=hd:LABEL=MYISO:/isolinux/ks.cfg
Эффект следующий
Примечание: если вы хотите настроить скорость передачи последовательного порта консоли, вы можете добавить ее позже. console=ttyS0,57600n8
Эффект следующий (это та же строка, она становится двумя строками, если не отображается)
Вы также можете установить console = ttyS3,115200n8 console = tty0 для одновременного отображения последовательного порта и внешней видеокарты PCI-E.
isolinux / isolinus.cfg и EFI / BOOT / grub.cfg должны быть изменены, информация о конфигурации двух файлов должна быть согласованной.
(10) Создание ISO
(1) Выполните следующую команду (есть много параметров, возможна небольшая ошибка при вводе текста вручную)
В это время будет сгенерирован файл CentOS7.4-evglow.iso. Следует отметить, что все файлы в каталоге /root/iso/CentOS7.4-evglow/ будут включены, поэтому, если вы ранее создали CentOS7.4- evglow.iso, повторный запуск этой команды будет включать ISO, сгенерированный в последний раз, в результате новый CentOS7.4-evglow.iso будет вдвое больше.
(2) Создать MD5
Обратите внимание на процесс установки:
(1) После создания CentOS7.4-wedge400.iso я скопировал его на флэш-накопитель USB, а затем использовал дискету UltraISO для записи диска под Windows. После завершения записи имя флэш-накопителя USB может быть да
"NO NAME", затем вручную измените значение LABEL, установленное во время предыдущего создания, например "EVGLOW".
Если это по-прежнему не работает, используйте следующий универсальный метод:
Во время установки нажмите «E» в «install centos», затем удалите содержимое за строкой «linuxefi / image / pxeboot / vmlinuz» (обычно до завершения тихой работы) и добавьте команду linux dd для просмотра имени дискового устройства U, Нажмите Ctrl + X, чтобы запустить, и тогда вы сможете увидеть ситуацию с установкой. Если это / dev / sda4, подтвердите имя устройства и перезапустите, снова нажмите E, чтобы отредактировать, измените «LABEL = EVGLOW» на / dev / sda4, измените оба значения до и после, затем ctrl + X, чтобы войти в интерфейс установки.
(2) Сам сервер не имеет интерфейса дисплея VGA / HDMI. Он использует внешнюю видеокарту. Если интерфейс установки всегда черный, попробуйте другую видеокарту. Я столкнулся с ситуацией, когда к видеокарте невозможно получить доступ после установки ОС (всегда черный экран), но компьютер можно войти в систему с помощью SSH.
может быть вызвано несколькими окнами, созданными графической картой.
Читайте также: