Задать вопрос
  • Не подскажете диапазоны IP-адресов Яндекса, Вконтакте, Одноклассников и Мейл.ру?

    Вот сразу для конфига openvpn :)
    Обратите внимание, ipv6 у меня закомментировано.

    # Yandex network
    push "route 5.45.192.0 255.255.192.0"
    push "route 5.255.192.0 255.255.192.0"
    push "route 37.9.64.0 255.255.192.0"
    push "route 37.140.128.0 255.255.192.0"
    push "route 77.88.0.0 255.255.192.0"
    push "route 84.201.128.0 255.255.192.0"
    push "route 87.250.224.0 255.255.224.0"
    push "route 93.158.128.0 255.255.192.0"
    push "route 95.108.128.0 255.255.128.0"
    push "route 100.43.64.0 255.255.224.0"
    push "route 130.193.32.0 255.255.224.0"
    push "route 141.8.128.0 255.255.192.0"
    push "route 178.154.128.0 255.255.128.0"
    push "route 199.21.96.0 255.255.252.0"
    push "route 199.36.240.0 255.255.252.0"
    push "route 213.180.192.0 255.255.224.0"
    
    #push "route-ipv6 2620:10f:d000::/44"
    #push "route-ipv6 2a02:6b8::/32"
    
    # Mail.ru network
    push "route 5.61.16.0 255.255.248.0"
    push "route 5.61.232.0 255.255.248.0"
    push "route 79.137.157.0 255.255.255.0"
    push "route 79.137.183.0 255.255.255.0"
    push "route 94.100.176.0 255.255.240.0"
    push "route 95.163.32.0 255.255.224.0"
    push "route 95.163.248.0 255.255.248.0"
    push "route 128.140.168.0 255.255.248.0"
    push "route 178.22.88.0 255.255.248.0"
    push "route 178.237.16.0 255.255.240.0"
    push "route 185.5.136.0 255.255.252.0"
    push "route 185.16.148.0 255.255.252.0"
    push "route 185.16.244.0 255.255.252.0"
    push "route 188.93.56.0 255.255.248.0"
    push "route 194.186.63.0 255.255.255.0"
    push "route 195.211.20.0 255.255.252.0"
    push "route 195.218.168.0 255.255.255.0"
    push "route 217.20.144.0 255.255.240.0"
    push "route 217.69.128.0 255.255.240.0"
    
    #push "route-ipv6 2a00:1148::/32"
    #push "route-ipv6 2a00:a300::/32"
    #push "route-ipv6 2a00:b4c0::/32"
    
    # VK.com network
    push "route 87.240.128.0 255.255.192.0"
    push "route 93.186.224.0 255.255.240.0"
    push "route 95.142.192.0 255.255.240.0"
    push "route 95.213.0.0 255.255.192.0"
    push "route 185.32.248.0 255.255.252.0"
    
    #push "route-ipv6 2a00:bdc0::/36"
    #push "route-ipv6 2a00:bdc0:e006::/48"
    
    # Kaspersky network
    push "route 77.74.176.0 255.255.252.0"
    push "route 77.74.181.0 255.255.255.0"
    push "route 77.74.183.0 255.255.255.0"
    push "route 93.159.228.0 255.255.252.0"
    push "route 185.54.220.0 255.255.254.0"
    push "route 185.85.12.0 255.255.255.0"
    push "route 185.85.14.0 255.255.254.0"
    Ответ написан
    2 комментария
  • Минимальные настройки безопасности Linux на VPS?

    Tyranron
    @Tyranron
    Ряд моментов Вы уже сделали, но я все равно их опишу для полноты списка.

    1. Создать отдельного пользователя и хороший пароль на sudo. Не использовать больше root напрямую. Совсем.

    2. SSH. Отключаем метод аутентификации по паролю. Если Вам не нужны другие методы, то их тоже можно отключить, оставив только publickey. Отключаем возможность аутентификации root'ом. Включаем использование только 2й версии SSH протокола.

    3. Устанавливаем Fail2Ban и настраиваем чтобы после нескольких неуспешных попыток подключения по SSH банило по IP на длительное время. Кол-во попыток и время бана можно тюнить в меру своей паранойи. У меня, например, банит на час после 2х неуспешных попыток.

    4. Iptables. Действуем по принципу "запрещено все, что не разрешено". Запрещаем по умолчанию весь INPUT и FORWARD трафик снаружи. Открываем на INPUT'е 22 порт. В дальнейшем открываем порты/forwarding по мере необходимости. Если у нас предполагаются сервисы на соседних серверах нужные только для внутренней коммуникации (Memcached, Redis, и т.д.), то открываем для них порты только для определенных IP. Просто так торчать наружу для всех они не должны.

    5. Настраиваем автоматические обновления apt-пакетов. Уровень security. То есть так, чтобы обновления безопасности накатывались автоматически, но при этом не выполнялись обновления со сменой мажорной версии (дабы обезопасить себя от "само сломалось").

    6. Устанавливаем ntpd. Серверное время должно быть точным. Также временную зону сервера лучше всего установить в UTC.

    7. TLS (не SSL) используем везде где можем. Через Let's Encrypt получаем бесплатные валидные сертификаты. В конфигах веб-серверов, mail-серверов, и других приложений торчащих наружу (в том числе и OpenVPN), запрещаем/убираем использование слабых шифров. Все ключи/параметры генерируем не менее 2048 бит. Самоподписные сертификаты подписываем с помощью SHA-256 (не SHA-1). Diffie-Hellman параметры (dh.pem) под каждый сервис лучше сгенерить отдельно. Проверяем TLS сервисов через Nmap. Минимальный grade должен быть A, не должно быть warning'ов.

    8. Правильный менеджмент пользователей/групп. Приложения/сервисы не должны запускаться под root'ом (разве что они действительно этого требуют и иначе никак). Для каждого сервиса создается свой пользователь.

    9. Если предполагается upload файлов через PHP (либо другие скриптовые языки), в директории, куда эти файлы загружаются (и которая доступна снаружи), должно быть жестко отключено любое выполнение скриптов/бинарников, что на уровне ОС (x права), что на уровне веб-сервера.

    Это была база.
    Дальше, в меру своей паранойи можно за'harden'ить сервер ещё следующими моментами:
    - SELinux, chroot
    - доступ к SSH только с определенных IP (нужно иметь 3-4 VPN-сервера под рукой)

    UPD И да, все это помнить/настраивать руками каждый раз может быть запарно. Используйте Ansible и автоматизируйте процесс (там родные и YAML, Jinja2 и Python).
    Ответ написан
    10 комментариев
  • Как правильно изменить кодировку базы данных?

    twix007
    @twix007
    ALTER DATABASE база CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    ALTER TABLE таблица CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    Ответ написан
    4 комментария
  • Считается ли это за уязвимостью и можно ли пронести атаку и взломать сайт?

    sim3x
    @sim3x
    <input type="text" id="input_id" name="val" placeholder="crack_start">
    <script>
    console.log('Knock-knock')
    alert('u h4z b33n cr4ck3d')
    <"crack_end">

    https://www.owasp.org/index.php/Cross-site_Scripti...
    Ответ написан
    Комментировать
  • Где лучше разместить запрос с выдачей n-го количества строк?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ваш запрос и сейчас имена файлов не выводит.
    SELECT `od`.`id_order_design`, `c`.`name`, `od`.`id_order_print`, 
            `od`.`type_product`, `od`.`parameters`, `od`.`date_order`, 
            `f`.`filelist`
        FROM `orders_design` AS `od`
        JOIN `clients` AS `c` ON `od`.`id_client` = `c`.`id_client`
        LEFT JOIN (
            SELECT `id_order_design`, GROUP_CONCAT(`name` SEPARATOR '|') AS `filelist`
                FROM `files`
                GROUP BY `id_order_design`
        ) AS `f` ON `f`.`id_order_design` = `od`.`id_order_design`
        WHERE `c`.`id_manager` = 1
    Ответ написан
    1 комментарий
  • Стоит ли разбивать переводы между языками программирования?

    65536
    @65536
    многоязычность исключает хардкодинг фраз где-либо

    можете создать объект
    var dictonary = {
        ru: {
            word1: "фраза 1",
            word2: "фраза 2"
        },
        en: {
            word1: "word 1",
            word2: "word 2"
        }
    }


    так же где то глобально объявить переменную, которая содержит текущий язык.
    var lang = 'ru';

    в своем файле позаменять все фразы на соответсвующие элементы объекта
    ...dictonary[lang]['word2']...
    Ответ написан
    6 комментариев
  • Как хранить баланс?

    LittleFatNinja
    @LittleFatNinja
    горе девелопер, любитель лютой садомии
    в DECIMAL
    или доллары и цены одтельно
    100.50$ как 100 и 50
    Ответ написан
    3 комментария
  • Тестовое задание при трудоустройстве?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Одно из заданий, которое давал джуниорам:

    Нужно сделать простой сервис проведения тестирования по каким-либо темам. Т.е. есть тесты с вариантами ответов, один или несколько вариантов должны быть правильными. Тесты группируются в наборы тестов, которые затем пользователь может проходить и видеть свой результат.
    Функциональные части сервиса:
    • Регистрация пользователей
    • Аутентификация пользователей
    • Зарегистрированные пользователи могут
      • Проходить любой из тестовых наборов
        • Последовательный ответ на все вопросы, каждый вопрос должен выводится на новой странице с отправкой формы (перескакивать через тесты или оставлять неотмеченными нельзя)
        • После завершения тестирования смотреть результат:
          • количество правильных/неправильных ответов
          • процент правильных ответов



    • Админка. Стандартная админка Django. Разделы:
      • Стандартный раздел пользователей
      • Раздел с наборами тестов
        • Возможность на странице набора тестов добавлять вопросы/ответы к вопросам/отмечать правильные ответы
        • Валидация на то, что должен быть хотябы 1 правильный вариант
        • Валидация на то, что все варианты не могут быть правильными
        • Удаление вопросов/вариантов ответов/изменение правильных решений при редактировании тестового набора


    Требования
    • Код в репозитории на GitHub.
    • Список всех зависимостей должен храниться в requirements.txt, соответственно можно установить их командой pip install -r requirements.txt.
    • Разработка должны вестись в virtualenv, но сама директория с virtualenv должна быть добавлена в .gitignore.
    • Настройки должны храниться в settings.py, но также, при наличии settings_local.py в той же директории, настройки из settings_local.py должны переопределять настройки в settings.py. Т.е. если есть файл settings_local.py, то определенные в нем параметры имеют больший приоритет. Сам файл settings_local.py добавляется в .gitignore. Таким образом у каждого девелопера и на бета сервере можно использовать кастомные настройки, например для соединения с БД.
    • Должен работать один из способо создания структуры БД. Встроенный manage.py syncdb или миграции через South (будет плюсом).
    • По фронт-енду требований никаких не предъявляется. Интерфейс на твое усмотрение и он не буде оцениваться. Можно использовать любимый фреймворк или, например, воспользоваться Twitter Bootstrap.
    Ответ написан
    12 комментариев
  • С чего начать изучение angular js?

    disc
    @disc
    веб-разработчик
    Попробуйте бесплатный урок на codeschool
    campus.codeschool.com/courses/shaping-up-with-angu...
    Ответ написан
    2 комментария
  • Как генерировать обои рабочего стола с параметрами ноутбука?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    #!/bin/bash                                                                                                                                                                                           
    
    get_hardware () {
        echo "'"
        grep 'model name' /proc/cpuinfo | uniq | sed 's/model name/CPU/' |sed 's/[[:space:]]/ /g'
        echo "RAM: $(free -m | awk '/Mem:/ {print $2}') MB"
        echo "Disk model: $(LANG=C sudo lshw -class disk | awk '/product:/ {gsub ("       product: ", "") ; print}')"
        echo "Disk capacity: $(LANG=C sudo lshw -class disk | awk '/size:/ {gsub ("       size: ", "") ; print}')"
        echo "'"
    }
    
    convert -size 1600x900 xc:transparent -font Ubuntu-Regular -pointsize 72 -channel RGBA -fill black -draw "text 20,55 $(get_hardware)" fuzzy-tweaks.png


    Страшненький пример, но для примера сойти должно )
    Ответ написан
    1 комментарий
  • Зачем в PHP ссылки?

    MintTea
    @MintTea
    Ну так, сходу:

    Модификация элементов внутри цикла требует ссылки:
    foreach ($array as &$item) {
        $item *= 2;
    }

    Рекурсивное замыкание реализуется ссылкой:
    $recursiveClosure = function() use (&$recursiveClosure) {
        $recursiveClosure();
    };

    Передача параметров в функцию по ссылке:
    function foo(&$result)
    {
        $result = 'result';
    }


    Можно продолжать. Я удивлен, как вы не столкнулись ни с одним из вышеперечисленного за год.
    Ответ написан
    6 комментариев
  • Почему моя функция определения размера файла не работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    private function isNormalFileSize($filename) {
        clearstatcache(TRUE, $filename); // сброс кэша
        return (file_exists($filename) && (filesize($filename) < 1048576));
    }

    Функции file_exists и filesize кэшируют результат для большей производительности.
    Ответ написан
    Комментировать
  • Почему новая версия скайпа создает много процессов в win xp?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Ваш вопрос и без ответа полезен - теперь я знаю ещё один минус нынешнему Скайпу.
    И раз уж отвечальщики перешли в оффтоп и стали советовать всякие альтернативы (outlook, мордокнига), то и я посоветую - можно перейти со Скайпа на ooVoo, которое во многих аспектах лучше нынешнего Скайпа, а во всех остальных по крайней мере не хуже.
    Ответ написан
    5 комментариев
  • Как проверить доменную зону в строке с email?

    Melkij
    @Melkij
    PostgreSQL DBA
    А можно полюбопытствовать общую задачу? При которой во времена New gTLDs требуется белый список доменов первого уровня?
    $regularExpression = "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-.]+(".join('|', $allowedDomainZones).")$";
    Ответ написан
    1 комментарий
  • Как быстро скопировать 40 млн файлов на другой сервер?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Как-то так:
    dd if=/dev/sda bs=65536 | ssh target-ip 'dd of=/dev/sda bs=65536'.

    На агрегированном канале 2x1Gbit выдает 100 мегабайт в секунду. Если подшаманить размеры блока bs= и mtu, и еще шифрование у ssh выключить, можно, я думаю, и все 200 мегабайт выжать.

    Проводить, на отмонтированном! (или смонтированном в readOnly) диске!
    Не зря dd расшифровывается как DestroyData.
    Варианты настройки шифрования (-c) и скорость (лучше - больше):
    ssh-cipher-speed-chart.png?w=630
    Ответ написан
    8 комментариев
  • Безболезненная эволюция работающего локального корпоративного сервера?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Стандартное решение - кластер и виртуализация. С ними "на лету" можно вытворять что угодно. Понятно, что для такой радости нужно иметь как минимум два одинаковых сервера.

    Не ясно, что означает "на лету". DNS-DHCP-NAT-SQUID настраиваются за 15 минут, дальнейшее конфигурирование будет конечно вызывать кратковременые отвалы интернета (и то, если не использовать squid reload, а грубо шарашить squid restart).

    Вашей песочнице нужен один внешний IP и еще одна машина для тестов.

    В качестве дистрибутива рекомендую openSUSE 13.2 в минимальной конфигурации (без графики). Псевдографический конфигуратор YAST по функционалу не отличается от графического.
    Ответ написан
    2 комментария
  • Сервер с сайтом и хранилищем фотографий за месяц?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    запустить на нём сайт компании (готовый)

    Зависит от того на чем он написан. Мне почему-то нравятся вот эти туторы
    https://www.digitalocean.com/community/tutorials
    Плюс разработать какое нибудь удобное и красиво хранилище высококачественных фотографий (или видео), и также разместить на этом сервере

    owncloud.org
    Ответ написан
    5 комментариев
  • Существует аналог owncloud под windows server?

    @peronik
    OnlyOffice (бывш. TeamLab Office)
    www.onlyoffice.com/ru
    Написан на .NET, под Windows.
    Ответ написан
    4 комментария
  • Как настроить с нуля PXE-установку Linux?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    Ничего сложного, только описывать долго, постараюсь кратко с примерами.

    В конфиг DHCP добавляем настройку типа:
    #PXE boot for Server
    subnet XXX.XXX.6.0 netmask 255.255.255.XXX {
         range XXX.XXX.6.20 XXX.XXX.6.254;
         option routers XXX.XXX.6.1;
         option subnet-mask 255.255.255.XXX;
         option domain-name-servers  8.8.8.8;
            next-server XXX.XXX.6.10;  # TFTP server address
            filename "pxelinux.0";   # PXE boot loader filename
    }

    Ключевое это строки с передачей IP для сервера TFTP и имя файла загрузчика.

    Делаем каталог для будущих образов
    mkdir -p /usr/tftpboot/images
    mkdir /usr/tftpboot/pxelinux.cfg


    Устанавливаем tftp-hpa (легко найти для любой системы)
    В конфиге ставим флаги:
    "-p -s /usr/tftpboot -B 1024 --ipv4"

    Скачиваем свежий syslinux (например https://www.kernel.org/pub/linux/utils/boot/syslin...
    Свежие версии всегда можно найти тут www.syslinux.org/wiki/index.php/The_Syslinux_Project

    Разархивируем
    tar tar xjf syslinux-4.04.tar.bz2 -C /tmp
    копируем в /usr/tftpboot/ следующие файлы:
    chain.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    memdisk
    menu.c32
    poweroff.c32
    pxelinux.0
    pxelinux.cfg
    reboot.c32
    vesamenu.c32


    Так же если планируем использовать кириллицу в меню скачаем шрифты, например эти
    ftp://ftp.itrc.hp.com/applications/experteventadmi...
    Кодировка меню должна быть в CP866 он же Russian(DOS)
    сконвертировать из koi8-r (тандартная кирилическая для фри) можно командой.
    iconv -f koi8-r -t CP866 defaultKoi8 -o default

    создаем папку с образами
    mkdir images
    В ней подпапки с нужными системами, в каждую подпапку кидаем нужные для загрузки систем файлы, вот пару примеров:

    Установка FreeBSD
    Скачиваем образы
    x32
    fetch mfsbsd.vx.sk/files/images/i386/9/mfsbsd-9.1-RELEAS...
    x64
    fetch mfsbsd.vx.sk/files/images/amd64/9/mfsbsd-9.1-RELEA...

    Установка Debian 7
    x32
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    x64
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...
    fetch ftp://ftp.debian.org/debian/dists/Debian7.0.0/main...

    Установка CentOS
    x32
    fetch mirror.mirohost.net/centos/6.4/os/i386/images/pxeb...
    fetch mirror.mirohost.net/centos/6.4/os/i386/images/pxeb...
    x64
    fetch mirror.mirohost.net/centos/6.4/os/x86_64/images/px...
    fetch mirror.mirohost.net/centos/6.4/os/x86_64/images/px...

    Установка Kali
    x32
    fetch repo.kali.org/kali/dists/kali/main/installer-i386/...
    fetch repo.kali.org/kali/dists/kali/main/installer-i386/...
    x64
    fetch repo.kali.org/kali/dists/kali/main/installer-amd64...
    fetch repo.kali.org/kali/dists/kali/main/installer-amd64...

    Далее правим фаил конфига загрузчика:
    /usr/tftpboot/pxelinux.cfg/default (Ну или с привязкой к конкретным сервакам, тогда не default)
    Вот пример, пути править на свои:
    ui vesamenu.c32
    PROMPT 0
    MENU WIDTH 77
    MENU MARGIN 10
    MENU PASSWORDMARGIN 3
    MENU ROWS 12
    MENU TABMSGROW 18
    MENU CMDLINEROW 18
    MENU ENDROW 24
    MENU PASSWORDROW 11
    MENU TIMEOUTROW 60
    MENU AUTOBOOT Starting Local System in # seconds
    
    MENU PASSPROMPT Enter Password
    
    NOESCAPE 0
    ALLOWOPTIONS 0
    
    MENU COLOR SCREEN 44;30 #00FFFFFF #00000000
    MENU COLOR BORDER 44;30 #FFFFFFFF #FF000000
    MENU COLOR TITLE 1;44;30 #FFFFFFFF #FF000000
    
    MENU COLOR SCROLLBAR 44;30
    
    MENU COLOR HOTKEY 44;30 #FFFFFF00 #FF000000
    MENU COLOR UNSEL 44;30 #FFFFFFFF #FF000000
    MENU COLOR HOTSEL 1;30 #FFFFFFFF #FF333333
    MENU COLOR SEL 7;44;30 #FFFFFF00 #FF333333
    
    MENU COLOR CMDMARK 44;30
    MENU COLOR CMDLINE 44;30
    MENU COLOR TABMSG 44;30
    MENU COLOR DISABLED 44;30
    MENU COLOR HELP 44;30
    
    MENU COLOR PWDBORDER 44;30 #FF187CCA #FFFFFFFF
    MENU COLOR PWDHEADER 1;44;30 #FF187CCA #FFFFFFFF
    MENU COLOR PWDENTRY 5;44;30 #FF187CCA #FFFFFFFF
    
    menu background background.jpg
    FONT pxelinux.cfg/Cyr_a8x16.psf
    menu title RealWeb PXE boot menu (c)Rico-X
    
    LABEL bootlocal
       menu label ^Загрузка с локального диска
       kernel chain.c32
       append hd0 0
       timeout 150
     TEXT HELP
    Загрузка с первого локального жесткого диска,
    произойдет автоматически по ситечении таймера.
     ENDTEXT
    
    menu begin
    menu title FreeBSD 9.1
    
    label FreeBSD91p2x64
      menu label Установить FreeBSD-9.1 x64
      kernel memdisk
      initrd images/mfsbsd/mfsbsd-9.1-RELEASE-p2-amd64.img raw
     TEXT HELP
    После запуска параметры входа:
    имя root пароль mfsroot
    Для начала установки FreeBSD введите bsdinstall
     ENDTEXT
    
    label FreeBSD91p2x32
      menu label Установить FreeBSD-9.1 x32
      kernel memdisk
      initrd images/mfsbsd/mfsbsd-9.1-RELEASE-p2-i386.img raw
     TEXT HELP
    После запуска параметры входа:
    имя root пароль mfsroot
    Для начала установки FreeBSD введите bsdinstall
     ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    menu begin
    menu title Debian
    
    label Debian_7x64
      menu label ^Debian 7 wheezy x86_64 install
      kernel images/debian/linux7_64
      append priority=low vga=788 initrd=images/debian/initrd7_64.gz --
      TEXT HELP
    Устанавливает Debian 7 64 в ручном режиме.
      ENDTEXT
    
    label Debian_7x32
      menu label ^Debian 7 wheezy i386 install
      kernel images/debian/linux7_386
      append priority=low vga=788 initrd=images/debian/initrd7_386.gz --
      TEXT HELP
    Устанавливает Debian 7 32 в ручном режиме.
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    menu begin
    menu title CentOS
    
    label CentOS_6.4_x86_64
      menu label ^CentOS 6.4 x86_64 install
      kernel images/centos/amd64/vmlinuz
     APPEND initrd=images/centos/amd64/initrd.img method=http://mirror.mirohost.net/centos/6/os/x86_64/ devfs=nomount ksdevice=link ramdisk_size=100000
      TEXT HELP
    Устанавливает CentOS 6.4 x64 в ручном режиме.
    Для установки уиспользуется http://mirror.mirohost.net/centos/6/os/x86_64/
      ENDTEXT
    
    label CentOS_6.4_i386
      menu label ^CentOS 6.4 i386 install
      kernel images/centos/i386/vmlinuz
      APPEND initrd=images/centos/i386/initrd.img method=http://mirror.mirohost.net/centos/6/os/i386/ devfs=nomount ksdevice=link ramdisk_size=100000
      TEXT HELP
    Устанавливает CentOS 6.4 i386 в ручном режиме.
    Для установки уиспользуется http://mirror.mirohost.net/centos/6/os/i386/
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    #label Centos6_64
    #MENU LABEL CentOS 6 amd64
    # KERNEL /memdisk
    # APPEND iso
    # INITRD images/centos/CentOS-6.4-x86_64-netinstall.iso
    
    LABEL ProxMox
    MENU LABEL ProxMox3 install
        KERNEL images/proxmox/linux26
    #    APPEND ramdisk_size=102400 vga=791 video=vesafb:ywrap,mtrr splash=verbose url=http://195.114.6.10/images/proxmox/initrd.iso.img
        APPEND ramdisk_size=524288 vga=791 video=vesafb:ywrap,mtrr splash=verbose
        INITRD images/proxmox/initrd.iso.img
    
    menu begin
    menu title ^Kali ^Linux
    
    label KaliLinux_x64
      menu label ^Kali Linux x86_64
      kernel images/kalilinux/amd64/linux
      append priority=low vga=788 initrd=images/kalilinux/amd64/initrd.gz --
      TEXT HELP
    Дистрибьютив для пинтестирования,
    cодержит различные инструменты для проведения тестов.
    Русская документация http://ru.docs.kali.org/
      ENDTEXT
    
    label KaliLinux_x32
      menu label ^Kali Linux i386
      kernel images/kalilinux/i386/linux
      append priority=low vga=788 initrd=images/kalilinux/i386/initrd.gz --
      TEXT HELP
    Дистрибьютив для пинтестирования,
    cодержит различные инструменты для проведения тестов.
    Pусская документация http://ru.docs.kali.org/
      ENDTEXT
    
    label < Назад
     menu exit
    
    menu end
    
    LABEL Pmagic
    LINUX images/pmagic/bzImage
    append noapic initrd=images/pmagic/initrd.img root=/dev/ram0 init=/linuxrc ramdisk_size=100000
      TEXT HELP
    LiveCD дистрибьютив для восстановления и проверки систем.
      ENDTEXT
    
    label reboot
      menu label Reboot
      kernel reboot.c32
      TEXT HELP
    Перезагрузить компьютер
      ENDTEXT
    
    LABEL poweroff
     MENU LABEL Power off
     KERNEL poweroff.c32
      TEXT HELP
    Выключить компьютер
      ENDTEXT


    Для загрузки windows нужно использовать специально собранный образ WinPE, который будет монтировать нужные образы с сетевой шары, но описание сборки вменяемого образа займет еще страниц 5 и мне лень уже печатать.
    Ответ написан
    2 комментария