지속성을 가진 데비안 라이브 USB를 만드는 방법은 무엇입니까? 업데이트 할 수있는 방법을

USB 플래시 드라이브에 설치하여 어디에서나 데비안을 사용하고 싶지만 재부팅시 설정을 저장하고 패키지를 잃지 않고 설치 / 업데이트 할 수있는 방법을 모르겠습니다.

그래서이 링크 에서 하이브리드 ISO 이미지를 다운로드 하고 FAQ 의 지침을 따랐습니다 .

dd if=image.iso of=/dev/sdb bs=4M; sync

이 명령은 ISO 이미지와 동일한 크기 (8GB 중 1.3GB)의 파티션을 만들어 이미지를 플래시 드라이브로 복사했으며 나머지 플래시 드라이브는 할당되지 않았습니다.

이 작업을 수행하는 방법을 검색했지만 모든 자습서는 다른 접근 방식을 사용하며 그 중 일부는 구식이며 오래된 usb-hdd 이미지에 대해 이야기합니다.

그렇다면이 하이브리드 이미지를 플래시 드라이브에 어떻게 설치해야합니까?

패키지를 설치하고 설정을 저장하려면 플래시 드라이브를 어떻게 분할해야합니까? 어떻게 사용하지 않고이 이미지를 설치할 수 dd있습니까?



답변

데비안은 끈기있게 산다.

  1. 먼저 공식 이미지를 사용해보십시오 www.debian.org/CD/live/

    SE 사이트 (표준 라이브)에서 :

    wget https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-standard.iso
    

    자동 미러 선택에서 (메이트 라이브) :

    wget http://debian-cd.debian.net/debian-cd/10.0.0-live/amd64/iso-hybrid/debian-live-10.0.0-amd64-mate.iso
    

    그런 다음 https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/SHA256SUMS로 파일을 다운로드 하십시오 .

    Ok ISO 파일 시스템은 읽기 전용 이지만 약간의 해결 방법 이 있습니다. 중요하지 않은 bootparampersistence이런 식으로 대체 할 수 있습니다.

    • 파일이 확인되면!
    • sed이진으로 문자열을 교체 하는 데 사용하여이를 변경할 수 있습니다 .

      LANG=C sed 's/splash quiet/persistence /;s/quiet splash/persistence /' \
          </tmp/debian-live-10.0.0-amd64-mate.iso \
          >/tmp/debian-live-10.0.0-amd64-mate-persist.iso
      

    이렇게하면 어디서나 엄격하게 바꾸 거나 함으로써 라이브 바이너리 파일 의 수정 된 사본이 생성됩니다 . 좋아, 이것은 grub boot 명령 이이 두 단어를 함께 포함 하는 동안에 만 작동 합니다.splash quietquiet splashpersistence

    그러나 지속 후에 공간을 놓치지 않도록주의하십시오.

    "splash quiet" -> 12 characters
    "persistence " -> 12 characters
    

    아니면 바이너리가 깨질 것입니다.

  2. USB 키에 설치

    dd if=debian-live-10.0.0-amd64-standard-persist.iso of=/dev/sdX
    

    그런 다음 지속성을 위해 세 번째 파티션을 추가하십시오 .

    fdisk /dev/sdX
    n           # new partition
    p           # primary
    <Return>    # default: 3
    <Return>    # default: next free sector
    <Return>    # default: last addressable sector
    w           # write and quit
    

    이것은 상호 작용없이 실행될 수 있습니다.

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    다음을 사용하여 지속성을 형식화하고 준비하십시오 union.

    mkfs.ext4 -L persistence /dev/sdX3
    mount /dev/sdX3 /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    

    그런 다음 꺼내고 시도하십시오!

    지속성 을 사용하기 위해 수정되지 않은 공식 이미지를 사용하는 경우 부팅 선택 을 중단 해야합니다 .

    메뉴 화면이 표시 되면 부팅 옵션을 선택한 다음 대신을 Return누르십시오 Tab.

    커널 명령 행이 표시되고 persistence마지막 단어 ( quiet) 다음에 공백 을 추가 한 다음를 누르십시오 Return.

    불행하게도, 첫 번째 파티션은 UEFI와 번들로 제공되고 ISO이므로 boot 명령을 수정할 수 없습니다.

끈기있는 데비안 라이브

