Linux установка по сети: Как установить Linux из сети / Хабр
Как установить Linux из сети / Хабр
Буквально вчера хабраюзер Arceny поведал нам об установке дебиана с USB-flash. В статье он упомянул о возможности установки «С помощью загрузки по сети (PXE boot)», благодаря чему я решил наконец написать материал по созданию сервера pxe boot.
Повествование будет вестись на примере всё той же ОС — Debian (так что пути и команды у вас могут отличаться).
Для начала — поставим tftp-сервер. Смотрим доступные варианты (apt-cache search tftp | fgrep server):
- atftpd
- dnsmasq
- tftpd
- tftpd-hpa
Сначала я поставил tftpd-hpa, т.к. о нём рассказывалось в мануале, с которого я начинал создание сервера. Затем я перешёл на atftpd, т.к. мне потребовалось логирование. Рассмотрим оба варианта:
- tftpd-hpa:
Устанавливаем пакет, редактируем файл /etc/default/tftpd-hpa, дабы демон знал, что ему стоит жить:#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"Создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d tftpd-hpa start
- atftpd:
После установки обнаруживаем, что по-умолчанию этот сервис работает через inetd. Я, почему-то, не фанат этого метода, поэтому первым делом закомментировал соответствующую строку в /etc/inetd.conf. Затем редактируем /etc/default/atftpd:USE_INETD=false
OPTIONS="--daemon --tftpd-timeout 1500 --no-multicast --retry-timeout 20 --logfile /var/log/atftpd.log --maxthread 100 --verbose=5 /var/lib/tftpboot"—tftpd-timeout — время жизни потока, при отсутствии запросов
—retry-timeout — таймаут отдачи файла
у меня установлены большие таймауты, т.к. сервис транслируется в городскую локальную сеть, которая периодически прогибается от обилия абонентов, и не справляется с потоком запросов.
Ну и, как и в предыдущем пункте, — создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d atftpd start
Теперь у нас есть tftp-сервер. Один шаг мы сделали 🙂
Далее — настройка dhcp:
- dhcp3:
В конфигурационный файл /etc/dhcp3/dhcpd.conf добавляем информацию о загрузке:filename "pxelinux.0";
next-server <tftp-server-ip>;Если tftpd установлен на том же сервере, что и dhcpd — директиву next-server можно опустить. И перезапускаем dhcp3-server: invoke-rc.d dhcp3-server restart
- dnsmasq:
В конфиг /etc/dnsmasq.conf дописываем:dhcp-boot=pxelinux.0,<tftp-server-hostname>,<tftp-server-ip>
Опять же, если сервера tftp и dhcp совпадают — последние 2 атрибута можно не заполнять. Перезапускаем: invoke-rc.d dnsmasq restart
Шаг второй пройден. Дальше — непосредственно настройка pxe-boot.
Идём на ftp.debian.org, выбираем каталог installer-*, соответствующий необходимой архитектуре. Затем переходим в директорию current/images/netboot внутри мы найдём файлы netboot.tar.gz и gtk/netboot.tar.gz — это файлы текстовой и графической установки соответственно. Выбираем понравившийся, качаем и распаковываем в /var/lib/tftpboot.
Осталось убедиться, что зазрешён доступ на 69 UDP порт, и можно пользоваться прелестями сетевой установки.
В качестве бонуса прилагаю меню, которое получилось у меня в результате нескольких дней издевательств:
В текущей конфигурации возможна установка нескольких ОС (установка Debian возможна как в текстовом, так и в графическом режиме), загрузка xUbuntu (через nfs), SystemRescueCD (через http-boot), memtest86 (через tftp). Установка всех ОС возможна для 2 архитектур — x86 и x64. Т.к. у меня лежит внутрисетевое зеркало репозиториев Ubuntu 8.10 и Debian 5.0, то установщики не предлают выбор репозитория, а автоматически сливают всё с него.
Скриншоты:
стартовый экран, после нажатия кнопки, меню выбора дистрибутива, вторая часть меню выбора дистрибутива, выбрана установка Ubuntu, Debian, Fedora, SuSE.
Архив /var/lib/tftpboot (без малого 200мб), а так же — файлы конфигурации для установщиков Ubuntu и Debian: в них указаны репозитории + Ubuntu разбивается на Ubuntu, kUbuntu, xUbuntu, edUbuntu.
В этой конфигурации есть один большой минус, который мне лень исправить: при открытии меню подгружается порядка 70 файлов, бОльшая часть из которых не нужна пользователю. Что бы избавиться от этого — отображение подменю нужно перевести из подключения меню инклудами в их вызов через ядро vesamenu.c32, которое идёт с pxeboot. Так же — не помешает очистить каталоги меню от дубликатов — большая часть конфигов для меню x64 и x86 совпадает.
Установка Ubuntu по сети | Русскоязычная документация по Ubuntu
Ubuntu, как и многие другие дистрибутивы Linux, можно легко установить по сети. Для этого вам всего лишь потребуется сетевое соединение с компьютером, который будет служить сервером для установки. BIOS вашего компьютера должен для этого поддерживать загрузку по сети.
Настройка сервера для установки
Прежде всего вам потребуется компьютер с Ubuntu или с другим дистрибутивом Linux (данная инструкция написана для Ubuntu), с которого вы будете устанавливать систему (сервер загрузки по сети), и ISO образ Alternate диска с необходимой версией Ubuntu.
Настройка сервера сетевой загрузки
Для загрузки по сети потребуется установить на сервер TFTP, HTTP и DHCP сервисы, чтобы позволить второму компьютеру подключиться и загрузить все необходимые файлы.
Для установки всего необходимого лучше использовать aptitude, которая не входит в стандартную поставку Ubuntu начиная с версии 10.10. Поэтому сначала ставим aptitude через любую программу установки пакетов или командой
sudo apt-get install aptitude
Далее ставим всё необходимое:
sudo aptitude -R install apache2 atftpd tftpd-hpa dhcp3-server
Ключ -R
нужен для того, чтобы atftpd поставился без inetd сервера, который вам совершенно не нужен.
Теперь пора настроить все компоненты.
TFTP сервер
Демон, использующий эти файлы — /etc/hosts.allow и /etc/hosts.deny для ограничения доступа.
Откройте файл /etc/default/atftpd
в любом текстовом редакторе с правами суперпользователя, например, так:
sudo nano /etc/default/atftpd
Измените первую строчку с
USE_INETD=true
на
USE_INETD=false
Кроме этого запомните каталог, который находится в конце строчки OPTIONS
. Скорее всего это будет /srv/tftp
, но в старых Ubuntu может быть и /var/lib/tftpboot
. Редактируем файл /etc/default/tftpd-hpa:
sudo nano /etc/default/tftpd-hpa
вписываем, запомненный каталог
TFTP_DIRECTORY="/srv/tftp"
Теперь просто запустите atftpd
:
sudo /etc/init.d/atftpd start
Теперь создайте в каталоге из OPTIONS
папку ubuntu. Далее везде будем считать, что используется каталог /srv/tftp
:
mkdir /srv/tftp/ubuntu
После этого необходимо смонтировать ваш ISO образ во вновь созданный каталог. Сделать это можно примерно такой командой:
sudo mount -o loop /home/tux/ubuntu-11.04-alternate-i386.iso /srv/tftp/ubuntu/
Если у Вас нет ISO образа диска, но есть записанный Alternate диск, то просто вставьте его в CD/DVD привод. Диск автоматически монтируется в /media/cdrom
. Дальше просто нужно создать симлинк для TFTP сервера:
sudo ln -s /media/cdrom /srv/tftp/ubuntu
На этом настройка TFTP закончена.
Веб-сервер Apache
Что-либо менять в настройках Apache не требуется, достаточно сделать созданный в предыдущем разделе каталог ubuntu
доступным через HTTP. Для этого создайте на него симлинк из рабочей папки Apache:
sudo ln -s /srv/tftp/ubuntu /var/www/ubuntu
Если вы используете не ISO образ, а записанный диск, то выполните
sudo ln -s /media/cdrom /var/www/ubuntu
DHCP сервер
Всё, что осталось — это настроить правильным образом DHCP сервер. Откройте в любом текстовом редакторе с правами суперпользователя файл /etc/dhcp3/dhcpd.conf
, например, командой
sudo nano /etc/dhcp3/dhcpd.conf
В этом файле необходимо изменить следующие настройки:
# Имя вашего внутреннего домена. Если вам это ни о чём не говорит - просто не меняйте. option domain-name "domain.ru"; # Ваш DNS сервер, который должен использоваться на подключаемом компьютере. Чаще всего тут стоит IP адрес роутера. option domain-name-servers 192.168.0.1; # Просто раскомментируйте эту строчку authoritative; # Теперь надо определить сеть для DHCP сервера: # Сначала желаемая подсеть и маска подсети. subnet 192.168.0.0 netmask 255.255.255.0 { # Диапазон выдачи сервером адресов range 192.168.0.100 192.168.0.199; # Роутер для доступа к интернету option routers 192.168.0.1; # Какой файл загружать при сетевой загрузке - укажите именно в таком виде. filename = "ubuntu/install/netboot/pxelinux.0"; }
После этого нужно сказать нашему DHCP серверу слушать один из интерфейсов. Для этого откройте файл /etc/default/dhcp3-server
и добавьте в параметр INTERFACES имя нужного интерфейса. Например, вот так:
INTERFACES="eth0"
Теперь нужно запустить DHCP сервер и можно будет приступать к установке. Однако перед запуском убедитесь, что в вашей сети нету ещё каких-нибудь работающих DHCP серверов. Чаще всего DHCP бывает запущен на роутерах, в этом случае надо зайти на роутер и остановить на нём этот сервис.
Итак, для запуска DHCP сервера достаточно выполнить команду
sudo /etc/init.d/dhcp3-server start
Теперь необходимо перевести второй компьютер в режим загрузки по сети. После этого Вы должны увидеть экран установки Ubuntu.
Установка по при помощи Minimal CD
Если вы по каким-то причинам не можете использовать полноценный диск с Ubuntu, но всё же в вашем компьютере есть CD привод и подключение к интернету, то вы можете поставить систему по сети, загрузившись с маленького диска Minimal CD.
В этом случае система поставится целиком из интернет-репозитория, а диск нужен будет только для запуска процесса установки.
Ссылки
Yellow Leaf — Статьи — Установка Ubuntu по сети через PXE
PXE это среда загрузки компьютера с помощью сетевой карты без использования локальных носителей. Возможности применения достаточно широки: от просто начальной загрузки системы, до запуска полноценных рабочих систем без использования локального диска.
Некоторое время назад автору этих строк в руки попал старенький IBM ThinkCentre S51 8171 с неисправным CD-приводом. С загрузкой с флэшки, созданной с помощью UNetBootin, так же возникли проблемы и осталась последняя надежда: загрузка инсталлятора по PXE. Далее будет кратко описан полученный опыт.
IBM ThinkCentre S51 8171 имеет очень неплохую начинку для машины 2006-го года выпуска: Pentium 4 540, 2x512MB DDR, 30GB ATA HDD. Но в 2018-м она смотрится блекло, хотя и сейчас ей можно найти множество применений. Основная проблема: процессор не поддерживает EMT64 и потому операционная система должна быть обязательно 32-битной. К счастью Ubuntu 16.04 существует в редакции i386 и было решено ставить её.
В качестве сервера загрузки решено было использовать домашний сервер под управлением Ubuntu 16.04. Для раздачи адресов в локальной сети используется isc-dhcp-server. В остальном конфигурация сервера достаточно типична. Для создания PXE-окружения нам понадобится TFTP-сервер. Мы будем использовать пакет «tftpd-hpa». Установим его, а так же (на всякий случай) tftp-клиент:
apt-get install tftpd-hpa tftp-hpa
По умолчанию tftpd-hpa использует директорию «/var/lib/tftpboot». Если по какой-то причине необходимо это изменить то нужно соответствующим образом отредактировать файл «/etc/default/tftpd-hpa» и перезапустить сервис «tftpd-hpa». Но нас вполне устроит конфигурация по умолчанию.
Список доступным инсталляторов Ubuntu 16.04 для загрузки через PXE и сетевой установки можно найти на этой странице. Нас интересует архив под названием «netboot.tar.gz» для архитектуры i386. Скачиваем и распаковываем его в директорию tftp-сервера:
wget http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-i386/current/images/netboot/netboot.tar.gz mkdir -p /var/lib/tftpboot/ubuntu/ tar zxfv netboot.tar.gz -C /var/lib/tftpboot/ubuntu/
На этом подготовка TFTP-сервера заканчивается и остаётся настроить DHCP-сервер. Вся конфигурация сводится к добавлению строки:
# Путь к файлу "pxelinux.0" относительно директории TFTP-сервера filename "ubuntu/pxelinux.0";
Эту строку можно добавить в описание подсети, группы хостов или даже конкретного хоста. Главное чтобы машина, ради которой это всё делается, получила нужную конфигурацию. После этого можно включить машину и выбрав загрузку по PXE приступить к установке системы. После загрузки инсталлятора установка будет происходить обычным образом, так, будто бы была произведена загрузка с «MinimalCD».
На этом можно было бы закончить, но есть ещё интересный момент: автоматическая установка. Инсталлятор Ubuntu частично поддерживает формат конфигурации kickstart от RedHat Linux. Подробнее можно прочитать тут. Если есть необходимость в использовании сценария автоматической установки то сначала необходимо создать файл сценария и разместить его на веб-сервере в локальной сети, затем надо немного модифицировать файл «/var/lib/tftpboot/ubuntu/ubuntu-installer/i386/boot-screens/txt.cfg»:
#append vga=788 initrd=ubuntu-installer/i386/initrd.gz --- quiet append ks=http://192.168.2.1/ks.cfg vga=788 initrd=ubuntu-installer/i386/initrd.gz --- quiet
Здесь параметр «ks=» указывает URL, по которому расположен сценарий настройки kickstart. Более детальное изучение этой темы оставим читателю.
На этом всё. Приятной работы!
Инсталляция Linux по сети с Windows-машины. Грабли и сложности
Немножко философских размышлений
Понятие «инсталляционный диск» постепенно уходит в прошлое. Действительно, зачем нужен инсталляционный диск, если есть скоростной безлимитный Интернет, позволяющий, не сходя с места, скачать самую последнюю версию программы и тут же ее установить? А поскольку скоростной Интернет потихоньку становится явлением уже почти повсеместным, то и онлайн-дистрибутивы набирают все бо́льшую и бо́льшую популярность, вытесняя диски в коробочках.
Немножко особняком здесь стоят операционные системы. Действительно, скачать и установить обычную программу несложно: компьютер с работающей операционной системой и сайт покажет, и инсталлятор скачает, и установит. Пользователю нужно только кнопочки Yes да Next нажимать время от времени. А вот как установить саму операционку, да еще и на чистый компьютер? Раньше без специальной загрузочной дискеты было не обойтись. Причем даже когда операционки стали распространяться на компакт-дисках, все равно нужна была работающая операционка, которая могла бы создать загрузочную дискетку с образа, расположенного на компакт-диске. Потом появились загрузочные компакт-диски, и процесс установки стал значительно легче: всунул диск, включил компьютер, инсталлятор сам запустился, нашел все диски, спросил, куда будем ставиться — и понеслась…
Но диски тоже потихоньку сходят с арены, уступая более компактным и надежным (а в последнее время еще и более объемным) USB-флешкам.
И хотя сейчас CD/DVD-привод пока еще есть практически в каждом компьютере, многие ноутбуки (а в особенности — нетбуки) уже жертвуют этой громоздкой железякой для экономии места. Действительно, а зачем он нужен, если все необходимое можно скачать через Интернет, в крайнем случае — передать через флешку?
Вопрос кажется риторическим — но ровно до тех пор, пока на такой ноутбук не потребуется поставить операционку. И первыми, надо полагать, с этой проблемой сталкиваются производители и продавцы — в самом деле, надо же как-то на продаваемые ноутбуки ставить предустановленную Windows операционную систему, и хотелось бы делать это с минимальными трудозатратами. Вот тут на помощь и приходит технология инсталляции по сети.
На самом деле, технология запуска рабочей станции по программе, загружаемой из локальной сети, не так уж и нова — ей уже лет тридцать, но до сих пор она использовалась преимущественно коммуникационными железками вроде маршрутизаторов или мини-АТС. Видимо, как раз нетбуки и стали тем спусковым крючком, который породил спрос на включение в материнские платы возможность установки операционной системы путем скачивания инсталлятора с сервера. А что — удобно: подключил к специальному загрузочному серверу несколько десятков ноутбуков (на сколько портов хватило), сервер раздал каждому по загрузчику, операционка сама поставилась, ноутбуки готовы к продаже, подключаем следующую партию. Вот оно, массовое производство.
Эволюция материнских плат
А раз уж такая функция появилась на ноутбучных материнках, то почему бы ей не появиться и на обычных — чипсеты-то везде одинаковые. Вообще, эволюция материнских плат — прелюбопытнейшая вещь. Первые материнки, которые я застал, без дополнительных устройств могли подключать разве что только клавиатуру и мышь. Даже жесткий диск к ним подключать напрямую было нельзя — нужно было ставить специальную плату с дисковыми контроллерами, называемую «мультипортовой платой». Но это было настолько давно, что неудивительно, что нынешний пятнадцатилетний мальчик, перерыв весь Интернет, так и не смог найти внятное объяснение, что же такое «мультяшка — байты растеряшка» — еще бы, явление прекратило существовать примерно в первый год его жизни, поскольку к этому времени практически все материнки содержали встроенный контроллер дисков.
Время шло, и материнки обрастали все бо́льшим количеством устройств: сначала в них стали встраивать подешевевшую до невозможности звуковую карту, затем присоединилась и сетевая карта, а потом на материнках стали появляться и простенькие видеокарты. Сейчас уже трудно поверить, что когда-то всего этого не было, и все эти устройства приходилось покупать и устанавливать отдельно.
И вот, современные материнки уже настолько умны, что они в момент включения могут сами отыскать в локальной сети сервер, который скажет им, что нужно запустить. Причем на компьютере может не быть ни одного диска — все необходимые инструкции и программы будут также получены по сети.
От теории к практике
Недавно мне довелось попробовать это все на личном опыте. Я устанавливал Debian Linux на свой домашний сервер. И, поскольку материнка поддерживает старт через сеть, я решил, что этим грех не воспользоваться. В теории все выглядит очень заманчиво: при включении компьютера крохотный инсталлятор скачивается с соседнего компьютера, после чего инсталлятор выходит в Интернет и скачивает последнюю-распоследнюю версию операционки (т.е. не надо никаких сервиспаков, обновлений, драйверов и прочей фигни). Пользователю остается только выбрать режим установки, указать, куда поставить систему, какие компоненты ставить — в общем, стандартный набор простейших действий.
В конечном итоге у меня все получилось, хотя грабли я собрал, кажется, все, какие только возможно — в процессе даже возникала крамольная мысль: «а не проще ли скачать образ DVD и поставить с него?». Но в итоге все трудности были успешно преодолены, а о встреченных граблях мне хотелось бы рассказать — вдруг кому будет полезно.
Итак, топология сети проста и незатейлива, как и в большинстве домов, где больше одного компьютера: роутер, раздающий интернет, к нему подключены два компа (мой и Юлькин), и туда же был воткнут сервер. Теперь задача: один из компов (очевидно, мой) должен стать устройством, с которого сервер получит инсталлятор Линукса.
Почитав мануалы, я узнал, что загрузка осуществляется по протоколу TFTP. TFTP — это упрощенный FTP, там нет авторизации и есть только две команды: get и put. Гугл мне подсказал, что в винде встроенного TFTP-сервера нет, но его можно установить в виде отдельной приблуды под названием Tftpd32. Скачал, установил. Убедился, что команда tftp localhost put aaa.txt действительно заливает файлик aaa.txt из текущего каталога в рабочий каталог Tftp32. «Полдела сделано», — подумал я оптимистично и распаковал в рабочий каталог файлы инсталлятора Debian.
А дальше началось самое веселое — нужно было как-то дать понять стартующему серверу, куда лезть за загрузчиком. Сначала я наивно подумал, что он сам просканирует сеть и найдет там TFTP-сервер. Надо ли говорить, что ничего подобного не случилось. Включившись, сервер некоторое время показывал мне вот такую надпись:
DHCP....(/)
после чего добавил:
PXE-E53: No boot filename received.
На этом загрузка по сети закончилась.
Ну, логично, подумал я. В настройках Tftp32 есть вкладка DHCP, и там есть поле Boot File — куда, очевидно, надо вписать pxelinux.0 (это имя загрузчика, я узнал об этом из мануала по установке Debian). Но вот что меня смущало: то, что это поле находится во вкладке DHCP означает, что Tftpd32 должен выступать еще и в роли DHCP-сервера? Так у меня уже есть один, на роутере, зачем мне еще один?
Но поскольку поле Boot File попросту не прописывалось без прочих настроек, очевидно было, что Tftpd32 все-таки придется сделать DHCP-сервером. Получается, «кто девушку ужинает, тот ее и танцует» — т.е. кто айпишник выдал, тот и инструкции по загрузке выдает, иначе никак.
Мне очень не хотелось отключать DHCP на роутере, поэтому я попробовал прямо так — а вдруг не подерутся? Но они, естественно, подрались. Ладно, выставил на всех компах статические адреса, отключил DHCP на роутере, попробовал заново. Включаю опять сервер — кажется, дело сдвинулось с мертвой точки. Tftp32 даже написал, что у него запросили файлик pxelinux.0, и показал прогресс-бар загрузки… который замер на нуле и больше не двигался.
Еще поползал по Интернету, покурил различные мануалы. Осознал, что старт происходит не просто по протоколу TFTP, а по некоей его модификации под названием PXE. Нашел в настройках Tftpd32 неприметную галочку PXE Compatibility. Поставил. Еще раз стартовал сервер. Опять ничего не грузится: No boot filename received.
Оказывается, Tftpd32 после каждого изменения настроек сбрасывает рабочий каталог на каталог по умолчанию (тот, куда он сам установился). Я выругался, вернул каталог на место и снова стартовал сервер. Помогло. Пискнув, сервер гордо отобразил экран инсталлятора Debian Linux.
Облегченно вздохнув и мысленно возликовав, я начал установку. Все вроде бы шло как по маслу, но когда мне предложили выбрать адрес зеркала, с которого будет вестись установка, я столкнулся с очередной проблемой. Какое бы зеркало я ни выбрал, я получал одну и ту же ошибку:
Mirror does not support the specified release (squeeze)
Squeeze — это кодовое название версии Debian 6.0 — самой актуальной на данный момент. Ну не может такого быть, чтобы она нигде не поддерживалась! Более того, слазив по адресу ftp://ftp.us.debian.org/debian/dists/squeeze, я убедился, что этот каталог вполне себе существует и доступен. Явно это у меня где-то очередной косяк.
Самое странное, что в Интернете я не нашел четкого описания причин этой проблемы, но, чуть-чуть подумав, допер сам. Ошибка возникает при попытке инсталлятора исполнить команду wget -q http://ftp.uk.debian.org/debian//dists/squeeze/Release -O — | grep -E ‘^(Suite|Codename):’. Причина ошибки не анализируется, поэтому отсутствие конкретного файла и недоступность всего зеркала целиком трактуются одинаково — т.е. даже если зеркало недоступно целиком, пользователь получит вводящее в заблуждение сообщение, мол, «на данном зеркале твоя версия не поддерживается».
А причиной недоступности, очевидно, было то, что я в настройках DHCP в Tftpd32 забыл указать адрес DNS-сервера — поэтому загрузчик не мог разрешить ни одного доменного имени, и, как следствие, не мог достучаться ни до одного зеркала. После того, как я эту проблему исправил, инсталляция прошла успешно.
P.S. Включить обратно DHCP на роутере я, естественно, забыл — поэтому когда я через несколько дней привычно попытался подключиться к Wi-Fi с мобильника, я получил отлуп. Поскольку дело было как раз в ванной, пришлось подключение отложить — в телефоне статический айпишник прописывать некуда 🙂
Уже довольно давно, мной была написана статья о сетевой установке Ubuntu, по локальной сети, без использования различных носителей, только загрузка по PXE и все. В этот раз я решил обновить статью и сделать ее ближе к современным реалиям, а главное, расширить функционал. Все будет выполняться на примере Ubuntu 14.04!
Под разные требования, должны быть и разные решения, главная загвоздка в том, что зачастую, нам требуется не одна операционная система, а несколько. Вот я и решил написать на эту тему статью. С предыдущей статьей, можно ознакомиться по ссылке, Установка Ubuntu по сети.
Главная идея заключаться в том что у нас появится возможность, выбирать какую операционную систему мы будем устанавливать, а также ее разрядность, фактически, у нас появится меню загрузки, после загрузки системы по локальной сети.
Все это мы реализуем, на примере, только что вышедшей Ubuntu 14.04
Для тех кто не понял, все затевается ради того чтобы появилась возможность выбора, какую операционную систему устанавливать, а также ее разрядность т.е. должно появиться меню где будут представлены все ОС доступные для установи по сети, которое будет иметь следующий вид:
Ubuntu_14.04×86
Ubuntu_14.04amd64
Для работы нам понадобится:
Обязательно!
1) Настроенный шлюз, для примера, воспользуйтесь статьей: Настройка шлюза локальной сети, на базе Ubuntu
2) DHCP сервер, для примера, можно воспользоваться статьёй: Настройка DHCP сервера под управлением Ubuntu
3) Настроенный TFTP сервер, загружающий PXE загрузчик, воспользоваться статьёй: Настройка PXE Boot меню с мемтестом и паролями
Опционально!
3) Дополнительным, но не обязательным моментом, может быть настроенный DNS сервер, пример есть в статье Настройка DNS сервера для локальной сети
Предполагается что у вас настроен шлюз, DHCP, TFTP севрер, а также добавлено меню загрузки PXE т.к. на этом моменте я останавливаться не буду.
Переходим к настройке инсталлируемой системы.
Для начала мы создадим пункт установки для Ubuntu 14.04×86, для чего нам понадобится установочный диск соответствующей разрядности. Нам его необходим скачать и примонтировать, для того чтобы извлечь файлы загрузчика инасталятора системы.
Т.к. файл сетевого загрузчика у нас лежат в директории директории /var/lib/tftpboot/ откуда они и подтягиваются TFTP сервером, то в ней нам нужно создать директорию Ubuntu, чтобы в нее сложить файлы с дисков установки, сделаем это:
mkdir /var/lib/tftpboot/ubuntu
В директории Uubntu мы создаем дополнительные директории для файлов загрузчика инсталлятора ОС для x86 разрядных систем и ADM64-соответсвенно.
mkdir /var/lib/tftpboot/ubuntu/x86
mkdir /var/lib/tftpboot/ubuntu/amd64
Теперь нам требуется скачать установочный диск посмотреть можно тут mirror.yandex.ru/ubuntu-releases/14.04/
Мы качнем версию х86 для сервера т.к. она меньше весит
wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-i386.iso
После завершения закачки ISO образа, нам нужно его смонтировать, чтобы извлечь нужные нам файлы, а для этого, в директории /media мы создадим директорию iso, давайте сделаем это:
mkdir /media/iso
Монтируем образ диска в эту директорию:
sudo su
mount ubuntu-14.04-server-i386.iso /media/iso/
Система выдаст что диск смонтирован в режиме чтения:
mount: warning: /media/iso/ seems to be mounted read-only.
Идем забирать загрузчик и ядро инсталятора:
cd /media/iso/install/netboot/ubuntu-installer/i386/
Нас интересуют 2 файла linux и initrd.gz, которые нам нужно забрать и перенести в директорию /var/lib/tftpboot/ubuntu/x86
давайте скопируем их:
cp linux /var/lib/tftpboot/ubuntu/x86
cp initrd.gz /var/lib/tftpboot/ubuntu/x86
Все, установочный образ нам больше не нужен, для начала отмонтируем его из директории iso:
umount /media/iso/
После этого ISO-образ можно удалить.
Похожие действия проводим для образа установочного диска с разрядностью x64, я не буду расписывать что и куда, просто приведу листинг команд, действия все те же, только пути немного отличаются, там прописано amd64
wget http://mirror.yandex.ru/ubuntu-releases/14.04/ubuntu-14.04-server-amd64.iso
mount ubuntu-14.04-server-amd64.iso /media/iso/
cd /media/iso/install/netboot/ubuntu-installer/amd64/
cp linux /var/lib/tftpboot/ubuntu/amd64
cp initrd.gz /var/lib/tftpboot/ubuntu/amd64
umount /media/iso/
С файлами установки закончили, теперь настроим PXE меню загрузки.
Настройка меню загрузки PXE
Для начала добавим пункт меню с названием Linux Install, для этого нам нужно отредактировать файл:
nano /var/lib/tftpboot/pxelinux.cfg/default
В конец файла добавим запись:
LABEL Linux Install
MENU LABEL ^Linux Install
KERNEL vesamenu.c32
APPEND pxelinux.cfg/linux.menu
Как видно из записи, у нас будет другая страница с выбором дисирибутивов для установки, создадим ее:
nano /var/lib/tftpboot/pxelinux.cfg/linux.menu
Добавим в нее названия пунктов для загрузки с возможностью выбора операционной системы для установки, пока это будет Ubuntu 14.04 x86 и amd64 архитектуры:
LABEL Install Ubuntu 14.04x86
MENU label ^Ubuntu 14.04x86
KERNEL ubuntu/x86/linux
APPEND initrd=ubuntu/x86/initrd.gz
LABEL Install Ubuntu 14.04amd64
MENU label ^Ubuntu 14.04amd64
KERNEL ubuntu/amd64/linux
APPEND initrd=ubuntu/amd64/initrd.gz
На этом настройка закончена, можно подключать клиентскую машину и пытаться загрузиться по PXE, в результате после загрузки системы по сети, у нас появится меню такого вида:
Выбираем то что мы хотим установить, установка начнется автоматически, ну а далее только следовать указаниям инсталятора системы.
Другие операционные системы добавляются аналогичным способом.
На этом, я пожалуй и закончу на сегодня.
Ну и как всегда, если возникли вопросы прошу в комментарии, нашли ошибку пишите в личку ну или на почту.
устанавливаем Linux и BSD удаленно — «Хакер»
Содержание статьи
Мы все привыкли думать, что для установки новой ОС на машину требуются как
минимум две составляющие: сама машина и физический носитель, на котором записан
инсталлятор операционной системы. К счастью, это не всегда так. В тех ситуациях,
когда физический доступ к компу невозможен, вполне можно обойтись и без второго
компонента.
Традиционно, для установки операционной системы на комп принято использовать
специальные установочные диски или другие носители, которые умеют самостоятельно
загружаться и передавать управление записанному на них установщику. Это простой,
удобный и эффективный способ водрузить ОС на машину, однако он применим далеко
не всегда. Иногда мы оказываемся в такой ситуации, когда физический доступ к
машине просто невозможен. Это может быть удаленный сервер, машина друга,
живущего в другом городе, или что угодно еще. Главное в такой ситуации то, что
подопытный комп доступен только по сети, и на нем обычно уже установлена
какая-то операционка (например, Windows). А вопрос заключается в том, как
заменить ее на нечто другое (например, Linux), причем сделать это без участия
третьих лиц.
Хитрые трюки
Самый простой вариант установить ОС без использования физического носителя —
воспользоваться возможностями виртуальной машины. Практически любая из них
позволяет подсунуть в качестве виртуального настоящий жесткий диск, тем самым
открывая поистине безграничные возможности для экспериментов. Это абсолютно
безопасный и проверенный временем прием, который мы во всех подробностях
рассмотрим позднее.
Более предпочтительный сценарий — использовать инструменты быстрой установки
Linux, которые предоставляют возможность инсталлировать пингвина прямо из
Windows без какого-либо вмешательства со стороны пользователя. Наиболее
известный из таких инструментов носит имя
UNetbootin и
первоначально разработан для создания
загружаемых USB-флешек с пингвином на
борту, но позднее научился устанавливать полноценные дистрибутивы прямо на
жесткий диск. Подобные утилиты есть в арсенале таких дистрибутивов, как
Ubuntu и OpenSUSE,
но до возможностей UNetbootin им далеко (последний умеет ставить несколько
вариантов Linux, BSD, легко поддается настройке и может работать в Linux). Те,
кто любят все делать руками, могут воспользоваться grub4dos и ISO-образами
соответствующих дистрибутивов. Этот вариант мы тоже рассмотрим.
Еще проще все это проделать в том случае, когда на машине уже установлена
UNIX-подобная ОСь, а задача состоит в том, чтобы заменить ее другим
представителем семейства UNIX (например, установить BSD или другой
Linux-дистрибутив). Для этого подойдет все тот же UNetbootin, либо вариант с
загрузкой ISO-образа или минимального образа initrd-средствами Grub (его можно
установить из портов BSD).
От Windows к Linux. Виртуальная машина
Как я уже упоминал, самый простой и очевидный способ удаленной установки ОС
заключается в использовании виртуальной машины. Он сработает в любой ОС, где
может быть запущена ВМ, поэтому даже если на удаленной стороне стоит Solaris или
еще большая экзотика, выход есть. В своей работе мы будем использовать
прекрасную ВМ VirtualBox,
которую можно абсолютно бесплатно скачать из Сети. Нас интересует версия для
Windows, поэтому файлом для скачивания будет VirtualBox-3.2.10-66523-Win.exe.
Сразу после установки запускать виртуальную машину не нужно, сначала следует
подготовить псевдо-образ жесткого диска, который будет ссылаться на настоящий
диск. Сделать это можно только с помощью консольных утилит, поэтому открываем
командую строку и пишем:
> cd c:\Program Files\Oracle\VirtualBox
> VBoxManage internalcommands createrawvmdk -filename c:\realhd.vmdk -rawdisk
\\.\PhysicalDrive0 -register
Образ realhd.vmdk, расположенный в корне диска C:, будет ссылаться на
физический диск (\\.\PhysicalDrive0 в нотации Windows), опция ‘-register’
позволяет сразу добавить его в «Менеджер виртуальных носителей» VirtualBox.
Забегая вперед, скажу, что то же самое в Linux можно проделать с помощью похожей
команды:
$ sudo VBoxManage internalcommands createrawvmdk -filename ~/realhd.vmdk
-rawdisk /dev/sda -register
Теперь можно скачать ISO-образ устанавливаемого Linux-дистрибутива и выделить
для него место на диске. Сделать это можно, уменьшив размер NTFS-раздела с
помощью Partition Magic в WinXP/Win2k3 или оснастки diskmgmt.msc в Vista/Seven.
После этого запускаем VirtualBox и создаем новую виртуальную машину, указав
подготовленный ранее образ в качестве первого жесткого диска. Далее открываем
свойства виртуальной машины, вкладку «Носители», и указываем в качестве CD-ROM
реальный привод компа. Запускаем ВМ и благополучно устанавливаем Linux в
свободную область диска. Предупрежу, что сразу перезагружать реальную машину не
стоит, иначе мы потеряем к ней сетевой доступ (сеть будет либо вообще не
настроена, либо настроена на подключение к виртуальной сети VirtualBox). Сначала
необходимо загрузить дистрибутив в виртуальной машине и настроить сеть так,
чтобы она была работоспособна после загрузки ОС на реальном железе (то есть
скопировать сетевые настройки из работающей в данный момент ОС). Делать это
нужно с предельной осторожностью, потому как одна ошибка навсегда отрежет машину
от интернета.
Большим плюсом будет работающий в локальной сети DHCP-сервер, раздающий
настройки для подключения к интернету, в этом случае ничего настраивать не
придется и достаточно будет установить SSH-сервер и завести пользователя, с
правами которого мы сможем попасть на машину (впрочем, последние две вещи
придется сделать в любом случае). Когда все это будет выполнено, машину можно
перезагрузить и минут через пять попытаться подключиться к ней по SSH.
От Windows к Linux. UNetbootin
UNetbootin (Universal Netboot Installer) — это графическая программа,
предназначенная для создания загружаемых USB-носителей с UNIX-подобными ОС на
борту или же установки UNIX на жесткий диск без использования физических
носителей. Она может работать как в Windows, так и в Linux, поддерживает
несколько десятков различных ОС (дистрибутивы Linux и ОС семейства BSD) и
невероятно проста в использовании. Далее мы рассмотрим, как с ее помощью
установить Ubuntu.
Для начала необходимо получить саму утилиту. Заходим на страницу
unetbootin.sf.net и
нажимаем большую синюю кнопку с надписью «Download» («for Windows» или «for
Linux»). Запускаем полученный файл (в случае с Linux-версией его сначала
необходимо сделать исполняемым). Появится окно UNetbootin, в котором можно
выбрать дистрибутив, его версию, тип установки (NetInstall для сетевой установки
или HdMedia для установки с заранее подготовленного образа), в самом нижнем поле
можно выбрать тип установки, в нашем случае — «Жесткий диск», нажать кнопку ОК и
перезагрузить комп.
В обычной ситуации всего этого достаточно для того, чтобы UNetbootin смог
установить на диск загрузчик и минимальный Linux-образ, который скачает
установочные файлы ОС на диск и запустит инсталлятор. Однако мы имеем дело с
удаленной машиной и поэтому не сможем получить доступ к ОС до того момента, пока
она не будет полностью установлена (не сможем отвечать на вопросы инсталлятора).
Все это приведет к тому, что после перезагрузки машина окажется застопоренной на
первом же вопросе. Чтобы побороть проблему, нам придется создать собственный
установочный ISO-образ Ubuntu, который сможет произвести инсталляцию ОС в
полностью автоматическом режиме. Для этого нам потребуется образ серверной
версии Ubuntu-10.10 (десктопный вариант не поддерживает автоматизацию
установки), немного смекалки и файл дефолтовых ответов на вопросы инсталлятора
(так называемый preseed-файл).
Инструкция:
1. Скачиваем установочный образ Ubuntu 10.10 и распаковываем его в отдельный
каталог:
$ sudo mount -o loop ubuntu-10.10-server-i386.iso /cdrom
$ mkdir mycd
$ rsync -a /cdrom/ mycd
2. Добавляем в образ preseed-файл:
$ vi auto.seed
# Говорим по-русски
d-i debian-installer/locale string ru_RU
# Английскую раскладку, пожалуйста
# Можно сразу указать ru, чтобы потом не мучиться
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
# Пусть сам выберет дефолтовый сетевой интерфейс
d-i netcfg/choose_interface select auto
# Качаем пакеты по FTP
d-i mirror/protocol string ftp
# Ставим в самую большую неразмеченную область диска
d-i partman-auto/init_automatically_partition select biggest_free
# Все файлы в один раздел
d-i partman-auto/choose_recipe select atomic
# Ставим на Ext4
d-i partman/default_filesystem string ext4
# Соглашаемся со всем, что говорит программа разметки
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# В системе один пользователь — user (пароль resu)
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string user
d-i passwd/user-password-crypted password 458c9bfe3b6716ad976383cf20a3dcf4
d-i user-setup/allow-password-weak boolean true
# Ставим десктопную редакцию дистрибутива
# Можно заменить на kubuntu-desktop или ubuntu-server, например
tasksel tasksel/first multiselect ubuntu-desktop
# Ставим SSH-сервер
d-i pkgsel/include string openssh-server
# Разрешаем загрузчику найти другие установленные ОС и добавить их в меню
d-i grub-installer/with_other_os boolean true
# Автодетект монитора (Ubuntu, как-никак)
xserver-xorg xserver-xorg/autodetect_monitor boolean true
$ sudo cp auto.seed mycd/preseed
В файле прописаны ответы на вопросы инсталлятора, по умолчанию будет выбран
русский язык и раскладка us, в качестве места дислокации новой ОС на диске будет
выбрана максимальная неразмеченная область, дополнительно будет установлен пакет
openssh-server и добавлен пользователь user с паролем resu, так что после
загрузки на машину можно будет войти по SSH. Если для подключения машины к сети
используется ручная настройка (а не DHCP), то строку «d-i netcfg/choose_interface
select auto» следует заменить на пять следующих строк, подставив реальные
адреса:
# DNS-сервер
d-i netcfg/get_nameservers string 8.8.8.8
# IP-адрес
d-i netcfg/get_ipaddress string 192.168.0.1
# Маска сети
d-i netcfg/get_netmask string 255.255.255.0
# Адрес шлюза
d-i netcfg/get_gateway string 192.168.0.2
# Подтверждение конфигурации
d-i netcfg/confirm_static boolean true
3. Редактируем конфиг загрузчика так, чтобы он узнал о существовании нашего
preseed-файла:
$ sed -e 's#file=/cdrom/preseed/ubuntu.seed#auto=true\ priority=critical\
file=/cdrom/preseed/auto.seed#' mycd/isolinux/txt.cfg > txt.cfg
$ sudo mv txt.cfg mycd/isolinux/
4. Удаляем старый файл контрольных сумм и создаем новый:
$ cd mycd
$ sudo rm md5sum.txt
$ find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo
tee md5sum.txt
5. Генерируем новый ISO-образ:
$ sudo mkisofs -D -r -V "Ubuntu 10.10 AutoInstall" -cache-inodes -J -l
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table
-o ../ubuntu-10.10-server-i386-auto.iso
Закачиваем получившийся ISO-образ на удаленную машину, запускаем UNetbootin,
выбираем пункт «Образ диска», далее — «ISO-образ», находим образ на диске и
нажимаем кнопку ОК.
После завершения работы UNetbootin заходим в свойства «Моего компьютера»,
открываем вкладку «Дополнительно», нажимаем кнопку «Параметры» в разделе
«Загрузка и восстановление» и выбираем «UNetbootin» в поле «Операционная
система, загружаемая по умолчанию». Это позволит машине автоматически загрузить
ISO-образ, установленный с помощью UNetbootin. Перезагружаем машину. Через 30
минут пробуем подключиться к серверу, молясь всем богам автоматизации. Примерно
также можно установить Debian, но с другими дистрибутивами все будет иначе.
Многие из них вообще не поддерживают автоматизацию процесса установки, другие
используют совсем другой ее вариант (например, Kickstart в RedHat).
От Windows к Linux. Grub4dos
Людей с пытливым умом наверняка интересует механизм работы UNetbootin. В этом
разделе речь пойдет о том, как вручную сделать то же, о чем мы говорили выше. В
качестве основного инструмента будет выступать Grub4dos — вариант Grub,
способный грузиться с FAT32 и NTFS-разделов, все тот же переработанный образ
Ubuntu и гвоздь программы — WinXP.
Главная задача — установить Grub4dos на системный диск Windows и сделать так,
чтобы мы смогли получить к нему доступ. Для этого идем по ссылке
sourceforge.net/projects/grub4dos/files/, скачиваем последнюю версию
Grub4dos и распаковываем файлы grldr и menu.lst в корень диска C:. Далее снимаем
с файла c:/boot.ini атрибут «Только для чтения» и добавляем в конец секции [boot
loader] следующую строку:
default=c:\grld
И эту строку последней:
c:\grldr="Grub4Dos"
Сохраняем файл. Открываем c:/menu.lst и пишем в него следующее:
title Ubuntu 10.10 AutoInstall
find --set-root /ubuntu-10.10-serveri386-auto.iso
map /ubuntu-10.10-server-i386-auto.iso(hd32)
map --hook
chainloader (hd32)
Сохраняем. Помещаем ISO-образ в корень диска C:, перезагружаем ОСь, ждем 30
минут, подключаемся по SSH с именем пользователя «user» и паролем «resu».
Установка Grub4dos в Vista/Seven
1. В корень диска C: помещаем файлы grldr, grldr.mbr и menu.lst;
2. Добавляем запись в загрузчик Windows:
> bcdedit /create /d "Grub4Dos" /application
bootsector3. Редактируем запись (ID берем из вывода предыдущей команды):
> bcdedit /set ID device partition=C:
> bcdedit /set ID path \grldr.mbr
> bcdedit /displayorder ID /addlast
От Linux к FreeBSD. Путь джедая
Последний из вариантов удаленной установки ОС не так тривиален, как
предыдущие. Мы будем устанавливать FreeBSD на машину, работающую под управлением
Linux, причем сделаем это так, что свежеустановленная ОС полностью затрет
существующую. Для тех, кого интересует, зачем это нужно, отвечу: многие хостинги
сдают в аренду серверы только под управлением Linux, не предоставляя доступа к
удаленной консоли и таким образом лишая пользователей выбора. Описанная в статье
методика позволит поставить на сервер FreeBSD, имея доступ только по SSH.
Проделать это можно с помощью инструмента под названием
mfsBSD, который позволяет
создать минимальный дисковый образ FreeBSD, полностью загружаемый в память.
Записав этот образ в начало жесткого диска и перезагрузив машину, мы получим
сетевой доступ к полностью рабочей минимальной копии FreeBSD, которую сможем
использовать для последующей установки полноценной ОС с помощью стандартного
инсталлятора sysinstall. Порядок действий следующий:
1. Скачиваем архив mfsBSD на локальную машину и распаковываем его:
$ wget mfsbsd.vx.sk/release/mfsbsd-1.0.tar.gz
$ tar xzf mfsbsd-1.0.tar.gz
$ cd mfsbsd-1.0
2. Создаем конфигурационный файл rc.conf, который будет использоваться в
образе:
$ cp conf/rc.conf.sample conf/rc.conf
Добавляем в конец файла следующие строки:
$ vi conf/rc.conf
# IP-адрес маршрутизатора
defaultrouter="192.168.0.1"
# Настройки сетевого интерфейса
ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"
Здесь re0 используется в качестве примера. В реальной ситуации ты должен
узнать, какая сетевая карта установлена на машине (dmesg в помощь), и подобрать
к ней соответствующее имя сетевого интерфейса (которое по совместительству
является именем драйвера, например, re0 — это сетевая карта RealTek 8139C,
драйвер для которой носит имя «re»). Также следует отметить, что если машина
получает сетевые настройки по DHCP, то последняя строка должна иметь следующий
вид:
ifconfig_re0="DHCP"
3. Создаем мини-образ из установочного ISO-образа FreeBSD (можно скачать с
ftp://ftp.freebsd.org, либо
ближайшего зеркала):
$ sudo mount -o loop FreeBSD-8.1-RELEASE-i386-disc1.iso /cdrom
4. Перекидываем полученный образ на удаленную машину:
$ scp disk.img [email protected]:.
5. Заходим на удаленную машину с правами root’а, записываем образ на диск и
идем на перезагрузку:
# dd if=/root/disk.img of=/dev/sda bs=1m
# reboot
Через пять минут вновь подключаемся к удаленной машине в качестве root’а,
вводим пароль mfsroot, запускаем sysinstall и приступаем к обычной установке
FreeBSD. В качестве источника установки выбираем FTP или HTTP.
Преимущество способа в том, что существующую ОС можно спокойно затереть во
время установки новой (хотя это все равно придется сделать, так как мы затерли
таблицу разделов), ни один из описанных выше способов не позволяет проделать
такое.
От FreeBSD к Linux.
Путь наименьшего сопротивления.Чтобы установить Linux на FreeBSD-машину, достаточно
создать автоустанавливаемый образ Ubuntu, как это было
описано в разделе про UNetbootin, затем установить grub, как
показано ниже:
# cd /usr/ports/sysutils/grub
# sudo make install clean
# mkdir /boot/grub
# cp /usr/local/share/grub/i386-freebsd/* /boot/grub/
# touch /boot/grub/menu.lst
# sysctl kern.geom.debugflags=16
# grub-install /dev/ad0И записать следующие строки в menu.lst:
# vi /boot/grub/menu.lst
title Ubuntu 10.10 AutoInstall
# Заменяем X, Y, Z на номер диска, раздела и букву
слайса, далее пишем полный путь до ISO-образа на
этом слайсе
map (hdX,Y,Z)/ubuntu-10.10-server-i386-auto.iso(hd32)
map --hook
chainloader (hd32)После этого можно перезагружаться.
Заключение
Как видишь, такая, казалось бы, нетривиальная задача, как удаленная установка
ОС, на самом деле достаточно проста и может быть выполнена множеством разных
способов, начиная с использования виртуальной машины и заканчивая созданием
загружаемых в память дисковых образов. Более того, автор совсем не удивится,
узнав, что кто-то придумал еще десяток других способов.
Info
В Linux вместо VirtualBox гораздо удобнее использовать qemu:
$ sudo qemu -hda/dev/sda -cdrom ubuntu-10.10-desktop-i386.iso -boot
d
Warning
Настоятельно рекомендую тестировать все описанные в статье методы на
виртуальной машине перед применением на машине реальной.
PXE — грузим всё! Осваиваем мультизагрузку по локальной сети — «Хакер»
Содержание статьи
Сегодня автоматизируется все больше задач, для максимальной отдачи серверов все шире используют виртуализацию. Но устанавливать операционки по-прежнему приходится. Каждый делает это по-своему: у кого-то полные карманы различных образов на все случаи жизни, кто-то по старинке носит с собой «барсетку» с дисками, а то и две. Как правило, администраторы выполняют эту работу с невеликим удовольствием. Давай посмотрим, как сократить время на тривиальные задачи, как научить компьютеры устанавливать системы самостоятельно, вообще без участия админа, используя при этом только локальную сеть.
Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера… Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8… В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).
Главное меню загрузки PXE, текстовый режим
У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.
LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».
Главное меню загрузки PXE, графический режим
Что будем реализовывать?
Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.
- Тонкие клиенты на базе Thinstation Linux.
- Раздел Linux.
- Установка Ubuntu 14.04 x86.
- Установка Ubuntu 14.04 x64.
- Установка Ubuntu 12.04 x86.
- Установка Ubuntu 12.04 x64.
- Загрузка SliTaz Live CD.
- Раздел Windows.
- Установка Windows 2012.
- Установка Windows 7.
- Acronis.
- Windows PE с пакетом полезного ПО.
- Acronis True Image.
- Legacy BIOS.
- UEFI.
- Acronis Disk Director.
- Legacy BIOS.
- UEFI.
- Касперский Rescue v 10.
- ERD Commander от 5 до 8 через ISO-образ.
- Memtest.
Собираем все в кучу и взлетаем
В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get install tftp-hpa nfs-common openbsd-inetd isc-dhcp-server -y
Параметр -y означает, что на все вопросы отвечаем согласием. Настройка TFTP сводится к правке пары строк в соответствующем месте:
# nano /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Обрати внимание, параметр TFTP_DIRECTORY=»/var/lib/tftpboot» указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:
$ sudo service tftpd-hpa restart
$ sudo /etc/init.d/tftp-hpa restart
Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.150 192.168.0.200;
option broadcast-address 192.168.0.255;
option domain-name-servers 192.168.0.2, 192.168.0.5;
option routers 192.168.0.1; next-server 192.168.0.10;
allow booting;
allow bootp;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
filename "pxelinux.0";
next-server 192.168.0.10;
}
}
Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.
Syslinux. Ставим загрузчик
В качестве загрузчика будем использовать Syslinux. Последнюю версию можно взять здесь. Распаковываем и кладем в /var/lib/tftpboot следующие файлы: ldlinux.c32, libcom32.c32, pxelinux.0 и lpxelinux.0 и каталог boot, в который складываем chain.c32, ldlinux.c32, libcom32.c32, libcom32.elf, libutil.c32, linux.c32, memdisk, menu.c32, vesamenu.c32 (menu.c32 — только текстовое меню, vesamenu.c32 позволяет украсить меню, например добавив фон). Файл меню загрузки по умолчанию должен находиться в /var/lib/tftpboot/pxelinux.cfg/default и иметь вид
menu title Boot menu PXE
DEFAULT boot/menu.c32
PATH boot/
TIMEOUT 50
label boothdd
MENU LABEL Boot from first hard drive
COM32 chain.c32
APPEND hd0
На этом этапе загрузчик должен работать и иметь единственный пункт меню «Загрузка с первого жесткого диска». Далее необходимо создать подменю. Чтобы не путаться и не городить огромные файлы, рекомендую вынести подпункты в отдельные файлы меню, например так:
label linux
menu passwd qwerty
menu label Install/Boot Linux
kernel boot/menu.c32
append pxelinux.cfg/linux
Все, что относится к разделу меню Install/Boot Linux, вынесем в отдельный файл /var/lib/tftpboot/linux. Аналогично выносятся другие пункты меню. Остальные параметры загрузки рассмотрим при добавлении каждого пункта/продукта.
Раздел Linux. Готовим на примере Ubuntu 14.04
Menu title Linux Boot
label menu
menu label Return to Main menu
kernel boot/menu.c32
append pxelinux.cfg/default
label ubuntu32
menu label Ubuntu 14.04 i386 Netinstall
kernel images/linux/ubuntu14/i386/linux
initrd images/linux/ubuntu14/i386/initrd.gz
label ubuntu64
menu label Ubuntu 14.04 amd64 Netinstall
kernel images/linux/ubuntu14/amd64/linux
initrd images/linux/ubuntu14/amd64/initrd.gz
label slitaz
menu label Slitaz v4.0 LiveCD
kernel boot/memdisk iso
initrd images/slitaz-4.0.iso
append iso raw
Первым пунктом ставим возврат в предыдущий раздел меню. Далее будет установка Ubuntu 14.04 i386 и amd64. Скачиваем образ Ubuntu 14.04 mini.iso, распаковываем, находим прямо в корне два файла: linux и initrd.gz. Напомню, что корневой каталог сервера для загрузки — это каталог TFTP-сервера /var/lib/tftpboot
. Исходя из этого, располагаем файлы внутри tftpboot. В случае с установкой Ubuntu, например, в images/linux/ubuntu14/i386
для x86 и в /images/ubuntu14/amd64
для x64 архитектур соответственно. Заметь, пути указаны относительно каталога FTFP-сервера. Здесь можно задавать параметры для установки, для автоматизации процесса установки. Например, задать параметр установки в качестве окружения рабочего стола при установке Debian KDE: append desktop=kde
. Следующим шагом запустим маленький SliTaz. Грузить ISO-образы будем через memdisk. Из листинга сверху видно раздел slitaz, memdisk у нас расположен в каталоге boot, сам образ — в каталоге images. Параметры аналогичны тем, что используются в мультизагрузочных дисках.
Тонкие клиенты / Thinstation Linux
Загрузка Thinstation Linux
Следующим шагом научим запускать тонкие клиенты. Образ Thinstation Linux можно скачать готовый в виде сборки, можно взять конструктор для сборки и собрать самостоятельно. Можно качнуть с GitHub. Будь готов, что в последнем случае для подготовки образа потребуется около 3 Гбайт свободного места и времени в районе часа. Подготовка образа из Git хорошо описана в статье на сайте quaded.com. Я взял сборку с сайта nixts.org. В образе, который мы используем, много «ненужных» файлов, потому что там сразу и загрузчик, и дефолтные конфиги. Берем ядро и образ файловой системы (initrd и vmlinuz), которые складываем, например, в /var/lib/tftpboot/images/thinstation/
. Файлы конфигураций (thinstation.conf.network
, thinstation.hosts
, thinstation.conf-user
) располагаем в корневом каталоге TFTP-сервера! Thinstation позволяет при загрузке учитывать MAC-адреса, IP-адреса, определять имя и группировать клиентов, в зависимости от параметров регулировать загрузку, например уводить на разные RDP- или VNC-серверы, сессии. Это позволяет, например, наклепать кучу виртуалок с десктопными операционными системами и посадить каждого клиента на отдельную виртуалку. Для каждого клиента можно также отдельно задавать настройки доступа к локальным устройствам: принтерам, флешкам, дискам, приводам и так далее. В общем, каждый ограничен только своей фантазией, благо вариантов использования с описанием настроек в сети навалом.
Acronis
Продукты Acronis загружаются аналогично инсталляторам Linux-систем. Скачал в Сети первый попавшийся образ Acronis, исключительно в научных целях. Распаковал. Нас интересуют только два каталога: ADD12 и ATI2015. Внутри каждого каталога видим по два файла с одинаковым именем и разным расширением. Это сделано для загрузки на 32-битных и x64-системах. Если открыть файл menu.lst того же образа, можно посмотреть, что чему соответствует. Для удобства складываем True Image и Disk Director аналогичным образом. Создаем папку acronis в рабочем каталоге (/var/lib/tftpboot
). В него копируем ADD12 и ATI2015 со всем содержимым. Для удобства продукты Acronis выносим в отдельный раздел меню, так же как и раздел Linux. В pxelinux.cfg/default
добавляем:
label linux
menu passwd qwerty
menu label Install/Boot Linux
kernel boot/menu.c32
append pxelinux.cfg/acronis
Файл acronis приводим к такому виду:
label acronis1
menu label Acronis Disk Director 2015
kernel /acronis/ADD12/1.krn vga=791 quiet
initrd /acronis/ADD12/1.fs
label acronis2
menu label Acronis Disk Director x64
kernel /acronis/ADD12/2.krn vga=791 quiet
initrd /acronis/ADD12/2.fs
label acronis3
menu label Acronis True Image 2015
kernel /acronis/ATI2015/1.krn vga=791 quiet
initrd /acronis/ATI2015/1.fs
label acronis4
menu label Acronis True Image 2015 x64
kernel /acronis/ATI2015/2.krn vga=791 quiet
initrd /acronis/ATI2015/2.fs
Windows PE
Windows-образы грузить несколько сложнее. В реализации загрузки практически любого WinPE-образа с любым содержимым внутри нам поможет загрузчик WIMBoot. WIMBoot — это системный загрузчик WIM-образов по сети. Довольно хорошо о самом продукте рассказывается на сайте, там же есть ссылка на скачивание. На сайте Microsoft есть инструкция по созданию WIM-образов. Образ, с которым я работал, был щедро вручен мне нашим системным администратором с продуктами Акронис. Назывался он Acronis_WinPE_Sergei_Strelec_25.11.2013.iso
. Распаковав его, увидел в папке source заветный образ acronis.wim
. Для WIM-образов для большего порядка использую отдельный каталог wim. Чтобы не путаться, внутри сделал еще один каталог winpe. В него копируем acronis.wim
. Еще нам потребуются два файла из каталога BOOT этого же образа: BCD, BOOT.SDI и файл BOOTMGR из корня образа. На этом образ можно закрыть, удалить, больше он не пригодится. Переходим к подготовке загрузчиков (WIMBoot и syslinux). Распаковываем куда-нибудь архив wimboot-latest.zip
. Копируем загрузчик WIMBoot на сервер TFTP, для удобства в каталог boot. Поскольку образ содержит Windows PE и различное программное обеспечение, в том числе и Acronis, то отнести можно в любой раздел меню. Я расположил его в главном меню. Итак, в файл pxelinux.cfg/default
вносим изменения:
label winpe
menu label WinPE & Acronis
menu passwd qwerty
com32 linux.c32 boot/wimboot
APPEND initrdfile=wim/winpe/BOOTMGR,/wim/winpe/BCD,/wim/winpe/BOOT.SDI,/wim/winpe/acronis.wim
Заключение
На этом всё. В следующей статье мы научимся подготавливать и добавлять Windows-образы, сетевой установке в ручном и автоматическом режимах. Добавим Kaspersky Rescue v10, ERD Commander, именуемый MSDaRT. Разберемся, как запускать диагностические утилиты на примере memtest, а также покажем, как украсить меню загрузки.
|
|
.
SDB: сетевая установка — openSUSE Wiki
В этой статье рассматриваются методы и процедуры установки openSUSE по сети.
Протестировано на openSUSE
Рекомендуемые статьи
Статьи по теме
Следующие инструкции зависят от функций, которые доступны только в том случае, если вы загрузились в режиме Legacy / MBR, а не НЕ при загрузке в режиме UEFI.Эквивалентные шаги настройки при загрузке в режиме UEFI необходимо выполнить вручную, отредактировав командную строку установочного ядра на экране GRUB, выполнив следующие действия: Экран загрузки на машинах, оснащенных UEFI.
Установка из интернета
Используя сетевой ISO-образ, вы можете создать загрузочный компакт-диск или карту памяти USB. Вы можете найти эти ISO-образы на http://download.opensuse.org/distribution/leap/ или http://software.opensuse.org. Ниже приведены прямые ссылки:
Экран загрузкиКогда вы загрузитесь с сетевого установочного носителя, вам будет представлен следующий список:
Конфигурация сети | |
АвтоматПо умолчанию сеть настраивается автоматически с использованием DHCP. Это подходит для большинства пользователей. В некоторых случаях могут понадобиться:
| |
РучнаяНа этом экране вы можете установить следующие параметры:
|
.Справочное руководство
— Сеть
Доступ к NAS-устройству
Подключение к Интернету — Проводное
Подключение к Интернету — Беспроводное
Общие сетевые ресурсы
— Создание общих ресурсов Linux Lite
— Доступ к общим ресурсам Linux Lite из Windows
— Доступ к общим ресурсам Windows из Linux Lite
NitroShare — Совместное использование файлов с Linux, Mac и Windows
Удаленный доступ с VNC
Установка времени и даты
Широкополосный USB-модем
По большей части вам не нужно ничего настраивать в сетевых подключениях, если вы подключены к маршрутизатору с помощью кабеля Ethernet.Ваш маршрутизатор, скорее всего, уже настроен для автоматического предоставления вам IP-адреса. Поэтому в этом руководстве мы сосредоточимся на подключении к вашему маршрутизатору со статическим IP-адресом.
Убедитесь, что рядом с параметром «Включить сеть» стоит галочка. Первый шаг — щелкнуть левой кнопкой мыши значок сетевого лотка и выбрать «Редактировать подключения».
Если в какой-то момент вас попросят ввести пароль, сделайте это.
Выделите Проводное соединение и нажмите кнопку Edit (cog).
Щелкните вкладку IPv4 или IPv6 (уточните у своего интернет-провайдера, какой из них использовать, IPv4 по умолчанию) и выберите Manual .
Нажмите кнопку Добавить в поле Адреса и введите соответствующие числа. Обязательно укажите адрес DNS . Обычно это
тот же адрес, что и веб-адрес вашего маршрутизатора (всего 4 набора цифр).
Пример:
Адрес: 192.168.1.44
Сетевая маска: 24
Шлюз: 192.168.1.1 (это ваш адрес маршрутизатора)
DNS-серверы: 192.168.1.1 (это также ваш адрес маршрутизатора)
Нажмите Сохранить для завершения.
На панели задач (рядом с часами, в правом нижнем углу экрана), если у вас нет соединения в данный момент, вы
видите диагональную ломаную линию с красным крестом рядом с ней. Это означает, что в настоящее время нет подключения.Щелкните левой кнопкой мыши значок,
если ваша беспроводная сеть работает, у вас должен быть список беспроводных сетей в вашем районе, выберите свою сеть. Если ты не видишь
любые беспроводные сети, драйвер вашего беспроводного устройства может не быть установлен, или, например, ваш переключатель беспроводной сети на вашем
ноутбук находится в выключенном состоянии. Если после того, как вы проверили это, беспроводные сети по-прежнему не отображаются, перейдите в меню , Настройки,
Установите драйверы и посмотрите, есть ли ваше беспроводное устройство в списке.Если это так, установите для него драйвер и продолжайте изучение этого руководства.
(Вам нужно будет подключиться к Интернету через проводное соединение, чтобы загрузить и установить драйвер беспроводной сети.)
Появится окно с запросом пароля беспроводной сети. Если вы хотите видеть свой пароль при его вводе, отметьте « Показать
пароль ‘, чтобы убедиться, что вы правильно ввели пароль беспроводной сети.
После подключения вы получите уведомление в правом верхнем углу экрана.
После успешного подключения вы должны увидеть значок в трее, как показано ниже.
Начало страницы
Если у вас Huawei E220 , то это должно работать из коробки. Это очень распространенный модем, и мы рекомендуем вам использовать
эту модель если есть возможность.
Щелкните правой кнопкой мыши значок «Сетевые подключения» на панели задач и выберите « Новое мобильное широкополосное соединение ».Настройте параметры в соответствии с данными, предоставленными вашим поставщиком услуг 3G.
На данном этапе никакие другие модемы не тестировались.
Начало страницы
NitroShare позволяет легко и просто обмениваться файлами между всеми настольными операционными системами, включая Linux, Mac и Windows.
Если вы собираетесь использовать межсетевой экран:
В Linux Lite брандмауэр (по умолчанию отключен) был предварительно настроен для разрешения трафика NitroShare.Убедитесь, что ваш брандмауэр установлен на домашний , прежде чем начинать это руководство, если вы собираетесь использовать брандмауэр. См. Здесь для получения дополнительной информации об этом.
Если вы используете Linux Lite, убедитесь, что вы отметили nitroshare , как показано ниже. В брандмауэре нажмите Configuration — Permanent , установите галочку в nitroshare , как показано ниже, затем нажмите Options, Reload Firewalld .
Установим NitroShare. Меню, настройки, программное обеспечение Lite . Введите свой пароль и нажмите «Да» для источников обновлений сейчас .
Теперь щелкните Установить программное обеспечение .
Щелкните левой кнопкой мыши на NitroShare и щелкните на Установить в правом нижнем углу. Продолжайте установку. По завершении установки выйдите из Lite Software.
Перейдите в меню , Интернет, NitroShare .Нажмите кнопку Close , которая появляется только один раз, а затем щелкните правой кнопкой мыши значок NitroShare на панели задач и выберите Settings .
Выберите каталог, в который вы хотите получать файлы. Оставьте остальные настройки, если вы не хотите их менять. Когда закончите, нажмите ОК .
Давайте отправим кому-нибудь другому в сети файл с NitroShare. Оба компьютера ДОЛЖНЫ находиться в одной сети, т.е.подключен к тому же роутеру.
Щелкните правой кнопкой мыши значок NitroShare на панели задач и выберите Отправить файлы .
Выберите файл, который хотите отправить, и нажмите Открыть .
Выберите компьютер, на который хотите отправить файл, и нажмите ОК .
Передача прошла успешно.
Начало страницы
Многие дома сейчас используют NAS или сетевые устройства хранения данных.В этом уроке мы покажем вам, как получить доступ ко всем вашим медиафайлам.
файлы, а затем покажет вам, как воспроизводить их по сети с помощью VLC. Когда эта настройка будет завершена, вы также сможете копировать и
вставляйте файлы между NAS и компьютером, как в Windows или Mac.
Первое, что вам нужно сделать, это узнать IP-адрес вашего NAS. Возможно, вы это уже знаете, или в руководстве по NAS будет указано,
как это найти. Как только у вас будет IP-адрес вашего NAS, откройте свою домашнюю папку и введите следующее:
smb: // 192.168.1.49 , где 192.168.1.49 — IP-адрес вашего NAS.
Введите имя пользователя NAS, в большинстве случаев это admin , но снова обратитесь к своему руководству за правильной информацией.
Введите имя рабочей группы ( Домен ) и, наконец, пароль для вашего NAS. Поставьте точку в «Запомни навсегда », если хотите, чтобы ваши данные были сохранены.
Теперь вы должны увидеть все свои папки NAS.
Давайте заглянем в папку Movies для этого устройства, поскольку вы можете видеть, что у меня есть файл фильма под названием The Code Story of Linux Documentary.webm
Прежде чем мы сможем начать воспроизведение мультимедийных файлов по сети, нам необходимо настроить VLC, чтобы он мог получать доступ к файлам и воспроизводить их удаленно.
В Linux Lite щелкните Меню , Мультимедиа, VLC Media Player . Открыв VLC, нажмите Инструменты , Настройки .
В появившемся окне в левом нижнем углу щелкните Все . Затем слева разверните Ввод / кодеки, Модули доступа, SMB . Затем введите имя пользователя вашего NAS,
пароль и, наконец, домен SMB (рабочая группа). Нажмите Сохранить , чтобы завершить и закрыть VLC.
Теперь, когда мы предоставили VLC сетевые учетные данные, необходимые для доступа к вашему NAS, мы можем просматривать и воспроизводить наши файлы.
Начало страницы
Сетевой ресурс — это компьютерный ресурс, доступный с одного компьютера другим в компьютерной сети, такой как файлы, папки и принтеры, чтобы упомянуть наиболее распространенные.
К этим ресурсам можно получить удаленный доступ с другого компьютера, обычно через локальную сеть или интрасеть, прозрачно, как если бы это был ресурс на локальной машине.
Linux Lite включает приложение Lite Network Shares для помощи в настройке общих ресурсов для доступа с других компьютеров в вашей сети; е.g .: машина Windows.
В Linux пакет, обеспечивающий бесшовное взаимодействие файловых служб и служб печати для Windows, Linux и Unix, известен как Samba .
В этом разделе вы узнаете, как создать свой первый общий ресурс Linux Lite, сделав процесс настолько простым, насколько он есть на самом деле, если вы поймете основы:
Создайте новую папку внутри домашней папки, щелкнув правой кнопкой мыши пустой раздел в домашней папке и выбрав Создать папку во всплывающем контекстном меню.В этом
например назовем его:
linux_share
Затем нам нужно сообщить Samba (SMB), для кого мы собираемся войти в систему для доступа к нашим общим папкам Linux Lite. Откройте терминал и введите:
Команда терминала:
sudo smbpasswd -a name
… где name — ваше имя пользователя Linux Lite; в нашем случае имя пользователя — jerry . Чтобы легко запомнить пароль SMB, вы можете использовать тот же пароль для SMB, что и в вашем Linux Lite.
учетная запись пользователя, если хотите.
Вам будет предложено дважды ввести новый пароль SMB.
Откройте свою домашнюю папку, перейдите в каталог / etc / samba / , щелкните правой кнопкой мыши файл smbusers и Открыть от имени администратора .
Файл откроется в текстовом редакторе. Файл smbusers будет содержать список отображаемых имен пользователей (по одному в каждой строке) ваших учетных записей Linux Lite и SMB.
Мы заменим linux = «linux» по умолчанию в этом файле на наше имя пользователя Linux Lite в каждой из скобок:
username = «username» … в нашем случае: jerry = «jerry»
Теперь вы можете Сохранить и Закройте файл smbusers и закройте терминал.
Откройте меню , Настройки , Lite Сетевые ресурсы и нажмите Изменить настройки общего доступа .
Файл конфигурации откроется в текстовом редакторе листовой панели. Настройки по умолчанию показаны ниже:
# ======================= Глобальные настройки ==================== ================ [global] рабочая группа = РАБОЧАЯ ГРУППА строка сервера = Linux Lite Shares netbios имя = Linux security = пользователь зашифровать пароли = правда карта имени пользователя = / etc / samba / smbusers сопоставить гостю = плохой пользователь гостевой аккаунт = никто DNS прокси = no # ======================= Определения общих ресурсов ======================== =========== [liteshare] путь = / home /% U / linux_share имеется = да действительные пользователи =% U% G список записи =% U browsable = да public = нет Writable = да гость ок = нет только чтение = нет printable = нет блокировка = нет строгая блокировка = нет |
При первой базовой настройке нет необходимости изменять настройки по умолчанию. Скорее всего, вам нужно будет проверить только следующее:
WORKGROUP — должно совпадать с именем рабочей группы в вашей сети. «WORKGROUP» обычно используется по умолчанию. имя netbios — должно быть равно имени компьютера. В терминале введите имя хоста, чтобы получить имя вашего netbios. jerry @ jerryvb: ~ $ jerryvb — это имя netbios / имя компьютера . путь = путь к папке в вашем домашнем каталоге, где будут храниться общие файлы.ТОЛЬКО изменить часть имени папки; например: / home /% U / linux_share |
Сохранить и Закройте файл, затем щелкните Перезапустить службы .
Теперь вы можете получить доступ к общим папкам Linux Lite с другого компьютера в вашей сети.
СОВЕТ: Удерживайте нажатой клавишу F5 в общей папке, иногда для отображения общих ресурсов требуется несколько секунд.
Если на каком-либо этапе вы захотите добавить больше общих папок, вы можете просто добавить больше блоков, как в примере ниже:
# ======================= Глобальные настройки ==================== ================ [global] рабочая группа = WORKGROUP строка сервера = Linux Lite Shares netbios имя = jerryvb security = пользователь зашифровать пароли = правда карта имени пользователя = / etc / samba / smbusers сопоставить гостю = плохой пользователь гостевой аккаунт = никто DNS прокси = no # ======================= Определения общих ресурсов ======================== =========== [liteshare] путь = / домой / Джерри / linux_share имеется = да действительные пользователи =% U% G список записи =% U browsable = да public = нет Writable = да гость ок = нет только чтение = нет printable = нет блокировка = нет строгая блокировка = нет [videoshare] [dloadshare] |
К началу страницы
Перейдите на свой компьютер с Windows, в этом примере мы будем использовать Windows 10.
Откройте сеть Network в Windows. Вы должны увидеть, что компьютер Linux Lite появится через некоторое время.
Если вы этого не сделаете, просто введите IP-адрес компьютера Linux Lite в адресную строку с двумя обратными косыми чертами впереди, например. \ 192.168.1.199
Чтобы получить IP-адрес вашего ПК с Linux Lite, в Linux Lite откройте терминал и введите ifconfig
Найдите адрес inet .
Дважды щелкните имя машины. Появится диалоговое окно с именем пользователя и паролем, введите пользователя и пароль, которые мы создали в руководстве Create Linux Lite Shares выше.
И вот мы видим нашу общую папку компьютера Linux Lite:
Все, что осталось сделать, это дважды щелкнуть общий ресурс Linux Lite, и мы окажемся внутри общей папки. Теперь вы можете скопировать
и вставьте файлы на свой компьютер с Linux Lite.
Начало страницы
Зайдите на свой компьютер с Windows и найдите IP-адрес. Для этого откройте командную строку и введите: ipconfig
Обычно в результатах вверху указан ваш IP-адрес. В приведенном выше примере IPv4-адрес : 192.168.1.49 Запишите этот IP-адрес.
Теперь вернитесь к компьютеру с Linux Lite и откройте свою домашнюю папку.
ПРИМЕЧАНИЕ. Если к концу этого руководства по общим ресурсам вы все еще не видите никаких общих ресурсов, попробуйте перезапустить обе машины. Также обратите внимание, что иногда до появления акций может пройти некоторое время.
В адресной строке введите: smb: // ipaddressofwindowspc , где ipaddressofwindowspc — это фактический пронумерованный IP-адрес вашего компьютера с Windows.
Если все пойдет по плану, вам будет предложено ввести имя пользователя Windows, домен или рабочую группу и пароль Windows.
Имя пользователя Windows — Имя рабочей группы Windows — Пароль Windows
Теперь вы можете копировать и вставлять файлы на свой компьютер с Windows.
ПРИМЕЧАНИЕ: Если метод IP-адреса не работает, например. smb: //192.168.1.49 try smb: // windowspc где windowspc — имя netbios
компьютера с Windows.
ПРИМЕЧАНИЕ: Если вам все еще не повезло ни с одним из методов, попробуйте
NitroShare, кроссплатформенное приложение для совместного использования сети для Windows, Mac и Linux.Вы можете просмотреть видеоурок по нему
Вот. Другой способ, который вы могли бы рассмотреть, — это настройка FTP.
сервер на вашем компьютере с Windows и подключение к нему с помощью Filezilla, доступного из меню, настроек, Lite Software.
Начало страницы
Вот краткое руководство по настройке x11vnc (VNC Server) для удаленного доступа / управления вашим ПК с Linux Lite через VNC-клиент.
Начните с установки x11vnc из Терминала с помощью:
Команда терминала:
sudo apt install -y x11vnc
Затем давайте создадим каталог для хранения файла, который будет содержать пароль, используемый для аутентификации VNC:
Команда терминала:
sudo mkdir / etc / x11vnc
Теперь мы создадим зашифрованный файл паролей и сохраним его в / etc / x11vnc / .Вам будет предложено ввести и подтвердить пароль:
Команда терминала:
sudo x11vnc --storepasswd / etc / x11vnc / vncpwd
Теперь создадим служебный файл systemd для службы x11vnc:
Команда терминала:
pkexec mousepad /lib/systemd/system/x11vnc.service
Скопируйте и вставьте приведенный ниже код в текстовый редактор:
[Единица] Описание = VNC Server для X11 Требуется = дисплей-менеджер.сервис После = display-manager.service [Сервис] Тип = разветвление ExecStart = / usr / bin / x11vnc -dontdisconnect -auth guess -forever -shared -noxdamage -repeat -rfbauth / etc / x11vnc / vncpwd -rfbport 5900 -bg -o /var/log/x11vnc.log ExecStop = / usr / bin / killall x11vnc Перезапуск = сбой Restart-sec = 5 [Установить] |
Сохраните изменения и закройте листовую панель.Затем скопируйте /lib/systemd/system/x11vnc.service в / etc / systemd / system /
Команда терминала:
sudo cp /lib/systemd/system/x11vnc.service / etc / systemd / system /
Затем давайте отредактируем /lib/systemd/system/graphical.target
Команда терминала:
pkexec mousepad /lib/systemd/system/graphical.target
Обновите содержимое файла graphical.target, как показано ниже:
# Этот файл является частью systemd. # # systemd — бесплатное программное обеспечение; вы можете распространять и / или изменять его # в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU, опубликованной # Фонд свободного программного обеспечения; либо версия 2.1 Лицензии, либо # (по вашему выбору) любая более поздняя версия. [Единица] Описание = Графический интерфейс Документация = man: systemd.special (7) Требуется = многопользовательский.цель Хочет = display-manager.service x11vnc.service Конфликты = rescue.service rescue.target After = multi-user.target rescue.service rescue.target display-manager.service AllowIsolate = да |
Сохраните изменения и закройте текстовый редактор. Затем скопируйте /lib/systemd/system/graphical.target в / etc / systemd / system /
Команда терминала:
sudo cp / lib / systemd / system / graphical.target / etc / systemd / system /
Перезагрузить службы и включить службу x11vnc во время загрузки:
Команда терминала:
sudo systemctl daemon-reload
Команда терминала:
sudo systemctl enable graphical.target
Наконец, либо перезагрузите Linux Lite, либо вручную запустите службу x11vnc:
Перезагрузка:
Команда терминала:
sudo перезагрузите сейчас
или запустите x11vnc без перезагрузки:
Команда терминала:
sudo systemctl start x11vnc.service
Удаленный доступ / управление Linux Lite
С клиентского компьютера в вашей сети, используя клиент VNC по вашему выбору (Remmina, Ultra VNC, TightVNC, Chicken VNC, VNC Viewer, Screen Sharing,
введите IP-адрес вашего Linux Lite или его имя хоста.
Начало страницы
Перейдите в меню , настройки, время и дату .
Нажмите кнопку Разблокировать и введите свой пароль, когда его попросят.
Щелкните внутри поля Часовой пояс . В следующем примере у нас есть Pacific / Auckland .
Щелкните одну из красных точек в вашем часовом поясе / местоположении. Нажмите Закрыть , чтобы закончить.
Начало страницы
.
Linux. Настройка сети — Cesbo
Установить
yum установить python3
pip3 установить netutils-linux
топ сети
Эта утилита нужна для оценки примененных настроек и отображения равномерности распределения нагрузки (прерывания, софтирки, количество пакетов в секунду на ядро процессора) на ресурсах сервера, всевозможные ошибки обработки пакетов. Значения, превышающие пороговые значения, выделяются.
# rss-лестница eth2 0
- раздача прерываний eth2 (-TxRx) на сокете 0: "
- eth2: irq 67 eth2-TxRx-0 -> 0
- eth2: irq 68 eth2-TxRx-1 -> 1
- eth2: irq 69 eth2-TxRx-2 -> 2
- eth2: irq 70 eth2-TxRx-3 -> 3
- eth2: irq 71 eth2-TxRx-4 -> 8
- eth2: irq 72 eth2-TxRx-5 -> 9
- eth2: irq 73 eth2-TxRx-6 -> 10
- eth2: irq 74 eth2-TxRx-7 -> 11
Эта утилита распределяет прерывания сетевой карты по ядрам выбранного физического процессора (по умолчанию 0).
информация о сервере
# server-info --rate
Процессор:
BogoMIPS: 7
CPU МГц: 7
ЦП: 1
Ядра на сокет: 1
Кэш L3: 1
Розетка (и): 10
Потоков на ядро: 10
ID продавца: 10
диск:
vda:
размер: 1
Тип 1
объем памяти:
MemTotal: 1
СвопСумма: 10
сеть:
eth2:
буферы:
cur: 5
макс: 10
водитель: 1
очереди: 1
система:
Производитель гипервизора: 1
Тип виртуализации: 1
Эта утилита позволяет делать две вещи:
server-info --show
: посмотреть, какое оборудование установлено на сервере.В целом он похож на lshw, но с упором на интересующие нас параметры.
server-info --rate
: поиск узких мест в серверном оборудовании. В целом он похож на индекс производительности Windows, но с упором на интересующие нас параметры. Оценка производится по шкале от 1 до 10.
Прочие коммунальные услуги
автоматически увеличивает буфер выбранной сетевой карты до оптимального значения.
отключает плавающую частоту процессора.
Пример использования:
Пример 1. Максимально просто.
Задача :
один процессор с 4 ядрами.
одна сетевая карта 1 Гбит / с (eth0) с 4 объединенными очередями
входящий трафик 600 Мбит / с, исходящего трафика нет.
все очереди зависают на CPU0, всего 55 000 прерываний и 350 000 пакетов в секунду, из которых около 200 пакетов в секунду теряются сетевой картой. Остальные 3 ядра простаивают
Решение :
распределяет очереди между ядрами командой rss-ladder eth0
увеличить буфер командой rx-buffers-увеличить eth0
Пример 2
Задача :
два процессора с 8 ядрами
два узла NUMA
Две двухпортовые сетевые карты 10 Гбит / с (eth0, eth2, eth3, eth4), каждый порт имеет 16 очередей, все привязаны к узлу 0, объем входящего трафика: 3 Гбит / с на каждую
1 сетевая карта 1 Гбит / с, 4 очереди, привязаны к узлу 0, исходящий трафик: 100 Мбит / с.
Решение :
1 поместите одну из сетевых карт 10 Гбит / с в другой слот PCI, связанный с узлом NUMA 1.
2 Уменьшите количество объединенных очередей для портов 10 Gbit / s до количества ядер на физический процессор:
для dev в eth0 eth2 eth3 eth4; делать
ethtool -L $ dev в сочетании 8
сделанный
3 Распределить прерывания портов eth0, eth2 на ядрах процессора, попадающих на узел NUMA 0, и портов eth3, eth4 на ядра процессора, попадающих на узел NUMA 1:
RSS-лестница eth0 0
RSS-лестница eth2 0
RSS-лестница eth3 1
RSS-лестница eth4 1
4 Увеличить буферы приема eth0, eth2, eth3, eth4:
для dev в eth0 eth2 eth3 eth4; делать
rx-буферы-увеличить $ dev
сделанный
Напоминание:
В случае сетевых карт с одной очередью вы можете использовать RPS для распределения нагрузки между ядрами, но это не исключает потери при копировании пакетов в память.
Распределение прерываний основано на вычислении хеш-функции (остаток от деления) из набора таких данных: протокол, IP-адрес источника и назначения, а также порт источника и назначения. Технология называется: масштабирование на стороне приема (RSS).
.