화면이 없는 PC에 데비안을 설치하는 방법(Headless Install via SSH)

9179 단어 데비안

모니터도 키보드도 없는 PC에 데비안을 설치한다.



데비안의 헤드리스 설치에 도전합니다.
모니터 출력이 없는 Windows Home Server 제품에 데비안을 설치해 보십시오.


Acer easyStore H340
HP MediaSmart Server EX490
의 2기종으로 시험해 보았습니다만, 모두 무사히 인스톨 할 수 있었습니다.

작업 흐름



작업에는 debian이 이미 설치된 PC가 필요합니다.
준비 작업으로서 Headless 설치에 대응시킨 설치 USB 메모리를 준비합니다.
  • 데비안 netinst iso 파일 다운로드
  • iso 파일 확장
  • Preseed 파일 배치
  • iso 파일을 다시 굳힌 다음 USB에 씁니다

  • 그 후, 작성한 USB 메모리로 대상의 PC를 기동, SSH 접속해 인스톨 작업을 계속합니다.

    준비 작업



    우선, 데비안의 netinst iso 파일을 다운로드하고 확장합니다.

    bash
    # もととなる netinst イメージをダウンロード
    wget http://ftp.riken.jp/Linux/debian/debian-cd/current/amd64/iso-cd/debian-9.8.0-amd64-netinst.iso
    
    # isoファイルを展開、再作成するためのツールをインストール
    sudo apt -y install xorriso
    
    # isofiles ディレクトリに展開する
    xorriso -osirrox on -indev debian-9.8.0-amd64-netinst.iso -extract / isofiles
    

    우선 부팅 메뉴 편집에서
    Grub의 Time Out을 기본 Time Out 없이에서 1초로 변경하여 키보드 입력 없이 설치로 진행합니다.

    bash
    sudo vi isofiles/isolinux/isolinux.cfg
    

    isofiles/isolinux/isolinux.cfg
    # D-I config version 2.0
    # search path for the c32 support libraries (libcom32, libutil etc.)
    path
    include menu.cfg
    default vesamenu.c32
    prompt 0
    # Grubの入力待ちで停止しないように timeout 1 とする。
    timeout 1
    

    게다가 로케일이나 언어의 질문등으로 입력 대기 상태가 되지 않게 몇개의 파라미터를 지정합니다.

    bash
    sudo vi isofiles/isolinux/gtk.cfg
    

    isofiles/isolinux/gtk.cfg
    isofiles/isolinux/gtk.cfg
    default installgui
    label installgui
            menu label ^Graphical install
            menu default
            kernel /install.amd/vmlinuz
            append vga=788 auto=true priority=critical file=/cdrom/preseed.cfg initrd=/install.amd/gtk/initrd.gz ---quiet
            # ↑以下の項目を追加しています。
            # auto=true               ロケールやキーボードの質問を preseed で行えるよう遅らせます。
            # priority=critical       優先度の低い質問を抑制するようになります。
            # file=/cdrom/preseed.cfg preseedファイルを指定します。
    
    

    그런 다음 설치 프로그램을 시작한 후 SSH에 연결할 수 있도록 preseed.cfg를 만들고 배포합니다.

    bash
    wget https://www.debian.org/releases/stable/example-preseed.txt
    sudo cp example-preseed.txt isofiles/preseed.cfg
    sudo vi isofiles/preseed.cfg
    

    isofiles/preseed.cfg
    #### Contents of the preconfiguration file (for stretch)
    ### Localization
    # Preseeding only locale sets language, country and locale.
    d-i debian-installer/locale string en_US
    
    # Keyboard selection.
    d-i keyboard-configuration/xkb-keymap select us
    # d-i keyboard-configuration/toggle select No toggling
    
    # netcfg will choose an interface that has link if possible. This makes it
    # skip displaying a list if there is more than one interface.
    d-i netcfg/choose_interface select auto
    
    # Any hostname and domain names assigned from dhcp take precedence over
    # values set here. However, setting the values still prevents the questions
    # from being shown, even if values come from dhcp.
    d-i netcfg/get_hostname string unassigned-hostname
    d-i netcfg/get_domain string unassigned-domain
    
    ### Network console
    # Use the following settings if you wish to make use of the network-console
    # component for remote installation over SSH. This only makes sense if you
    # intend to perform the remainder of the installation manually.
    d-i anna/choose_modules string network-console
    d-i network-console/password password r00tme
    d-i network-console/password-again password r00tme
    

    md5를 다시 계산합니다.

    bash
    cd isofiles/
    chmod 666 md5sum.txt
    find -follow -type f -exec md5sum {} \; > md5sum.txt
    chmod 444 md5sum.txt
    cd ..
    

    iso 파일로 다시 고정합니다.

    bash
    # isohdpfx.bin を導入します。
    sudo apt -y install isolinux
    
    # ISOファイルを作成します。
    xorriso -as mkisofs -o debian-9.8.0-amd64-netinst-headless.iso \
            -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
            -c isolinux/boot.cat -b isolinux/isolinux.bin -no-emul-boot \
            -boot-load-size 4 -boot-info-table isofiles
    

    USB에 씁니다. 
    여기에서는/dev/sdc 가 USB 메모리라고 하는 것이 되고 있습니다만, 실수로 HDD에 써 버리거나 하면 힘들기 때문에 조심해 주세요.

    bash
    # USBメモリに書き込む前に対応するデバイスファイルを確認、以下のコマンドを発行してからUSBメモリを刺す。
    sudo tail -f /var/log/messages
    Ctrl + C で抜ける
    
    # USBメモリへ書き込み、 書き込み先のデバイスファイル間違いには要注意!
    sudo dd if=debian-9.5.0-amd64-netinst-headless.iso of=/dev/sdc
    

    이제 설치용 USB 메모리가 완성됩니다.

    설치



    여기에서 간단합니다.
    1. USB 메모리와 유선 LAN을 꽂아 Power ON 합니다
    2. 잠시 USB 메모리 액세스 LED가 안정될 때까지 기다립니다.
    3. USB 메모리에 대한 액세스가 안정되면 유선 LAN LED 등으로 네트워크가 올라가고 있는지 확인합니다. 이 때 연결되어 있지 않은 모니터에는 실은 이런 느낌 ↓ 화면이 표시되어 있으며, "설치를 계속하려면 SSH로 연결 해주세요"라는 상태로 기다려 주고 있습니다.
    4. 그러나 모니터를 연결하지 않았으므로 위의 메시지는 볼 수 없습니다. 그래서 Fing 등을 이용하여 인스톨러가 DHCP로 취득한 주소를 조사합니다.
  • 좋아하는 SSH 클라이언트에서 위 항목에서 말한 IP 주소에 SSH 접속한다.

  • 로그인 시 ID 비밀번호는
    ID: installer
    Password : r00tme
    되어 있습니다.
    (Password는 Preseed.cfg에 지정되어 있습니다.)

    그러면 이런 식으로 설치 프로그램에 연결됩니다.


    나머지는 원하는 옵션으로 설치를 진행합니다.
    한 점만 설치 패키지를 지정할 때
    SSH Server
    의 지정 등, 설치 직후부터 외부 액세스 할 수 있도록 하는 것을 잊지 않고. .

    이상입니다.

    참고로 한 사이트
    htps : // 우우키. 데비안. 오 rg / 데비아닌 s t r / P Resee d / 에이 치소
    htps //w w. 데비안. rg / ree s s / s b / o md64 / a pbs02. HTML. 그럼 # p 어서 d
    h tps : // 그래 s s ぇ 소 치 온. rdp rs. 이 m / 2016/03/13 / 헤아 d ぇ s - 데 비안

    좋은 웹페이지 즐겨찾기