Hoje mais cedo me deparei com uma pergunta no DistroWatch e achei bem interessante. Trata-se de uma maneira de se criar um pendrive de boot diretamente da internet sem precisar fazer o download da imagem ISO para a máquina local.
Writing an ISO directly from the web to a thumb drive Skipping-a-step asks: Is there a way to download an ISO image and make a bootable USB thumb drive with it without first saving it? I don’t have any disk space and need to get my distro ISO straight to the thumb drive.
DistroWatch answers: Yes, it is possible to download an ISO file for your preferred distribution and write it immediately to a removable drive without the intermediate step of storing it on your hard drive. The process may be a little slow, but assuming the thumb drive has enough storage capacity, you can do this.
Perhaps the easiest way to do this is with the wget command. The wget program will download a file and save it to the location of your choosing. Since thumb drives are treated as files we can write to, we can simply tell wget to save the ISO file it downloads to the thumb drive. For instance, if we are downloading a file called my-distro.iso and our USB drive is located at /dev/sdb then we can run the following command:
wget -O /dev/sdb https://example.com/my-distro.iso
If you are not sure of the device name of your thumb drive you can find it using lsblk which lists all of the storage devices attached to your computer.
Perhaps the biggest problem with the above approach is that it does not guard against files being corrupted during the download process. If your connection drops or bits of the file are lost during the transfer, the above method will not detect the problem. You will end up with a corrupted or incomplete copy of your distribution on your thumb drive without any warning.
To work around this method you could use the tee command. This allows input to be written both to a file and passed along through a pipe to another command. This means you can both write your download to the thumb drive and check its hash at the same time. The following example downloads my-distro.iso, writes it to the thumb drive located at /dev/sdb and prints the ISO file’s SHA256 hash:
wget -O - https://example.com/my-distro.iso | tee /dev/sdb | sha256sum
In the above example we tell wget to save output to the file “-”, which wget recognizes as meaning it should just print the contents of the file. The data is then sent through a pipe to tee. The tee command both writes the data to our thumb drive and passes it also to sha256sum to get a hash. This results in the file being written to our thumb drive at /dev/sdb and its hash printed to the console so we can verify it against the hash provided by the distribution’s developers.
Tradução pelo Google tradutor:
Gravando um ISO diretamente da web para um pen drive
Ignorando uma etapa pergunta: Existe uma maneira de baixar uma imagem ISO e fazer um pen drive USB inicializável com ela sem primeiro salvá-la? Não tenho espaço em disco e preciso colocar o ISO da distro direto no pen drive.
Respostas do DistroWatch: Sim, é possível baixar um arquivo ISO para sua distribuição preferida e gravá-lo imediatamente em uma unidade removível sem a etapa intermediária de armazená-lo no disco rígido. O processo pode ser um pouco lento, mas supondo que o pen drive tenha capacidade de armazenamento suficiente, você pode fazer isso.
Talvez a maneira mais fácil de fazer isso seja com o comando wget. O programa wget irá baixar um arquivo e salvá-lo no local de sua escolha. Como os pen drives são tratados como arquivos nos quais podemos gravar, podemos simplesmente dizer ao wget para salvar o arquivo ISO que baixa no pen drive. Por exemplo, se estivermos baixando um arquivo chamado my-distro.iso e nossa unidade USB estiver localizada em / dev / sdb, podemos executar o seguinte comando:
wget -O /dev/sdb https://example.com/my-distro.iso
Se você não tiver certeza do nome do dispositivo do seu pen drive, poderá encontrá-lo usando o lsblk, que lista todos os dispositivos de armazenamento conectados ao computador.
Talvez o maior problema com a abordagem acima seja que ela não protege contra arquivos corrompidos durante o processo de download. Se sua conexão cair ou partes do arquivo forem perdidas durante a transferência, o método acima não detectará o problema. Você acabará com uma cópia corrompida ou incompleta de sua distribuição em seu pen drive sem qualquer aviso.
Para contornar esse método, você pode usar o comando tee. Isso permite que a entrada seja gravada em um arquivo e passada por um canal para outro comando. Isso significa que você pode gravar seu download no pen drive e verificar seu hash ao mesmo tempo. O exemplo a seguir baixa my-distro.iso, grava no pen drive localizado em / dev / sdb e imprime o hash SHA256 do arquivo ISO:
wget -O - https://example.com/my-distro.iso | tee /dev/sdb | sha256sum
No exemplo acima, dizemos ao wget para salvar a saída no arquivo “-”, que o wget reconhece como significando que deve apenas imprimir o conteúdo do arquivo. Os dados são então enviados por meio de um pipe para o tee. O comando tee grava os dados em nosso pen drive e também os passa para sha256sum para obter um hash. Isso resulta no arquivo sendo gravado em nosso pen drive em / dev / sdb e seu hash impresso no console para que possamos verificá-lo com o hash fornecido pelos desenvolvedores da distribuição.