persistence부팅 명령 줄 에 추가 해야하지만 다른 것은 없습니다!? FAT와를 사용하는 방법이 syslinux있지만 많은 데이터 조작이 있습니다. 길고 나는 이것을 잘 알지 못한다. 나는 선호한다:

  1. 나만의 데비안 라이브 만들기

    규칙적 이지만 조금 더 길다 (적어도 첫 번째 이미지의 경우).

    참고 :이 모든 것은 루트 사용자 로 수행되었습니다 (이를 사용하여 작동해야 fakeroot하지만 현재 테스트되지는 않았습니다).

    apt install live-build
    

    … 그리고 모든 권장 사항.

    XARGS주석 처리 된 줄을 삭제 하는 작은 함수를 작성했습니다 .

    XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
    

    bootparams지속성에 대한 현지화 및 인수가있는 첫 번째 설정 :

    ExtraBootParams=$(XARGS <<eobp
        boot=live
        config
        locales=ed_WT
        keyboard-layouts=ed
        keyboard-variant=wt
        persistence
    eobp
    )
    

    이제 패키지 목록 :

    PackageList=$(XARGS <<-eopl
        gnome
        gnome-core
        # gnome-full
        # debian-forensics
        debian-installer-launcher
    eopl
    )
    

    첫 단계 lb: 초기 트리 생성 :

    lb config --architectures amd64 -d buster --debian-installer-gui \
        true --archive-areas 'main contrib non-free' \
        --bootappend-live "$ExtraBootParams"
    

    이제 작은 나무가 있습니다.

    printf "%s\n" > config/package-lists/standard.list.chroot \
        $Packages $PackageList
    

    좋아, 다음 명령은 시간이 좀 걸릴거야! (내 호스트에서 약 1 시간)

    lb build
    

    모든 것이 정상이라면, 자신의 데비안 라이브를 찾을 수 있습니다 :

    ls -l *.iso
    -rw-r--r--  1 root root 1511817216 sep  7 15:32 live-image-amd64.hybrid.iso
    
  2. USB 키에 설치 (다운로드 한 바이너리와 동일한 작동)

    ‘ISO-하이브리드’ 이미지는 두 개의 UEFI를위한 파티션과 두 방법에 살고 혼합 포함 EFI바이오스 에서 부팅 할 수 있습니다.

    file live-image-amd64.hybrid.iso
    live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
    =0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
    or 708, 5696 sectors
    

    USB 키를 넣을 수 있습니다. (참고 : USB 키가 먼저 장착되어 있지 않은지 확인하십시오!)

    dd if=live-image-amd64.hybrid.iso of=/dev/sdX
    

    그런 다음 지속성을 위해 세 번째 파티션을 추가하십시오 .

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    다음을 사용하여 지속성을 형식화하고 준비하십시오 union.

    mkfs.ext4 -L persistence /dev/sdX3
    mount /dev/sdX3 /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    

    꺼내고 시도하십시오 …

