![완료! :-)](https://rvso.com/image/1127620/%EC%99%84%EB%A3%8C!%20%3A-).png)
지속적인 변경 사항이 있는 USB 드라이브에 Ubuntu 라이브를 설치하려고 했습니다. 하지만 여러 가지 이유로(성능, 공간) USB 대신 HDD에 변경 사항을 기록하고 싶었습니다.
변경 사항은 시스템(casper-rw)에 의해 마운트된 ext3 파일 시스템이 있는 파일 내에서 처리된다는 것을 알았습니다. 하지만 시작 시 플래시 드라이브에서 자동 감지되는 것 같습니다.
HDD에 새 casper-rw 파일을 생성하고 USB 드라이브의 Ubuntu 라이브 시스템을 HDD로 다시 라우팅하려면 어떻게 해야 합니까?
2015-07-14 편집:
지금까지 답변해 주셔서 감사합니다. 이는 매우 흥미롭고 "라이브 시스템 영구 저장 기능"의 메커니즘을 더 잘 이해하는 데 많은 도움이 되며 문제를 해결하기 위한 좋은 접근 방식을 보여줍니다. 불행하게도 나는 호스트 시스템에 대한 액세스 및/또는 새 하드웨어에 대한 액세스에 관해 질문할 때 염두에 두었던 몇 가지 제한 사항을 극복하려고 노력하고 있었으며 명확하게 언급하지 않았습니다(죄송합니다).
파티셔닝이 옵션이라면 대답은 다음과 같습니다.여기매우 좋습니다. 새 파티션을 만들고 casper-rw라는 레이블을 지정하기만 하면 완료됩니다(작업이 훌륭합니다. 테스트했습니다).
새 하드웨어를 구입하는 것이 옵션이라면 USB3.0 플래시 드라이브(MLC 또는 SLC), 휴대용 HDD, eSATA 및 기타 옵션이 평균 USB2.0 플래시 드라이브보다 성능이 훨씬 더 좋습니다.
그래서 액세스가 제한된 디스크의 파티션 대신 casper-rw 파일을 생성하는 방법(또는 플래시 드라이브의 파일을 복사/링크)이 있는지 궁금합니다.
이렇게 하면 casper-rw 파일을 플래시 드라이브에 다시 복사하고 거기에서 다시 사용하거나 다른 컴퓨터로 옮기는 것이 쉬울 것이며, 뛰어난 유연성을 제공하고 HDD에 대한 변경 사항을 최소화하며 변경 사항을 쉽게 제거할 수 있습니다. 시스템.
답변1
다음 설정을 사용하면 매우 쉽습니다.
Ubuntu를 설치하십시오.SLC USB 스틱(하드웨어가 지원하는 경우 USB 3.0이 선호됨) 캐스퍼 기능이 전혀 없습니다(일반적인 설치, USB 스틱을 SSD로 취급).
왜?SLC는 SLC보다 가격이 두 배 더 비쌉니다.MLC하지만 4배 더 빠르며 8*더 오래 지속됩니다! 그래서 그들은 실제로 막대기에 작은 SSD입니다!
시스템을 최적화하고 USB 스틱을 작은 SSD로 취급하여 다음을 수행하십시오.
추가 내용
/etc/sysctl.conf
:# Fabby: change the "swappiness" to 10 to prevent swapping as much as possible # to not wear out the USB stick as the Ubuntu default is optimized for a server. # 10 to balance with vfs_cache_pressure vm.swappiness = 10 # Fabby: Lower vfs_cache_pressure to 75% # (once cached, probably not immediately needed any more) # # This percentage value controls the tendency of the kernel to reclaim # the memory which is used for caching of directory and inode objects. # # At the default value of vfs_cache_pressure=100 the kernel will attempt to # reclaim dentries and inodes at a "fair" rate with respect to pagecache and # swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer # to retain dentry and inode caches. vm.vfs_cache_pressure = 75 # Fabby: Good to improve sequential reads (stop stuttering in movie play) # Can also be implemented per disk using udev rules vm.max-readahead=2048 vm.min-readahead=1024
/etc/fstab
귀하의 추가 에굵은 매개변수부팅 USB 라인에 연결하십시오. (아마도sdc
또는 일 것입니다sdd
. 아래는 예시이므로 가능하면 UID를 사용하세요)/dev/sdc / ext4 defaults,noatime,discard,errors=remount-ro 0 1
2명의 사용자 생성: USB 스틱에 홈 디렉터리가 있지만 파일이 거의 없는 관리자 사용자와 USB 스틱에 있는 일반 사용자가질 것이다HDD의 홈 디렉터리입니다.
오직 지금HDD를 삽입하고 필요한 HDD 정보를 추가하여
fstab
HDD를 자동 마운트하고 다음 매개변수를 추가하세요.nobootwait,nofail
HDD가 없어도 부팅이 가능하도록 하기 (이 경우 일반 사용자는 접근할 수 없고 admin 사용자만 접근 가능)
이제 관리자로 로그인하고 일반 사용자의 홈 디렉터리를 USB 스틱에서 HDD로 이동합니다.
cp --preserve=all /home/NormalUser/* /media/ExternalHDD/NormalUser
모두 정상인 경우:
rm --recursive --force /home/NormalUser/*
cd /home
ln --symbolic /media/ExternalHDD/NormalUser
완료! :-)
기록을 위해: 저는 이와 같은 16GB USB 2.0 MLC 스틱을 가지고 있습니다. (제 사용 사례에 충분하고 너무 비싸지도 않으며, 약 5년이 지났지만 여전히 작동 중입니다!)
답변2
라이브 미디어용 쓰기 가능한 파일 시스템(casper-rw 파일)을 하드 디스크에 쉽게 넣을 수 있습니다. 제한 사항은 casper-rw 파일이 FAT 파티션에 있어야 한다는 것입니다. 최신 시스템(UEFI)에는 모두 FAT EFI 파티션이 있지만 일반적으로 1G-4G casper-rw 파일을 저장하기에는 너무 작습니다. 충분히 큰 또 다른 FAT 파티션에 디렉터리를 만들 수 있으며, 각 디렉터리에는 서로 다른 라이브 미디어에 대한 casper-rw 파일이 들어 있습니다. sda11이 10G이고 /mnt/sda11에 마운트된 10G FAT 파일 시스템이 있고 여기에 /A , /B , /C , /D 및 /E 디렉토리가 있다고 가정합니다. 영구 미디어에 /A를 사용하고 거기에 casper-rw를 배치한다고 가정합니다.
cd /mnt/sda11/A
dd if=/dev/zero of=casper-rw bs=1M count=4096
mkfs.ext4 -F -O^has_journal -L casper-rw casper-rw
지속성으로 생성된 라이브 미디어를 가져와서 /boot/grub/grub.cfg 파일과 /syslinux/txt.cfg 파일을 편집하고 "영구적"이라는 단어 뒤에 추가하세요.
"persistent-path=/A"
/boot/grub/grub.cfg ...
menuentry "Try Ubuntu without installing" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- cdrom-detect/try-usb=true noprompt persistent persistent-path=/A
initrd /casper/initrd.lz
}
/syslinux/txt.cfg
default live
label live
menu label ^Try Ubuntu without installing
kernel /casper/vmlinuz.efi
append noprompt cdrom-detect/try-usb=true persistent persistent-path=/A file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
label live-install
...
그게 다야. USB 미디어에 있는 casper-rw 파일의 이름을 바꾸거나 제거할 필요도 없습니다.
USB 미디어에 공간이 있으면 하드 디스크의 casper-rw를 다시 USB에 복사하고 변경 사항을 가져올 수도 있습니다.
영구 경로는 명시적인 디스크 참조를 허용하지 않으므로 모든 FAT 파티션에서 고유해야 합니다. 1개 또는 2개의 FAT 파티션(하나는 EFI 파티션)으로 테스트되었습니다. FAT 대신 ext2 또는 ntfs 파일 시스템에서는 작동하지 않습니다. "영구"와 같은 줄에 "toram" 단어도 추가하면 느린 USB의 압축 파일 시스템이 RAM에 복사되어 훨씬 더 나은 성능을 제공하지만 FAT 파티션에 종료 문제가 있는 것 같습니다. 완전히 마운트 해제되지 않았습니다(아무 문제도 발생하지 않는 것 같지만...).