Quero experimentar novas versões do sistema operacional assim que chegarem, como o Ubuntu 17.04 ou Ubuntu 17.10 para ver novos recursos. Também gosto de ver o Kubuntu, o CentOS ou outras distribuições (Windows 11 quando chegar?) - ou configurar ambientes de teste sabendo que posso destruí-los e não quero fazer isso na minha máquina principal.
Que conjunto de alternativas existem para fazer isso sem arriscar minha principal máquina de desenvolvimento? Não estou à procura de um debate sobre a melhor maneira, mas quais alternativas estão disponíveis.
dual-boot
live-usb
virtualization
iso
usb-installation
Ted Cahall
fonte
fonte
docker
porque seu contêiner é definido com um script fácil de entender. Você tem controle total sobre a imagem base e o que instala. Fácil de compartilhar arquivos e dispositivos host, criar redes virtuais de contêineres, expor seletivamente portas com argumentos de linha de comando, você pode enviar comandos diretamente para o shell do contêiner e executar aplicativos dentro do contexto do contêiner. Por exemplo, você pode tentar centos userspace com um one-linerdocker run -it centos /bin/bash
Respostas:
Alternativas USB
As alternativas USB são boas quando
Você pode usar um pendrive USB com pelo menos 2 GB de espaço em disco e criar um
sistema Ubuntu ao vivo no pendrive.
Inicialize a partir do pendrive USB e selecione 'Try Ubuntu' no menu de inicialização (e algo semelhante com outras distribuições Linux). Se você salvar dados, instalar programas ou ajustar o sistema em uma unidade ao vivo (somente ao vivo), ele não sobreviverá ao desligamento ou reinicialização.
Se você quiser
você pode criar um
ou se você tiver / obter um pendrive USB rápido de pelo menos 16 GB , poderá criar um
sistema Ubuntu instalado (como instalado em uma unidade interna, mas em um pendrive USB).
Um sistema instalado em uma unidade USB é estável e flexível, pode ser atualizado e ajustado sem limites. Dessa maneira, é melhor que um sistema ativo persistente. É portátil entre computadores, se você pode evitar drivers proprietários, mas um sistema ativo persistente é mais portátil.
Ligações
Experimente o Ubuntu (Kubuntu, Lubuntu, Xubuntu, ...) antes de instalá-lo
help.ubuntu.com/community/Installation/FromUSBStick
help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed
help.ubuntu.com/community/mkusb
help.ubuntu.com/community/mkusb/persistent
Ubuntu live a partir de USB com persistência total e NTFS
multibootusb.org/
Inicialize o Ubuntu a partir da unidade externa
Restaurar um dispositivo USB em um dispositivo de armazenamento padrão
Não é possível formatar minha unidade USB. Eu já tentei com mkdosfs e gparted
A gravação do disco DD Image é permanente?
fonte
Uma maneira de testar novas distribuições e versões de sistemas operacionais é com a virtualização. Não requer espaço para um PC / teclado / vídeo / mouse ou adaptadores adicionais para executar vários PCs com um único teclado, vídeo ou mouse. Requer apenas um único PC e algum software de virtualização.
Isso pressupõe que você tenha uma máquina com uma CPU multinúcleo capaz de virtualização e uma quantidade razoável de memória. Eu recomendaria pelo menos 8 GB de memória com 16 GB melhor se você a tiver.
Se você estiver executando o Ubuntu e quiser experimentar apenas as distribuições Linux (não acredito que o Windows funcione), use o software de virtualização gratuito fornecido no Ubuntu: KVM ou Xen. Ambos funcionam bem, são GRATUITOS e podem executar várias distribuições Linux. No entanto, as ferramentas para gerenciar as VMs estão um pouco ausentes. A Oracle possui uma versão GRATUITA de uma ferramenta de virtualização chamada VirtualBox e, é claro, sempre existe o produto comercial da VMWare. Tanto o VirtualBox quanto o VMWare também podem executar o Ubuntu em cima de uma máquina Windows, se esse for o seu desktop preferido.
Ao usar um gerenciador de VM, você poderá adicionar novas distribuições à medida que forem lançadas, testá-las, jogar com os novos recursos e descartá-las quando a nova versão aparecer. Eles só consomem espaço em disco quando não estão em execução; portanto, eles nem precisam ser descartados, a menos que isso fique apertado. Com um gerenciador de VM, é fácil equilibrar 5, 10 ou mais distribuições em uma máquina e poder inicializá-las e removê-las conforme necessário. Se você tiver a sorte de ter uma máquina de 32 GB ou 64 GB, poderá executá-los todos em paralelo.
fonte
Como uma alternativa ainda mais rápida e barata à resposta do sudodus, você pode inicializar diretamente de um arquivo de imagem de unidade inicializável, em vez de uma unidade dedicada (USB).
Pelo menos para imagens ISO do Ubuntu (e derivados como Linux Mint), a seguinte receita funciona. Outras distribuições podem precisar de ajustes adicionais.
Armazene as imagens da unidade inicializável no formato ISO 1 em algum lugar como um arquivo na (s) unidade (s) de armazenamento interno 2 .
Adicione um arquivo de "partes" do Grub, por exemplo
35_isofiles
, com o conteúdopara
/etc/grub.d
e torná-lo executável.Edite o caminho do arquivo na linha indicada para atender às suas necessidades. Você pode adicionar vários caminhos e / ou padrões Bash glob, se desejar.
Torne o arquivo executável:
Verifique se o menu Grub está ativado .
Atualize a configuração do Grub:
Reinicialize e selecione a entrada do menu Grub recém-adicionada para inicializar a partir do respectivo arquivo de imagem.
1 Outros tipos de sistema de arquivos são possíveis, mas podem exigir outros comandos do Grub e ajustes de parâmetros de inicialização.
2 LVM, RAID e sistemas de arquivos criptografados devem funcionar graças à biblioteca de utilitários do Grub, mas eu não os testei.
fonte
A virtualização é de longe a mais simples.
No entanto, você tem 2 casos de uso separados aqui, que terão soluções diferentes
1. Experimente novas distribuições
As distribuições são basicamente determinadas pelos aplicativos empacotados e pelo ambiente do espaço do usuário (por exemplo,
SystemD
vsinit
para inicialização)Se você deseja "avaliar" o UIX de uma distribuição diferente, qualitativamente, eu recomendaria a virtualização completa em que você instala o sistema operacional na íntegra e avalia sua usabilidade. Isso é coberto adequadamente em outras respostas.
Se você simplesmente precisar do ambiente do espaço do usuário para teste, continue lendo.
2. Testes e "instâncias descartáveis" em diferentes ambientes
É mais fácil, mais barato e mais rápido usar a conteinerização, uma forma de virtualização leve que usa o kernel para criar ambientes em área restrita.
Um contêiner compartilha recursos do kernel com o Host, mas, de outra forma, possui seu próprio sistema de arquivos raiz, espaço do usuário, pilha de rede etc. Ele pode ser pensado, conceitualmente, como um
chroot
esteróide. No entanto, como o kernel é compartilhado, a virtualização é "reduzida", o que significa que, para fins mais práticos, ele é executado na mesma velocidade que o sistema operacional host.Existe um sistema de contêiner comumente usado chamado
docker
. O Docker padronizou imagens para praticamente todas as distribuições de linux que você gostaria e é executado no Windows (no entanto, as imagens do Windows funcionam apenas no Windows, as imagens do Linux funcionam em ambos). Possui recursos úteis adicionais para economizar espaço e desempenho.Existem também alternativas nativas de código aberto para Linux, como o
LXC
(que está embutido no kernel!), Que podem ser usadas da mesma forma (mas com mais configuração necessária).Exemplo simplificado de um ambiente de teste ou construção em
docker
docker build --tag my-builder .
Em seguida, na linha de comando, compile seu projeto ou testes nesse ambiente de várias maneiras
"faça login" e compile no ambiente, execute testes etc. Supondo que você esteja no diretório de origem do seu projeto
Use como único
Você pode até passar variáveis de ambiente
Ou inicie uma instância persistente e copie os arquivos explicitamente
Existem literalmente centenas de outros padrões de uso, no entanto, a definição de imagem semelhante a script, imagens extensíveis e uso de linha de comando o tornam extremamente atraente para ambientes de desenvolvimento, teste e até implantação
fonte
Eu mantenho uma partição separada na minha unidade (recomendo no mínimo 20 GB, mais se puder).
Posso instalar nessa partição qualquer sistema operacional que eu queira testar e depois reiniciá-lo.
Se tudo estiver funcionando bem, posso descontinuar minha partição original do sistema operacional e, eventualmente, adaptá-la novamente.
Mas se o novo sistema operacional não estiver funcionando para mim (problemas de driver, software indisponível), então posso simplesmente reiniciar o sistema operacional antigo e agradecer que ainda o tenha!
Notas:
Dessa forma, você realmente pode testar o novo sistema operacional em seu hardware, para detectar problemas de driver.
Mas se você quiser apenas experimentar como o novo sistema operacional se sente, uma das outras soluções de virtualização provavelmente é mais rápida, fácil e segura para você.
Eu mantenho o meu
/home
em uma grande partição separada, por isso é independente dos dois sistemas operacionais. (Não reformate acidentalmente essa partição!)Mas eu recomendo que você não use uma
/home
partição compartilhada durante o teste. Se os dois sistemas operacionais tiverem versões de software significativamente diferentes, um aplicativo poderá alterar seus arquivos de configuração de maneira inadequada para o outro sistema operacional. Portanto, mantenha os arquivos de configuração separados para cada sistema operacional, até se comprometer com um deles. (*) ver abaixoVocê não precisa criar uma segunda partição de troca. Você pode usar a mesma partição de troca para os dois sistemas operacionais.
Claro que você precisa ter cuidado em quais partições você formata / instala. Faça um backup e anote os IDs e tamanhos das partições (parted, p, q) antes de instalar um novo sistema operacional.
Para fazer a inicialização dupla entre os dois sistemas operacionais, você precisa do grub para detectar os dois. Na minha experiência, o grub sempre fez isso automaticamente. (Mas lilo costumava ser uma história diferente!)
Geralmente, é possível executar o software de um sistema operacional enquanto você estiver no outro sistema operacional. Eu consegui usar isso
sudo chroot /mnt/original_os
, embora fosse um violino para configurar : eu tinha que montar/dev
e montar/proc
.Meu registro foi de 4 sistemas operacionais Linux em uma máquina e um Windows XP. Eu costumava inicializar no Gentoo por velocidade e diversão, mas rodava meu servidor web e servidor de e-mail em um chroot no sistema operacional Debian confiável.
fonte
Você basicamente tem três opções: virtualização (VirtualBox ou Docker), uma unidade flash inicializável (alternativa moderna a um live CD) ou inicialização dupla de uma partição. A escolha entre os três depende de suas necessidades, hardware e experiência. Algumas das outras respostas são muito mais detalhadas sobre uma abordagem específica, mas aqui está uma comparação de alto nível para fornecer uma estrutura para você decidir entre elas.
1. Virtualização
Prós :
Contras :
2. Unidade flash inicializável
Prós :
Contras :
3. Inicialização dupla de uma partição
Prós :
Contras :
fonte
init
sistemas completos e kernels completos. Containers (estivador, LXC, etc.) são mais leves em recursos em comparação com a virtualização completa (etc) ...QEMU
O QEMU é uma solução de virtualização que resolve teoricamente os requisitos desta pergunta de forma barata e simples.
Permite arrastar e soltar a inicialização de arquivos ISO do sistema operacional em um host Linux ou Windows.
Ele também permite a inicialização de discos rígidos Live USB, em um sistema host e usa a persistência, se disponível.
Não é necessário criar um disco rígido virtual como no VBox.
O QEMU está disponível como um aplicativo de linha de comando para Linux, Windows e outros sistemas operacionais. Também está disponível como uma GUI e está incluído nas versões Linux e Windows do MultiBootUSB http://multibootusb.org/ .
O QEMU também pode ser executado no Virtual Machine Manager, mais rápido que o MBUSB, mas não é arrastar e soltar.
Para testes de SO a longo prazo, um sistema instalado do VirtualBox é superior.
fonte
A maneira mais simples e fácil é usar a virtualização. Você pode baixar o VirtualBox (de código aberto) e instalar qualquer sistema operacional. E eu recomendo que você crie um instantâneo antes de executar pela primeira vez, dessa forma, você poderá retornar ao estado anterior se cometer algum erro ao configurá-lo, alterar a configuração etc.
Eu uso e testei vários sistemas operacionais dessa maneira. É muito simples e rápido. Mesmo, eu usei o MSDOS e o Windows 3.1 usando a virtualização. Você pode instalar qualquer coisa, mesmo o ChromeOS (com um pouco de trabalho) ou qualquer versão do Windows ou Linux, não importa o sabor da área de trabalho.
fonte
Inicializei com êxito as instalações completas do Ubuntu a partir de drives USB nos últimos 3 anos. O USB 2.0 foi um pouco mais lento que um 3G SATA HD mais antigo (cache de 7200 rpm e 16 MB), mas o USB 3.0 está a alguns segundos de um SSD em uma interface 3G SATA.
fonte