암호화 된 지속성으로 데비안 라이브

  1. 암호화 된 지속성으로 자신 만의 데비안 라이브를 빌드하십시오 .

    /암호화 된 지속성에서 rootfs로 부팅하려면 설정을 추가하여 dm-crypt모듈 관련 바이너리를 initrd (초기 램 디스크)에 추가 CRYPTSETUP=y해야합니다 /etc/initramfs-tools/hooks/.

    XARGS주석 처리 된 줄을 삭제 하는 작은 함수를 작성했습니다 .

    XARGS() { sed -ne '/#/d;s/ \t//g;H;${x;s/\n/ /g;s/^ //;p}'; }
    

    bootparams지속성 및 cryptsetup에 대한 현지화 및 인수가있는 첫 번째 설정 :

    ExtraBootParams=$(XARGS <<eobp
        boot=live
        config
        locales=ed_WT
        keyboard-layouts=ed
        keyboard-variant=wt
        persistent=cryptsetup
        persistence-encryption=luks
        persistence
    eobp
    )
    

    이제 패키지 목록 :

    PackageList=$(XARGS <<-eopl
        gnome
        gnome-core
        # gnome-full
        # debian-forensics
        debian-installer-launcher
    eopl
    )
    

    그리고 당신의 패키지 선택 :

    Packages=$(XARGS <<-eopk
        cryptsetup
        cryptsetup-initramfs
        debian-installer-launcher
        firmware-linux-nonfree
        firmware-linux-free
        less
        ssh
    #   openvpn
    #   xtightvncviewer
        gsmartcontrol
        smartmontools
        partclone
        ntfs-3g
        task-gnome-desktop
        user-setup
        sudo
        apt-utils
    eopk
    )
    

    물론 cryptsetup필요합니다! 😉

    첫 단계 lb: 초기 트리 생성 :

    lb config --architectures amd64 -d buster --debian-installer-gui \
        true --archive-areas 'main contrib non-free' \
        --bootappend-live "$ExtraBootParams"
    

    이제 작은 나무가 있습니다.

    printf "%s\n" > config/package-lists/standard.list.chroot \
        $Packages $PackageList
    

    좋아, 다음 두 명령은 시간이 좀 걸릴거야! (내 호스트에서 약 40 분)

    lb bootstrap ; lb chroot
    

    이제 모듈과 바이너리를 추가 할 수 있습니다 :

    echo dm-crypt >> chroot/etc/initramfs-tools/modules
    
    sed '/CRYPTSETUP=/s/^#//;s/=.*/=y/' -i \
        chroot/etc/cryptsetup-initramfs/conf-hook
    ln -s ../../cryptsetup-initramfs/conf-hook \
        chroot/etc/initramfs-tools/hooks/cryptsetup
    chroot chroot live-update-initramfs -u
    

    그런 다음 최종 단계를 실행하십시오 (약 25 분 정도 더 걸릴 것입니다).

    lb installer ; lb binary
    

    참고 :을 읽으면 cryptsetup: WARNING: Couldn't determine root device괜찮습니다! 이는 cryptsetup이에 설치되어 있음을 의미 합니다 initrd.

    모든 것이 정상이라면, 자신의 데비안 라이브를 찾을 수 있습니다 :

    ls -l *.iso
    -rw-r--r--  1 root root 1511817216 sep  7 15:32 live-image-amd64.hybrid.iso
    
  2. USB 키에 설치

    ‘이소 – 하이브리드’ umage 할 이미 UEFI 두 방법으로 혼합 된 라이브에 대한 두 개의 파티션이 포함 EFIBIOS가 에 부팅 할 수 있습니다.

    file live-image-amd64.hybrid.iso
    live-image-amd64.hybrid.iso: DOS/MBR boot sector; partition 2 : ID
    =0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsect
    or 708, 5696 sectors
    

    USB 키를 넣을 수 있습니다. (참고 : USB 키가 먼저 장착되어 있지 않은지 확인하십시오!)

    dd if=live-image-amd64.hybrid.iso of=/dev/sdX
    

    여유 공간을 사용하여 새로운 Linux 파티션을 추가하십시오.

    fdisk /dev/sdX <<<$'n\np\n\n\n\nw'
    

    USB 키의 여유 공간을 사용하여 파티션 3 을 만듭니다 .

    그런 다음 암호화 된 파티션을 준비하십시오

    cryptsetup -q luksFormat /dev/sdX3
    

    암호 입력

    cryptsetup -q luksOpen /dev/sdX3 persist
    

    암호를 다시 입력하십시오

    mkfs.ext4 -L persistence /dev/mapper/persist
    mount /dev/mapper/persist /mnt
    echo '/ union' >/mnt/persistence.conf
    sync
    umount /mnt
    cryptsetup luksClose persist
    

그게 다야.

eject /dev/sdX


답변

HDD를 대상으로 대신 USB 장치를 선택하여 데비안을 새로 설치하지 않겠습니까? 당신의 USB 용량은 무엇입니까?

데비안 LXDE를 설치하고 4GB USB 메모리 스틱에서 실행하여 필요할 때마다 시스템을 업데이트하고 필요할 때 패키지를 설치합니다.


답변

클로닝 및 데비안 퍼시 스턴트 라이브

복제 (각 바이트를 그대로 복사하여 일대일 사본 작성)는 Linux 하이브리드 iso 파일에서 부트 드라이브 (라이브 드라이브 또는 설치 드라이브)를 작성하는 매우 간단하고 안정적인 방법입니다.

읽기 전용 파일 시스템 ISO9660 (및 읽기 전용 ‘파티션 테이블’)을 가지고 있기 때문에 복제 된 데비안 iso 파일을 영구적으로 만드는 일반적인 방법은 없습니다.

