![Feito! :-)](https://rvso.com/image/1127620/Feito!%20%3A-).png)
Eu estava tentando instalar o Ubuntu ao vivo em uma unidade USB com alterações persistentes. No entanto, eu queria gravar as alterações no HDD em vez do USB por vários motivos (desempenho, espaço).
Descobri que as alterações são tratadas dentro de um arquivo com um sistema de arquivos ext3 montado pelo sistema (casper-rw). Mas parece ser detectado automaticamente na unidade flash na inicialização.
Como posso criar um novo arquivo casper-rw no HDD e redirecionar o sistema Ubuntu Live na unidade USB para o HDD?
editar 14/07/2015:
Obrigado pelas respostas até agora. Eles são muito interessantes e ajudam muito a entender melhor a mecânica do "recurso de salvamento persistente do sistema live" e mostram boas abordagens para resolver o problema. Infelizmente, eu estava tentando superar algumas limitações que tinha em mente ao fazer a pergunta sobre o acesso ao sistema host e/ou acesso a novo hardware que não afirmei claramente (desculpe por isso).
Se o particionamento for uma opção, acho que a resposta foi declaradaaquié muito bom, pois requer apenas que você crie uma nova partição, rotule-a como casper-rw e pronto (o trabalho está ótimo, eu testei).
Se comprar novo hardware for uma opção, vêm à mente unidades flash usb3.0 (MLC ou SLC), HDDs portáteis, eSATA e outras opções que têm um desempenho muito melhor do que uma unidade flash USB 2.0 comum.
Então, eu queria saber se existe uma maneira de simplesmente criar um arquivo casper-rw em vez de uma partição em um disco com acesso limitado (ou copiar/vincular aquele na unidade flash).
Dessa forma, seria fácil apenas copiar o arquivo casper-rw de volta para o pendrive e utilizá-lo novamente ou movê-lo para outro computador, garantindo grande flexibilidade, alterações mínimas no HDD e fácil remoção das alterações feitas em o sistema.
Responder1
Isso é extremamente fácil se você usar a seguinte configuração:
Instale o Ubuntu em umPendrive SLC(USB 3.0 de preferência se o seu hardware suportar) sem nenhum material do casper (apenas uma instalação normal, tratando o pendrive como um SSD).
Por que?Os SLCs são duas vezes mais caros que osMLCsmas são 4 vezes mais rápidos e duram 8* mais! Então eles são realmente pequenos SSDs em um stick!
Otimize o sistema e trate o pendrive como um pequeno SSD, então:
Na sua
/etc/sysctl.conf
adição:# 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
No seu
/etc/fstab
adicione oparâmetros em negritopara sua linha USB de inicialização. (Provavelmente serásdc
ousdd
. Abaixo está um exemplo, use UID se possível)/dev/sdc / ext4 defaults,noatime,discard,errors=remount-ro 0 1
crie 2 usuários: um usuário administrador que tem seu diretório inicial no pendrive, mas tem poucos arquivos e um usuário normal queteráseu diretório inicial no HDD.
Somente agorainsira o HDD e adicione as informações necessárias do HDD para
fstab
montar automaticamente o HDD e adicione os seguintes parâmetros:nobootwait,nofail
para permitir a inicialização mesmo quando o HDD não estiver presente (se for esse o caso, apenas o usuário administrador terá acesso, não o usuário normal)
Agora faça login como usuário administrador e mova o diretório inicial do usuário normal do pendrive USB para o HDD:
cp --preserve=all /home/NormalUser/* /media/ExternalHDD/NormalUser
Se tudo estiver bem:
rm --recursive --force /home/NormalUser/*
cd /home
ln --symbolic /media/ExternalHDD/NormalUser
Feito! :-)
Para constar: eu tenho um stick MLC USB 2.0 de 16 GB como este (mais do que o suficiente para o meu caso de uso e não muito caro e já tem cerca de 5 anos e ainda está funcionando!)
Responder2
Você pode facilmente colocar o sistema de arquivos gravável (no arquivo casper-rw) de uma mídia live em um disco rígido. A limitação é que o arquivo casper-rw deve estar em uma partição FAT. Todas as máquinas mais novas (UEFI) têm uma partição FAT EFI, mas normalmente é muito pequena para conter um arquivo casper-rw 1G-4G. Em outra partição FAT grande o suficiente, você pode criar diretórios, cada um contendo um arquivo casper-rw para mídias ao vivo possivelmente diferentes. Suponha que sda11 seja 10G e tenha um sistema de arquivos FAT 10G, montado em /mnt/sda11, no qual existem diretórios /A , /B , /C , /D e /E. Suponha que usaremos /A para nossa mídia persistente, colocando um casper-rw lá.
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
Pegue sua mídia ao vivo criada com persistência e edite o arquivo /boot/grub/grub.cfg e o arquivo /syslinux/txt.cfg, adicionando após a palavra "persistent"
"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
...
É isso. Você nem precisa renomear/remover o arquivo casper-rw na mídia USB.
Se houver espaço na mídia USB, você pode até copiar o casper-rw do disco rígido de volta para o USB e levar as alterações com você.
O caminho persistente não permite nenhuma referência explícita ao disco, portanto deve ser exclusivo em todas as partições FAT. Testado com 1 ou 2 partições FAT (sendo uma delas a partição EFI). Não funcionará em um sistema de arquivos ext2 ou NTFS em vez de FAT. Se você também adicionar a palavra "toram" na mesma linha de "persistent", seu sistema de arquivos compactado no USB lento será copiado para a memória RAM e terá um desempenho muito melhor, no entanto, parece haver um problema de desligamento, com a partição FAT não estar desmontado corretamente (o que não parece causar nenhum problema, mas...)