9.1. | Como eu mudo todo o meu sistema operacional para um disco novo? |
A melhor maneira de migrar seu sistema de um disco para o outro é reinstalar completamente o SO na nova unidade de armazenamento e depois migrar os dados dos usuários do disco antigo para nova instalação. Essa forma é a mais recomendada, caso o sistema tenha sido -STABLE por mais de uma versão, ou caso tenha atualizado um Release ao invés de ter instalado um novo sistema. O booteasy pode ser facilmente instalado com o comando boot0cfg(8), de forma a permitir que o sistema possa iniciar dois sistemas distintos, até que você esteja satisfeito com o novo sistema. Pule o próximo parágrafo para saber algumas formas seguras de migrar os dados dos usuários para o novo disco. Você pode ter decidido por não refazer
uma nova instalação; nesse caso será
necessário reparticionar o novo disco com o
Agora, com um novo disco configurado, você
está pronto para começar a mover os dados da
antiga para nova unidade de armazenamento. Infelizmente
os dados não podem simplesmente ser copiados ao
acaso. Existem alguns arquivos especiais (como os
arquivos de dispositivos Não é aconselhável usar nenhuma outra ferramenta a não ser o dump(8) e restore(8) para copiar o sistema de arquivos da partição raiz ("/"). O tar(1) pode funcionar de forma satisfatória, mas pode ser que não. Também é ótima idéia usar o dump(8) e restore(8) para copiar (ou mover completamente) os dados em uma partição para uma outra partição vazia. Os passos necessários para usar o dump para copiar os dados de uma partição existente para uma nova partição são: Por exemplo, se a intenção é
copiar os dados da partição raiz para a
partição
# newfs /dev/ad1s1a
# mount /dev/ad1s1a /mnt
# cd /mnt
# dump 0af - / | restore xf - Redefinir a estrutura das partições com
o dump(8) é um processo um pouco mais
trabalhoso. Caso você queira, por exemplo, unir o
conteúdo da partição
# newfs /dev/ad1s1a
# mount /dev/ad1s1a /mnt
# cd /mnt
# dump 0af - / | restore xf -
# cd var
# dump 0af - /var | restore xf - Para separar um diretório de sua estrutura
atual, ou seja, no mesmo exemplo ainda, alocar os dados de
# newfs /dev/ad1s1a
# newfs /dev/ad1s1d
# mount /dev/ad1s1a /mnt
# mkdir /mnt/var
# mount /dev/ad1s1d /mnt/var
# cd /mnt
# dump 0af - / | restore xf - Talvez você prefira usar cpio(1),
pax(1), tar(1) ao invés de dump(8)
na hora de copiar os dados de usuários. Quando
este | |
9.2. | Um disco no modo “dangerously dedicated” pode ser prejudicial a minha saúde? |
O processo de instalação permite a escolha entre dois modos distintos de particionar o(s) disco(s) rígido. A maneira tradicional permite que outros sistemas operacionais na mesma estação possam acessar essas partições, criando entradas na tabela do fdisk (entradas chamadas de “slices” no FreeBSD) sob uma partição FreeBSD própria. Uma característica desse particionamento é permitir múltiplos sistemas operacionais e permitir a instalação de um gerenciador de inicialização (boot) para alternar entre esses sistemas. A segunda maneira, a alternativa ao modo tradicional faz uso do disco todo para o FreeBSD e não faz esforços para se tornar compatível com outros sistemas operacionais. Então, por que esse modo é chamado de “modo perigosamente dedicado”? Um disco particionado dessa forma não tem algumas características tradicionais que os PCs poderiam considerar entradas válidas do fdisk. Dependendo das circunstâncias o PC pode reclamar e gerar advertências sobre o disco em questão, assim que o primeiro contato com essa unidade seja feito, ou pior, o PC pode ainda danificar o processo de inicialização (boot) do BSD (bootstrap) sem pedir confirmação da alteração ou até mesmo sem avisar o usuário dessa mudança. O “modo perigosamente dedicado” ainda costuma confundir várias BIOS, inclusive as BIOS AWARD (encontradas, por exemplo no HP Netserver e em sistemas Micronics assim como em muitos outros) e as BIOS Symbios/NCR (da popular série 53C8xx de controladoras SCSI). Não são apenas esses dois modelos que podem apresentar dificuldades com esse modo de particionamento de disco, a lista completa é ainda maior. O principal sintoma desse tipo de confusão é a presença de mensagens de read error apresentada pelo bootstrap do FreeBSD quando ele tem dificuldades de encontrar-se; outro sintoma é a falta de sistema operacional no momento da inicialização do PC. Então porque esse modo de particionamento de disco existe? Esse modo economiza o uso de alguns poucos kbytes de espaço em disco, e pode, em contrapartida gerar grandes problemas em uma nova instalação do sistema. O modo “perigosamente dedicado” em sua origem é um desejo antigo dos usuários do FreeBSD, especialmente durante a instalação, que é simplesmente poder ignorar a “geometria” de disco reconhecida pela BIOS e usar o disco todo de forma independente, sem prestar satisfação ao sistema básico de entrada/saída do PC. O conceito de “Geometria” é ultrapassado, mas infelizmente ainda faz parte do coração da BIOS dos Computadores Pessoais, sendo extremamente necessário para a interação do computador com seus discos. Quando o FreeBSD cria as partições, ele tem que gravar sua localização de forma correspondente a maneira que a BIOS irá procurá-la. Se essa informação não é acessível à BIOS, pode ser que o sistema não consiga iniciar-se. “O modo Dangerously dedicated” tenta evitar esse desconforto fazendo a operação se tornar mais simples. Em muitos casos essa forma de particionamento funciona, mas ela foi criada para ser usada como última alternativa à necessidade de definir a geometria do disco - em 99% dos casos existem formas mais vantajosas de resolver problemas com geometria. Mas então, como evitar a necessidade do modo
“DD” na instalação do sistema?
Comece anotando os valores pra geometria que a BIOS diz
estar usando pros discos locais. Esses valores podem ser
apresentados pelo kernel do FreeBSD, especificando a
opção No momento do particionamento do disco, verifique se a geometria apresentada pelo FDISK corresponde ao valor apresentado pela BIOS; caso não corresponda use a tecla g para redefinir esses valores. Também pode ser necessário definir a geometria manualmente em casos onde o disco em questão está vazio e sem nenhum outro tipo de partição criada, ou se o disco foi instalado em um outro computador e foi colocado na estação atual recentemente. Note que esse tipo de complicação não é comum, e quando acontece, acontece apenas com o disco onde o FreeBSD está iniciando; Qualquer outro disco existente no computador será controlado perfeitamente pelo FreeBSD em qualquer situação. Uma vez existindo a concordância de Geometria entre a BIOS e o FreeBSD, com certeza seus problemas terão acabado, e não existia a necessidade de usar o modo “DD”. Contudo, se em casos extremos ainda ocorrerem erros de read error então pode cruzar os dedos e usar o modo dedicado (DD), afinal não há nada a perder, visto que das formas tradicionais sua BIOS insiste em não cooperar de forma correta. Para voltar um disco particionado em modo “dangerously dedicated” para uso normal em um PC existem duas alternativas. A primeira é alocar dados nulos (NULL bytes) o bastante na MBR do disco, de forma que qualquer instalação posterior acredite que o disco está vazio. Isso pode ser feito, por exemplo, da seguinte maneira: # dd if=/dev/zero of=/dev/rda0 count=15 E a segunda forma, a “opção” não documentada do DOS: C:\> fdisk /mbr instalará um novo registro mestre de inicialização no disco em questão, sobrepondo inclusive o bootstrap do BSD. | |
9.3. | Em quais partições podemos seguramente
usar o softupdates? Eu tenho ouvido falar de problemas em
se usar o softupdates na partição
|
A resposta breve: o softupdates pode ser usado com segurança em todas as partições. A resposta mais completa: existiam algumas restrições quanto ao uso do softupdates na partição raiz do sistema. Tais restrições se deviam a duas características causadas pelo softupdates, que eram a pouquíssima chance de perder alguns dados da partição raiz se acontecesse algum system crash; apesar das probabilidades de perda de dados serem mínimas, elas existem; não existe uma danificação ou corrosão do sistema de arquivos, apenas alguns arquivos podem ser simplesmente perdidos. E a segunda característica é a diminuição temporária de espaço em disco. Quando o softupdates está ativado o kernel pode levar até trinta segundos para realmente escrever alguns dados fisicamente em disco. Caso algum arquivo grande seja apagado, ela permanece temporariamente em disco até que o kernel realmente o apague, o que pode causar uma condição de corrida simples(simple race condition). Imagine, apenas para ilustrar, que você apague um arquivo enorme do disco, e logo em seguida crie um outro arquivo tão grande quanto o primeiro; a gravação de metadados no disco pode não ter sido realizada ainda quando o segundo arquivo é criado, ou seja o primeiro não foi realmente definido como um arquivo apagado. Nesse caso é provável que você receba uma mensagem dizendo que não existe espaço o bastante em disco para o segundo arquivo, quando você tem certeza absoluta que o espaço que acabou de ser liberado ao apagar o primeiro arquivo é o suficiente para alocar o segundo! Aí você tenta gravar o segundo arquivo mais uma vez, alguns meros segundos depois, e o processo de criação do mesmo, simplesmente funciona como esperado. Esse tipo de comportamento já levou mais de um usuário a balançar sua cabeça e duvidar de sua própria sanidade, ou mesmo da sanidade do sistema de arquivos do FreeBSD; em caso extremos, de dúvidas do bom estado de ambos, a sanidade do sistema de arquivos e do próprio usuário ;-) Se o sistema falhar antes do kernel aceitar um conjunto de dados que tem que ser escrito no disco antes do mesmo ser gravado, é provável que exista perda dos dados em questão. Esse risco é extremamente baixo, e geralmente é contornável. O uso, por exemplo, das opções de cache de gravação das unidades de disco IDE é um fator que causa a possibilidade desse tipo de desconforto, portanto é altamente recomendável que essa opção seja desativada nos discos IDE quando for usar o softupdates. Esse comportamento afeta todas as partições que estiverem com softupdates. Portanto, o que isso implica para a partição raiz? A maioria das informações vitais da
partição raiz mudam com pouquíssima
freqüência. Arquivos como o
A | |
9.4. | O que é inapropriado no meu ccd? |
Os sintomas desse tipo de dúvida: # ccdconfig -C
ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or formatEsse problema normalmente ocorre quando se tenta
concatenar as partições | |
9.5. | Porque eu não posso editar o disklabel do meu ccd? |
Os sintomas desse tipo de dúvida: # disklabel ccd0
(it prints something sensible here, so let us try to edit it)
# disklabel -e ccd0
(edit, save, quit)
disklabel: ioctl DIOCWDINFO: No disk label on disk;
use "disklabel -r" to install initial labelIsso acontece por que o disklabel que o ccd retorna é na verdade um valor “falso”, que não está realmente gravado no disco. Esse problema pode ser resolvido ao reescrever explicitamente esse dado, da seguinte forma: # disklabel ccd0 > /tmp/disklabel.tmp
# disklabel -Rr ccd0 /tmp/disklabel.tmp
# disklabel -e ccd0
(agora irá funcionar) | |
9.6. | Posso montar outros tipos de partições externas sobre FreeBSD? |
Mais informações sobre esse assunto seriam bem vindas :-) | |
9.7. | Como montar uma partição DOS secundária? |
As partições secundárias do DOS são encontradas depois que TODAS as partições primárias foram definidas. Por exemplo, se você tem a partição “E” como a segunda partição DOS no segundo disco SCSI, será necessário criar um arquivo especial para essa “quinta partição” (slice 5) no /dev, depois montar /dev/da1s5: # cd /dev
# sh MAKEDEV da1s5
# mount -t msdos /dev/da1s5 /dos/e | |
9.8. | Existe um sistema de arquivos criptografado para o FreeBSD? |
Sim, veja o | |
9.9. | Como posso usar o carregador do NT para iniciar o FreeBSD? |
Esse procedimento é um pouco diferente entre o FreeBSD 2.2.X e o 3.X (que tem um sistema de inicío (boot) de 3 fases). A idéia geral se consiste em copiar os
primeiros setores da partição raiz nativa do
FreeBSD e transforma-los em um arquivo, para ser colocado
dentro da partição DOS/NT. Se assumir-mos
que você vai chamar esse arquivo de
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
C:\BOOTSECT.BSD="FreeBSD"
C:\="DOS" No 2.2.X esse procedimento assume que o DOS, o NT, o FreeBSD, ou o que quer que seja, tenha sido instalado em suas partições respectivas do fdisk no mesmo disco. Esse exemplo foi testado em um sistema onde o DOS & NT estavam instalados na primeira partição do fdisk, e o FreeBSD na segunda. O FreeBSD havia sido configurado para iniciar a partir de sua partição nativa, e não pela MBR do disco. Monte um disquete formatado em DOS (caso ele tenha
sido convertido para NTFS) ou em FAT, por exemplo, sob o
ponto de montagem # dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1 Reinicie o computador no DOS ou NT. Sobre o NTFS,
copie o arquivo C:\> attrib -s -r c:\boot.ini Edite e adicione as entradas apropriadas no
C:\> attrib +s +r c:\boot.ini Se o FreeBSD estiver inicializando pela MBR,
reconstrua-a com o comando No FreeBSD 3.X esse procedimento é mais simples. Se o FreeBSD estiver instalado no mesmo disco que a
partição de inicialização
(boot) do NT está
instalada, copie o Atenção:NÃO COPIE SIMPLESMENTE O
/boot/boot0 precisa ser
instalado com o sysinstall, selecionando o gerenciador de
inicialização
(boot) do FreeBSD na tela
que o programa pergunta se você deseja usar um
gerenciador de inicialização(boot manager).
Isso se deve ao fato que o
/boot/boot0 contém
informações sobre a área da tabela de
partições definidas como caracteres nulos,
mas o sysinstall copia a tabela de partições
antes de copiar o /boot/boot0 para a
MBR.Quando o gerenciador de inicialização
(boot) do FreeBSD é
executado, ele grava qual último sistema
operacional foi carregado, definindo uma flag de sistema
ativo na tabela de partição referente aquele
sistema, e depois ele escreve todos os 512 bytes do
próprio gerenciador de inicialização
(boot) de volta na MBR,
portanto se o | |
9.10. | Como posso iniciar o FreeBSD e o Linux com o LILO? |
Caso o FreeBSD e o Linux estejam no mesmo disco, basta seguir as instruções de instalação do LILO para carregar sistemas operacionais não-Linux. De forma breve, tais instruções são Carregue o Linux e adicione as seguintes linhas no
other=/dev/hda2
table=/dev/hda
label=FreeBSD (A definição acima assume que a sua
partição FreeBSD é conhecida pelo
Linux como Caso o FreeBSD esteja em um outro disco, será
preciso criar uma entrada
other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
label=FreeBSD Em alguns casos é necessário especificar o número da unidade da BIOS para que o loader do FreeBSD consiga carregar o sistema com sucesso, a partir do segundo disco. Por exemplo, caso o disco SCSI com o FreeBSD seja reconhecido pela BIOS como o disco 1, na tela do carregadir de inicialização (boot loader) do FreeBSD será necessário definir: Boot: 1:da(0,a)/kernel No FreeBSD 2.2.5 e posteriores, o boot(8) pode ser configurado para que ele automaticamente defina essa informação na hora da inicialização (boot). The Linux+FreeBSD mini-HOWTO é uma boa referência sobre a utilização do FreeBSD com o Linux. | |
9.11. | Como eu inicio o FreeBSD e o Linux usando o BootEasy? |
Instale o LILO no começo da sua partição de inicialização (boot) do Linux ao invés de instala-lo na MBR. Agora o LILO pode ser carregado a partir do BootEasy. Com Windows 9x e Linux essa é uma ação recomendada sempre, para garantir que o Linux possa ser iniciado de forma mais fácil caso seja necessário reinstalar o Windows (que é um sistema operacional que não espera nenhum outro sistema na MBR). | |
9.12. | Como eu altero a tela de inicialização
(boot) de
|
Você não pode alterar esse comportamento
no gerenciador de inicialização
(boot) padrão sem
reescreve-lo. Existem inúmeros outros
gerenciadores de inicialização
(boot) na categoria
| |
9.13. | Possuo uma nova unidade de disco removível, como posso usa-la? |
Ainda que seja uma unidade removível como um ZIP Drive, um EZ Drive (ou até um disquete, caso queira usa-lo dessa maneira), ou um novo disco, uma vez instalado e reconhecido pelo sistema e assim que o cartucho/disquete/outra-coisa esteja ligado a unidade em questão, as coisas passam a funcionar da mesma forma para qualquer tipo de dispositivo. (essa seção
é baseada no ZIP
Caso o dispositivo seja um ZIP Drive ou um disquete cujo sistema de arquivos já tenha sido criado como sendo do tipo DOS, o seguinte comando é o bastante para montá-lo: # mount -t msdos /dev/fd0c /floppy caso seja um disquete, ou então: # mount -t msdos /dev/da2s4 /zip caso seja um disco ZIP com as configurações de fábrica. Para outros tipos de disco, veja como eles são tratados, usando o fdisk(8) ou sysinstall(8). Os próximos exemplos serão para um ZIP Drive controlado pela device da2, ou seja, correspondente ao terceiro disco SCSI. A não ser que se trate de um disquete ou de um
disco removível que se planeje compartilhar com
outras pessoas, provavelmente é mais sensata a
idéia de colocar um sistema de arquivos do tipo BSD
nesse disco. Um sistema de arquivos desse tipo
possibilita usar o suporte a nomes longos de arquivos, ter
uma performance de, pelo menos 2x, e oferece muito mais
estabilidade e confiança. O primeiro passo
é redefinir a partição DOS da unidade
removível de forma que a mesma passe a ser do tipo
BSD; o fdisk(8) ou
# dd if=/dev/zero of=/dev/rda2 count=2
# disklabel -Brw da2 auto O disklabel ou Finalmente, crie um novo sistema de arquivos como esse, que usa todo o disco em um ZIP Drive: # newfs /dev/rda2c e monte-o: # mount /dev/da2c /zip provavelmente é uma boa idéia adicionar
uma entrada no /dev/da2c /zip ffs rw,noauto 0 0 | |
9.14. | Por que eu tive o erro Incorrect super block na hora de montar um CDROM? |
É necessário avisar ao mount(8) que tipo de unidade está sendo montada. Essa definição é tratada com mais detalhes em na seção de mídias ópticas do Manual do FreeBSD , mais precisamente na seção Usando CDs de Dados. | |
9.15. | Device not configured ocorre na hora de montar o CDROM? |
Geralmente esse tipo de comportamento indica que não existe nenhum CD na unidade de CDROM, ou então, que o CD em questão não é visível ao barramento de dados do seu PC, comum quando um CD-RW não pode ser lido por um drive tradicional. Por gentileza, queira referir-se a Usando CDs de Dados da seção do Manual do FreeBSD para uma discussão mais detalhada sobre esse assunto. | |
9.16. | Porque todos caracteres não-Inglês são apresentados como “?” no sistema de arquivos do CD que acabou de ser montado no FreeBSD? |
Provavelmente seu CDROM usa extensões “Joliet” para armazenar informações sobre tipos de arquivos e diretórios. Esse assunto é discutido no capítulo de Criação e Uso de CDROMs do Manual do FreeBSD, mais precisamente na seção de Uso de CDs de Dados. | |
9.17. | Eu queimei um CD no FreeBSD e agora esse disco não pode ser lido em nenhum outro sistema operacional. Por que? |
Provavelmente você queimou um CD de forma crua (usando raw mode) no seu sistema, ao invés de criar um sistema de arquivos do tipo ISO 9660. Dê uma olhada no Capítulo de Criação de CDROMs do Manual do FreeBSD, em específico na seção criando CDS de dados puros. | |
9.18. | Como posso criar uma imagem de um CD de dados? |
A criação de imagens de CDs de dados é discutida na seção duplicando CDs de dados do Manual do FreeBSD. Para mais informações sobre unidades ópticas, por gentileza, queira referir-se a seção Criação de CDs no capítulo de Armazenamento do Manual do FreeBSD. | |
9.19. | Por que um CD de áudio não pode ser
montado com o comando |
Ao tentar montar um CD de áudio, o mais
provável é que ocorra um erro do tipo
cd9660: /dev/acd0c: Invalid
argument. Isso se deve ao fato que o
comando | |
9.20. | Como eu monto um CD com múltiplas sessões de gravação? |
Por padrão, o mount(8) tenta montar a
última trilha de dados (sessão) de um CD.
Caso queira montar uma sessão anterior pode-se usar
o argumento | |
9.21. | Como posso permitir que usuários comuns montem disquetes, CDROMs e outros tipos de mídia removível? |
Usuários comuns podem ter a permissão de montar dispositivos. Veja como:
Agora todos os usuários podem montar qualquer
disquete no % mkdir ~/my-mount-point
% mount -t msdos /dev/fd0 ~/my-mount-point Os usuários no grupo
% mkdir ~/my-mount-point
% mount -t msdos /dev/cd0c ~/my-mount-point Desmontar o dispositivo é extremamente simples: % umount Contudo, habilitar a opção
| |
9.22. | Os comandos |
É necessário entender o que os comandos
Quando um programa está usando algum arquivo, e
este é apagado, o arquivo não é
retirado do sistema de arquivos até que o programa
em questão pare de usá-lo. Contudo, esse
arquivo é imediatamente deletado da listagem de
diretórios; isso pode ser mais bem observado com
algum paginador como o Note que em sistemas de arquivos com softupdates, a liberação de espaço em disco também pode ser atrasada em até 30 segundos dependendo da situação; apenas depois desse tempo, a alteração em disco será visível! Esse comportamento é comum e fácil de
ser observado em Servidores Web. Muitos usuários
configuram algum Servidor Web no FreeBSD e se esquecem de
rotacionar os arquivos de log da aplicação,
os quais entopem o | |
9.23. | Como eu posso adicionar mais espaço para swap? |
No capítulo Configuração e Ajuste Fino (Tuning) do Manual do FreeBSD, pode ser encontrada uma seção descrevendo como fazer isto. |
Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Para perguntas sobre FreeBSD, leia a
documentação antes de contatar
<questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para
<doc@FreeBSD.org>.