mkusb 사용 (BIOS / UEFI)

mkusb 를 사용하여 데비안 라이브 iso 파일에서 영구 라이브 드라이브를 만들 수 있습니다 (그리고 간단하게 말하고 싶습니다) . mkusb는 데비안 8 이상을 지원하므로 현재 버전의 mkusb (버전 12.3.3 이상)를 사용해야합니다.

mkusb 는 파티션 테이블과 5 개의 파티션을 생성합니다 :

  1. Windows 컴퓨터와의 데이터 교환을위한 NTFS 파티션 (선택적 크기)
  2. 확장 파티션 또는 bios_grub파티션
  3. 부팅을위한 FAT32 부팅 파티션 grub(UEFI 및 BIOS 모드 모두)
  4. ISO 파일의 복제본을 포함하는 ISO9660 파티션
  5. ext 수정 (및 파일)이 저장되는 지속성을위한 파티션

mkusb 는 다음을 자동으로 조정합니다.

  • 부팅 옵션 persistence( persistent우분투가 아닌 )
  • persistence파티션 # 5 의 레이블 ( casper-rw우분투가 아닌 )
  • 파티션 # 5의 최상위 레벨에 persistence.conf내용 이있는 파일 입니다 / union.

이 구조는 dus-persistentmkusb 버전 12, alias를 사용할 때 bash 쉘 스크립트에 의해 작성됩니다 mkusb-dus. 모든 세부 사항을 원하면 mkusb를 설치하고의 내용을 dus-persistent읽거나 phillw.net/isos/linux-tools/mkusb/dus-persistent 를 통해 직접 읽으십시오 .

mkusb의 기본 설정은 데비안 8, 9 및 10에 사용할 수 있으며, 영구 라이브 드라이브는 BIOS 모드 및 UEFI 모드로 부팅 할 때 작동하지만 보안 부팅은 작동하지 않습니다.

(이전 버전 mkusb 12.3.2에서는 UEFI 모드의 데비안 10에 대한 ‘설정’메뉴에서 ‘usb-pack-efi’를 수동으로 설정해야합니다.)

수동 설정 사용 (UEFI 만 해당)

UEFI 전용 부팅 플래시 드라이브를 원한다면 설치 프로그램이 전혀 필요하지 않습니다.

FAT32로 플래시 드라이브를 포맷하고 부팅 플래그를 설정하면됩니다. 그런 다음 7zip과 같이 자주 사용하는 추출 도구를 사용하여 ISO를 FAT32 파티션으로 추출 및 복사하십시오 . 자세한 내용은 직접 수행 을 참조하십시오.

표준 라이브 iso 파일 (소형, 그래픽 데스크탑 환경 없음)로이 방법을 확인했습니다.

debian-live-10.0.0-amd64-standard.iso

따라서이 방법으로 데비안 10 (64 비트)으로 USB 부팅 드라이브를 만들 수 있습니다. 라이브 전용이며 UEFI 모드에서 부팅됩니다.

  • iso 파일에서 파일을 저장하기에 충분한 FAT32 파티션을 만듭니다 (iso 파일의 크기에 약 5 % 추가)
  • FAT32 파티션을 마운트하십시오
  • iso 파일의 내용 (모든 파일이있는 디렉토리 트리)을 FAT32 파티션으로 추출하십시오.

이제 라이브 전용 USB 부팅 드라이브가 있습니다

  • 파일에서 persistence시작하여 줄 끝까지 단어 를 편집 linux하십시오.

    /path/to/mountpoint/boot/grub/grub.cfg
    
  • ext2할당되지 않은 공간 (FAT32 파티션 뒤에)에 파티션을 만듭니다.

  • 파티션에 라벨 persistenceext2붙입니다
  • ext2파티션을 마운트
  • 파일 시스템 에서 / union파일 persistence.conf에 쓰기ext2

  • 플래시 드라이브를 분리하거나 재부팅 하기 전에 플래시 드라이브의 모든 파티션을 마운트 해제하십시오.

이제 데비안 10과 함께 지속적인 라이브 USB 드라이브가 있습니다.


영구 라이브 드라이브 내에서 본 명령 출력 :

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  9.0M  1.6G   1% /run
/dev/sdb1       4.0G  826M  3.2G  21% /run/live/persistence/sdb1
/dev/loop0      610M  610M     0 100% /run/live/rootfs/filesystem.squashfs
tmpfs           7.8G     0  7.8G   0% /run/live/overlay
/dev/sdb2        11G   38M   11G   1% /run/live/persistence/sdb2
overlay          11G   38M   11G   1% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           7.8G     0  7.8G   0% /tmp
tmpfs           1.6G     0  1.6G   0% /run/user/1000

$ lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

$ lsblk -fm /dev/sdb
NAME   FSTYPE LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINT                            SIZE OWNER GROUP MODE
sdb                                                                                                                14.8G             brw-rw----
├─sdb1 vfat   USBBOOT     7176-C538                               3.2G    20% /usr/lib/live/mount/persistence/sdb1    4G             brw-rw----
└─sdb2 ext2   persistence 2b324439-d63e-4a19-bf57-d49ecb881828     10G     0% /usr/lib/live/mount/persistence/sdb2 10.8G             brw-rw----

overlay일치하는 크기가 /dev/sdb2지속성이 작동하고 있음을 나타냅니다.

사용 mkusb-minp(BIOS / UEFI)

mkusb-minp 를 사용하여 데비안 라이브 iso 파일에서 영구 라이브 드라이브를 만들 수 있습니다 (그리고 간단하게 말하고 싶습니다) . mkusb-minp 는 데비안 10 이상을 지원합니다. 이 간단한 쉘 스크립트는 mkusb-min 에서 개발되었습니다 . 두 장치 모두 복제 프로세스 주위에 ‘안전 벨트를 감아’잘못된 장치에 쓰지 않도록합니다.

PPA를 통해 소프트웨어를 추가하지 않거나 일반적으로 이해할 수있는 도구 만 사용하려는 경우이 옵션이 좋습니다.


답변

우선, 나는 리눅스가 아니에요 – 평범한 Joe보다 더 잘 알고 있습니다.

yummi 설치 프로그램을 사용하여 데비안 10 usb (16GB 스틱을 사용했습니다) 부팅 스틱을 만든 다음 부팅 할 수 있습니다.

한 번 들어, 큰 USB 스틱을 다른 포트에 꽂은 다음 (128GB Samsung FIT 플래시 드라이브와 통신 할 때이 작업을 수행함) 바탕 화면에서 Install Debian 아이콘을 두 번 클릭하십시오.

수동 파티션 화면에서 128GB USB 스틱이 선택되어 있는지 (또는 사용중인 PC) 로컬 PC가 아닌 PC를위한 로컬 드라이브가 아닌지 확인하십시오. 이 작업을 수행하고 라이브 데비안이 현재 실행중인 16GB USB 스틱이 아닌지 확인하십시오)

완료되면 128GB USB 스틱에서 기존 파티션을 모두 삭제하고 다음 3 개의 파티션을 만듭니다.

500MB / boot / efi 1942MB linuxswap 나머지 ext2 (광산은 119GB)

—- 나는 USB 스틱에 ext3 또는 4를 사용하지 않을 것입니다-왜 어떤 리눅스 남자가 몇 년 전에 나에게 말했고 나는 그것을 고수했습니다. 왜 아는 사람이 있으면 알려주십시오.

마지막으로 부트 로더가 올바른 USB 스틱에 설치되는지 확인하십시오. 이것은 파티션을 만들 때와 같은 페이지에 있었고 놓치기 쉽습니다. 나를 위해 맨 아래에 있었고 이 작업을 수행하는 데 사용한 PC의 로컬 SDD에서 Samsung 128GB FIT 플래시 드라이브로 변경하십시오. 그 후, 다음에 … 약 1 시간 정도 기다립니다 (필자의 경우).

데비안 라이브 락이라면 암호는 따옴표없이 “라이브”입니다.

타이핑하는 동안 완료되었으므로 재부팅하여 Samsung 128GB FIT USB 플래시 드라이브에서 실행되는 데비안 10 시스템에 로그온합니다. 약. 내가 사용한 사용법 10 분 디스크 공간이 (LOTS) 그대로인지 확인할 수 있었고 NvMe 로컬 드라이브보다 약간 느리지 만 조절기 7200RPM HDD보다 속도가 빠른 것 같습니다.

아야 간다.


답변