sexta-feira, 14 de dezembro de 2012

Como Adicionar um disco rígido virtual (vhd) na inicialização

http://www.luzinformatica.com.br


link da publicação http://technet.microsoft.com/pt-br/library/dd799299(v=ws.10).aspx

Publicado: outubro de 2009
Atualizado: outubro de 2009
Aplica-se a: Windows 7, Windows Server 2008 R2
Os procedimentos abaixo descrevem como adicionar um VHD (disco rígido virtual) de inicialização nativo ao menu de inicialização usando a ferramenta BCDedit. Se você estiver adicionando o VHD a um computador que já possua uma instalação do Windows® 7, será necessário adicionar uma entrada de inicialização ao menu. Se você estiver adicionando o VHD a um computador que esteja executando uma versão mais antiga do Windows, por exemplo o Windows Server® 2008, será necessário atualizar a partição do sistema usando a ferramenta BCDboot e editar o menu de inicialização usando a ferramenta BCDedit.

Para atualizar um computador baseado em BIOS de modo a incluir um menu de inicialização do Windows 7

Se estiver implantando o VHD em um computador baseado em BIOS sem um menu de inicialização Windows 7, por exemplo, um computador usando o Windows Server 2008 como o sistema operacional em execução, será necessário atualizar o ambiente de inicialização usando um disco do Windows PE (Ambiente de Pré-instalação do Windows) antes de poder configurar o sistema para VHDs de inicialização nativos.
  1. Copie o arquivo .vhd para o computador de destino. Por exemplo, em um prompt de comando, digite:

    copy N:\VHDs\windows7.vhd C:
    
  2. Use a ferramenta DiskPart no Windows PE para anexar o VHD no computador de destino. Você pode anexar um VHD usando o comando Attach vdisk. Isso ativa o VHD de modo que ele aparece no host como uma unidade de disco em vez de um arquivo .vhd. No prompt de comando, digite:

    diskpart
    select vdisk file=c:\windows7.vhd
    attach vdisk
    list volume
    select volume 
    assign letter=v
    exit
    
  3. Use a ferramenta BCDboot, localizada no diretório \System32 da imagem do VHD ou no Windows PE para copiar os arquivos do ambiente de inicialização e a configuração de BCD (Dados de configuração de inicialização) do diretório \Windows no VHD para a partição do sistema. Em um computador com firmware BIOS, a partição do sistema é a partição ativa do primeiro disco rígido. Por exemplo, para usar o BCDboot a partir da imagem do VHD, em um prompt de comando, digite:

    cd v:\windows\system32
    bcdboot v:\windows
    
A ferramenta BCDboot importa automaticamente as informações da instalação existente ao atualizar o BCD. O computador está atualizado para incluir um ambiente de inicialização do Windows 7. Você já pode executar as etapas na seção "Para adicionar um VHD de inicialização ativado a um menu de inicialização existente do Windows 7", posteriormente neste tópico.

Para atualizar um computador baseado em UEFI de modo a incluir um menu de inicialização do Windows 7

Se você estiver implantando o VHD em um computador baseado em UEFI sem um menu de inicialização Windows 7, por exemplo, um computador usando o Windows Server 2008 como o sistema operacional em execução, será necessário atualizar o ambiente de inicialização usando um disco do Windows PE antes de poder configurar o sistema para o uso de VHDs de inicialização nativos.
  1. Copie o arquivo .vhd para o computador de destino. Por exemplo, digite em um prompt de comando:

    copy N:\VHDs\windows7.vhd C:
    
  2. Use a ferramenta DiskPart no Windows PE para anexar o VHD ao computador de destino. Você pode anexar um VHD usando o comando Attach vdisk. Isso ativa o VHD de modo que ele aparece no host como uma unidade de disco em vez de um arquivo .vhd. No prompt de comando, digite:

    diskpart
    select vdisk file=C:\windows7.vhd
    attach vdisk
    list volume
    select volume 
    assign letter=v
    exit
    
    
  3. Em um computador baseado em UEFI, a partição do sistema fica oculta por padrão e deve receber uma letra de unidade antes de executar a ferramenta BCDboot. Use a ferramenta DiskPart para localizar a partição do sistema EFI e atribuir uma letra de unidade. No prompt de comando, digite:

    diskpart
    select disk 0
    list partition
    select partition 
    assign letter=s
    exit
    
    
    Onde  é a partição do sistema EFI de 100 megabyte (MB) formatada com FAT.
  4. Use a ferramenta BCDboot, localizada no diretório \System32 da imagem do VHD ou no Windows PE para copiar os arquivos do ambiente de inicialização e a configuração de BCD do diretório \Windows no VHD para a partição do sistema. Por exemplo, para usar o BCDboot a partir da imagem do VHD, em um prompt de comando, digite:

    cd v:\windows\system32
    bcdboot v:\windows /s s:
    
A ferramenta BCDboot importa automaticamente as informações da instalação existente ao atualizar o BCD. O computador está atualizado com um ambiente de inicialização do Windows 7. Agora você pode executar as etapas para adicionar um VHD de inicialização nativo a um menu de inicialização existente do Windows 7.

Para adicionar um VHD de inicialização nativo a um menu de inicialização existente do Windows 7

Se você estiver implantando o VHD a um computador com uma instalação existente do Windows 7 ou do Windows Server® 2008 R2, poderá usar a ferramenta BCDedit para tornar o novo VHD inicializável e adicioná-lo ao menu de inicialização. Para obter mais informações sobre como usar a ferramenta BCDedit, consulte este site da Microsoft (a página pode estar em inglês).
noteObservação
Antes de começar, faça backup do seu armazenamento BCD usando a ferramenta BCDedit com a opção /export. Por exemplo, em um prompt de comando, digite: bcdedit /export c:\bcdbackup
  1. Copie uma entrada de inicialização existente para uma instalação do Windows 7. Você modificará a cópia para usá-la como a entrada de inicialização do VHD. No prompt de comando, digite:

    bcdedit /copy {default} /d "vhd boot (locate)"
    
    Quando o comando BCDedit for concluído com êxito, ele retornará um {GUID} como a saída na janela Prompt de comando.
  2. Localize o {GUID} na saída do prompt de comando do comando anterior. Copie o GUID, incluindo as chaves, para usá-lo nas seguintes etapas.
  3. Defina as opções device e osdevice para a entrada de inicialização do VHD. No prompt de comando, digite:

    bcdedit /set {guid} device vhd=[locate]\windows7.vhd
    bcdedit /set {guid} osdevice vhd=[locate]\windows7.vhd
    
  4. Defina a entrada de inicialização do VHD como a entrada de inicialização padrão. Quando o computador reiniciar, o menu de inicialização exibirá todas as instalações do Windows no computador e inicializará no VHD após a conclusão da contagem de seleção do sistema operacional. No prompt de comando, digite:

    bcdedit /default {guid}
    
  5. Alguns sistemas baseados em x86 requerem uma opção de configuração de inicialização para o kernel de modo a detectar determinadas informações de hardware e inicialização com êxito a partir de um VHD. No prompt de comando, digite:

    bcdedit /set {guid} detecthal on

sexta-feira, 16 de novembro de 2012

Windows 8 [Professional e Enterprise]





Categoria: Aplicativos
Versão: x64 e x86
Tamanho: 3.87 GB
Plataforma: Windows
Idioma: Português

Completamente reinventado, ele apresenta uma nova tela Start, rápida e fluida, que funciona bem com touch, mouse e teclado. Tem como coração e alma os aplicativos, que trabalham juntos e melhoram a experiência de uso, e são disponibilizados na Windows Store. Conectado à nuvem, ele permite que seus contatos, aplicativos e arquivos estejam disponíveis em qualquer lugar que você se conecte. O Windows 8 traz o melhor dos dois mundos num só lugar: é pronto, conectado, seguro e permite a máxima produtividade em casa e no trabalho.


Arquivo em Torrent
Link Download


terça-feira, 6 de novembro de 2012

sexta-feira, 17 de agosto de 2012

Editar e cortando vídeo com o FFmpeg


Dica para cortar ou editar um vídeo com o FFmpeg (remover, selecionar ou extrair trecho), mantendo o formato e a qualidade do arquivo original.

Vamos supor que eu tenha um arquivo de vídeo (video.ogv) de 3 minutos e quero remover os primeiros 15 segundos. O comando a ser utilizado seria o seguinte (atente para a opção -ss):
ffmpeg -i video.ogv -ss 00:00:15 -sameq -acodec copy -vcodec copy video_editado.ogv

Se quero cortar os últimos 45 segundos (observe a opção -t):
ffmpeg -i video.ogv -t 00:02:15 -sameq -acodec copy -vcodec copy video_editado.ogv

Se quero remover os primeiros 10 segundos e extrair os dois minutos seguintes (atente para as opções -ss e -t)::
ffmpeg -i video.ogv -ss 00:00:10 -t 00:02:00 -sameq -acodec copy -vcodec copy video_editado.ogv

Simples, rápido, limpo.

Complemento: juntando vídeos


Para juntar vídeos editados:
cat video_editado_2.ogv video_editado_1.ogv > video_juntado.ogv








Dica do site: http://linuxlike.blogspot.com.br/2012/07/cortando-video-com-o-ffmpeg.html 

sexta-feira, 25 de maio de 2012

Backups com rsync

rsync é uma ferramenta para você fazer backups e sincronizar seus arquivos. (Ele pode ser rodado em várias versões do *nix ).
Uma das limitações do rsync é que ele NÃO pode copiar de um sistema remoto para outro sistema remoto. Se você for fazer isso, então terá de copiar um dos sistemas remotos para o sistema local e depois copiar deste para o outro sistema remoto.
Com o sidux, você pode escolher como iniciar o processo: ou fazendo você mesmo ou via um pacote .deb no Debian sid:

A seguir um pouco do que o rsync pode fazer por você, seguido de alguns exemplos para seus scripts.
O rsync é um programa de back-up rápido e fácil de usar, inclusive para diretórios e arquivos. Isto é alcançado por uma rotina inteligente que verifica que arquivos sofreram alterações; daí, somente esses arquivos são copiados. O rsync usa um utilitário de compressão, o que acelera o processo de cópia (quando configurado com a opção -z). Isso se explica facilmente:
O rsync detecta arquivos e pastas que precisam ser copiados porque algum de seus atributos mudou (por exemplo, data/hora da última modificação ou tamanho do arquivo). Esse processo de seleção é feito muito rapidamente.
Quando o rsync acaba de montar a lista que vai ser usada, a cópia desses arquivos é mais rápida em virtude da rotina de compressão usada no processo. O rsync faz a compressão antes de enviar e descomprime na outra ponta “on the fly”.
O rsync pode copiar arquivos de:

* sistema local para sistema local
* sistema local para sistema remoto
* sistema remoto para sistema local

Ele usa tanto o cliente padrão ssh quanto um daemon rsync rodando no sistema fonte e no sistema de destino. As páginas de manual do rsync dizem que, se você pode usar o ssh no seu sistema, então o rsync também será capaz de usar o ssh.
Uma das limitações do rsync é que ele NÃO pode copiar de um sistema remoto para outro sistema remoto. Se você for fazer isso, então terá de copiar um dos sistemas remotos para o sistema local e depois copiar deste para o outro sistema remoto.
Para dar um exemplo dessa lógica, imaginemos os três sistemas seguintes:

neo – o sistema local
morpheus – um sistema remoto
trinity – outro sistema remoto
 
Você deseja usar o rsync para copiar ou sincronizar umas com as outras, as pastas /home/[user]/Data de todos os sistemas. Cada sistema possui um "dono" específico, portanto cada sistema pode ser usado como "fonte" para os outros dois. Você vai rodar o comando rsync apenas no sistema local, que é o neo:

o usuário principal do neo é cuddles
o usuário principal de morpheus é tartie
o usuário principal de trinity é taylar
 
Então, o que você deseja é copiar ou sincronizar o seguinte:

a área /home/cuddles/Data de neo para morpheus e trinity
a área /home/tartie/Data de morpheus para neo e trinity
a área /home/taylar/Data de trinity para neo e morpheus
 
Como vimos, o rsync NÃO copia de sistema remoto para sistema remoto, o que, no nosso exemplo, vai acontecer entre trinity e morpheus (tanto a fonte quanto o destino são sistemas remotos, conforme nosso esquema acima). Resumindo:

neo --> morpheus – tudo bem, local para remoto
neo --> trinity – tudo bem, local para remoto
morpheus --> neo – tudo bem, remoto para local
trinity --> neo – tudo bem, remoto para local
morpheus --> trinity – não vai funcionar, remoto para remoto
trinity --> morpheus – não vai funcionar, remoto para remoto
 
Para resolver a situação, você terá de alterar um pouco seu esquema:

morpheus --> trinity – torna-se: morpheus --> neo & neo --> trinity
trinity --> morpheus – torna-se: trinity --> neo & neo --> morpheus
 
Este é um passo extra, mas como esses arquivos iriam para neo de qualquer forma, é só uma questão de alterar a fonte. Isso assegura que nossos back-ups serão confiáveis, pois nada ficará de fora.
Ao rascunhar seu processo de cópia, não se esqueça de levar em conta essa limitação do rsync.
Como usar hostnames com hostnames com rsync
Conforme descrito acima, usar neo, morpheus ou trinity na tradução de um endereço IP físico, é uma maneira limpa e fácil de tornar as coisas mais legíveis. Ser capaz de usar aqueles hostnames é muito fácil.
Você vai precisar de editar o arquivo /etc/hosts e adicionar os hostnames e os endereços IP a eles relacionados. Aqui está uma pequena parte das linhas de cima do arquivo /etc/hosts, mostrando as traduções:

192.168.1.15  neo
192.168.1.16  morpheus
192.168.1.17  trinity
 
A primeira linha traduz o endereço IP 192.168.1.15 para o nome “neo”, o segundo endereço, 192.168.1.16, para o nome “morpheus” e a última linha, o endereço 192.168.1.17 para o nome “trinity”. Após adicionar as linhas acima e salvar o arquivo, você estará apto a usar o "nome" ao invés do endereço IP, o que não o impede de usar os endereços IP, se quiser. O que faz esse método brilhar é quando um sistema tem seu endereço IP mudado. Por exemplo, digamos que neo muda seu endereço IP de 192.168.1.15 para 192.168.1.25:
Se todos seus scripts usam endereço IP, você precisa localizá-los e mudá-los para o novo endereço. Se, por outro lado, seus scripts usam o "nome", tudo que você tem a fazer é mudar o arquivo /etc/hosts para refletir a mudança. Isso pode ser uma mão na roda quando você tiver muitos scripts para conexões remotas com os outros sistemas, ou vice-versa. O método por “nome” também faz com que seus scripts sejam mais fáceis de ler e seguir porque, ao invés de números, eles usam nomes reconhecíveis associados aos IPs.

rsync e as duas maneiras de usá-lo

 

Uma maneira é “push” (empurrar) os arquivos para um destino e a outra maneira é “pull” (puxar) os arquivos da fonte. Ambas têm suas vantagens e desvantagens. Vamos dar uma olhada em cada uma delas (nesta explanação, vamos assumir que um dos sistemas é local e o outro, remoto. Assim fica mais fácil você entender a terminologia).
“push” - As fontes para os arquivos e pastas estão no sistema local e o destino é o sistema remoto. O rsync roda no sistema local e "empurra" seus arquivos para o destino.
Vantagens:

* Você pode ter mais de um sistema fazendo cópias de si mesmo para o sistema de destino.
* O processo de back-up é distribuído por todos os sistemas de computadores, ao invés de ter apenas um carregando o piano.
* Se um sistema for mais rápido que os outros, ele pode terminar mais cedo e passar a fazer outras coisas.
Desvantagens:
* Se você usa um script agendado no cron, você terá de atualizar e fazer mudanças nos crontabs de cada sistema, bem como atualizar múltiplas versões de seu script.
* Seu back-up não tem como saber se a partição do sistema de destino está montada ou não, portanto você corre o risco de estar copiando para nada na outra ponta.
“pull” - Os arquivos e pastas a copiar estão no sistema remoto e o destino é o sistema local. O rsync é executado no sistema local e "puxa" os arquivos do sistema fonte.
Vantagens:
* Um sistema é convertido para ser o servidor, controlando todos os back-ups para todos os outros sistemas: back-ups centralizados.
* Se você usa um script, ele fica em apenas um sistema, tornando fáceis os processos de atualizar e modificar. Sem falar que você precisa ter o controle de um único arquivo crontab para agendar o script.
* Seu script pode checar e, se necessário, montar a partição de destino.
Sintaxe do rsync, conforme suas páginas de manual: [SRC=Source=Fonte]
       rsync [OPÇÃO]... SRC [SRC]... DEST

       rsync [OPÇÃO]... SRC [SRC]... [USER@]HOST:DEST

       rsync [OPÇÃO]... SRC [SRC]... [USER@]HOST::DEST

       rsync [OPÇÃO]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST

       rsync [OPÇÃO]... SRC

       rsync [OPÇÃO]... [USER@]HOST:SRC [DEST]

       rsync [OPÇÃO]... [USER@]HOST::SRC [DEST]

       rsync [OPÇÃO]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
Exemplo de comandos rsync:
rsync -agEvz --delete-after --exclude=”*~” morpheus:/home/tartie /media/sda7/SysBackups
/morpheus/home

Vamos dar uma olhada em algumas partes do comando:

a fonte caminho/arquivo é: morpheus:/home/tartie
e o destino é: /media/sda7/SysBackups/morpheus/home
 
Tudo que estiver em /home/tartie... será copiado para /media/sda7/SysBackups/morpheus/home, que ganhará mais uma pasta:

/media/sda7/SysBackups/morpheus/home/tartie...
 
É preciso deixar claro que o único motivo para /tartie ficar na /home é que isso foi estabelecido no sistema de DESTINO e NÃO por causa da FONTE. A "fonte" somente seleciona de onde os arquivos vêm, não para onde vão. O "destino" é que diz ao rsync onde colocar os arquivos vindos da "fonte". Veja o seguinte exemplo:

rsync [...] /home/user/data/files /media/sda7/SysBackups/neo
 
No comando acima, apenas a pasta /files e seu conteúdo serão copiados para a pasta de destino /neo - e não isto: /media/sda7/SysBackups/neo/home/user/data/files
Lembre-se de levar isso em consideração ao criar comando de back-up no rsync.
Explicação das opções:
-a - usada no modo de arquivamento. Explicação nas páginas de manual: “em termos gerais,
 uma maneira de fazer back-up recursivamente e preservar 'quase' tudo”. Mencionam ainda que
a opção não preserva hardlinks devido à complexidade do processo. 
A opção -a é descrita como sendo equivalente ao seguinte: -rlptgoD, que significa:
  -r = recursivo – processa subpastas e arquivos encontrados dentro da "fonte"
  -l = links – quando links simbólicos são encontrados, recria-os no "destino"
  -p = permissões – diz ao rsynk que as permissões do destino serão iguais às da fonte
  -t = times (hora) – diz ao rsynk que a hora a ser aposta nos arquivos do destino será a mesma 
da hora da fonte
  -q = quiet (discreto) – diz ao rsynk que a saída seja mínima
  -o = owner (dono) – diz ao rsync que, se estiver rodando como root, os donos dos arquivos 
copiados
para o destino deverão ser os mesmos da fonte.
-D = equivalente a usar estes dois comandos: --devices --specials
 --devices (dispositivos) = faz com que o rsync transfira arquivos de caractere e blocos de 
dispositivos
para o sistema remoto recriar esses dispositivos. Infelizmente, se você não incluir
também --super no mesmo comando, o efeito será nulo
 --specials (especiais) = faz com que o rsync transfira arquivos especiais, como os sockets e 
fifos
-g - usada para preservar o "grupo" dos arquivos fonte no destino
-E - usada para preservar "executável" dos arquivos fontes no destino
-v - usada para aumentar a quantidade de informações mostradas. Quando tiver certeza de
estar copiando o que você quer, o “v” pode ser removido
-z - usada para comprimir os dados a ser copiados;com essa opção o processo de cópia
toma muito menos tempo, porque o arquivo a ser transferido é menor do que seu tamanho real
--delete-after (apagar depois)= apaga arquivos/pastas no destino que não estiverem mais na 
fonte DEPOIS
da transferência, não ANTES. Este “after ('depois')” é usado em caso de problemas ou de um
travamento e o “delete ('apagar')” é usado para remover os arquivos do destino que não mais
existem no sistema fonte, não apagados em nosso destino, ocupando espaço desnecessariamente
--exclude (excluir)= é usado um padrão para excluir arquivos e/ou pastas do back-up. No
exemplo, --exclude=“*~” excluirá do back-up TODO e QUALQUER arquivo ou pasta cujos nomes 
terminam
com o caractere “~”. Apenas um padrão pode ser usado com a opção
--exclude, portanto se você precisar de mais de um, você terá de entrar com linhas adicionais
na linha de comando.
 
Outras opções úteis:

-c – adiciona outro nível de checagem entre a fonte e o destino após o back-up,
o que acaba por tornar todo o processo mais lento. Como o rsync já faz essa comparação
durante o processamento, essa opção não foi incluída por ser meramente uma forma de redundância 
--super – segundo descrição de suas páginas de manual, com essa opção o sistema de destino
tentará atividades de superusuário, isto é, o root.
--dry-run – simula uma transferência. É como usar a opção -s com o
apt-get install ou apt-get dist-upgrade.
O restante de nossos comandos são os arquivos/pasta da fonte e nossa pasta de destino.
Exemplos:
rsync -agEvz --delete-after --exclude=”*~” morpheus:/home/tartie /media/sda7/SysBackups
/morpheus/home

Este comando vai copiar todos os arquivos e pastas dentro de /home/tartie no sistema traduzido com o nome "morpheus”, e colocá-los em /media/sda7/SysBackups/morpheus/home – sem incluir a árvore de diretórios da pasta tartie.

rsync -agEvz --delete-after --exclude=”*~” /home/tartie neo:/media/sda7/SysBackups/morpheus
/home

Este comando é o contrário do exemplo anterior. Ele vai "puxar" a pasta /home/tartie, com seu conteúdo e suas subpastas para o sistema chamado neo na mesma pasta – lembre-se que um sistema é considerado remoto quando tem “:” (dois pontos) na frente de seu caminho.

rsync -agEvz --delete-after --exclude=”*~” /home/cuddles /media/sda7/SysBackups/neo/home

Este comando faz uma cópia de local para local. Perceba que não há ":" (dois pontos) nem na fonte nem no destino. O comando vai copiar localmente /home/cuddles para o mesmo sistema e pasta /media/sda7/SysBackups/neo/home.
Vejamos como é um 'exclude' múltiplo:

rsync -agEvz --delete-after --exclude=”*~” --exclude=”*.c” --exclude=”*.o” "/*" /media/sda7
/SysBackups/neo

O comando acima faz um back-up de TUDO no diretório raiz (/) do sistema local, com todos os seus arquivos e pastas e coloca-os no local de destino /media/sda7/SysBackups/neo – só que, agora, ele vai excluir todo arquivo e toda pasta que terminar em “~”, “.c”, ou “.o”
Abaixo damos exemplo de um comando que deve ser evitado, pois resulta em erro. O exemplo é de um comando de sistema remoto para sistema remoto:
rsync -agEvz --delete-after --exclude=”*~” morpheus:/home/tartie trinity:/home

Como já mencionamos antes, trata-se de uma limitação do rsync.
Um último exemplo: vejamos como fica o rsync de um sistema remoto para um local, se substituirmos nossos "nomes" pelos seus respectivos endereços IP.
O primeiro comando é com o método de "nome" e o segundo é o mesmo comando, desta vez com o endereço IP:

rsync -agEvz --delete-after --exclude=”*~” morpheus:/home/tartie /media/sda7/SysBackups
/morpheus/home
rsync -agEvz --delete-after --exclude=”*~” 192.168.1.16:/home/tartie /media/sda7/SysBackups
/morpheus/home

Como dissemos anteriormente, você não é obrigado a usar o método de "nomes", mas, no primeiro exemplo, você pode ler o que está sendo feito de maneira muito mais fácil que no segundo.
Agora você já deve ser capaz de montar um comando simples, seja a partir dos exemplos dados, seja fazendo misturas e combinações dos comandos mostrados, até conseguir o que você precisa.

Copiando arquivos com o robocopy

O robocopy pode ser utilizado de várias maneiras para copiar arquivos entre computadores, ou mesmo entre dispositivos de armazenamento.

 Para copiar o conteúdo de uma pasta para outro local basta utilizar o comando:

robocopy origem destino

Se quiser incluir as subpastas deve-se acrescentar a opção /s:
robocopy origem destino /s

Pode ser utilizado para se fazer mirror de uma pasta, ou seja, ter dentro dela o mesmo conteúdo de uma outra pasta. Para isso, utiliza-se a opção /mir

robocopy origem destino /mir

O robocopy pode também copiar apenas determinados tipos de arquivos.
Caso se queira copiar apenas os arquivos de música para um mp3 player, por exemplo:

robocopy origem destino /s  *.mp3 

Lembrando que o ele só vai copiar os arquivos novos e os modificados, os arquivos que já existem na pasta de destino não serião copiados novamente.
Porém, pode-se também fazer o robocopy não copiar arquivos com determinados critérios.
Por exemplo, não copiar os arquivos extras (arquivos que não existem no destino):

robocopy origem destino /s /xx *.mp3 

Não copiar os arquivos mais novos e mais antigos (arquivos que foram modificado na origem ou destino):

robocopy origem destino /s /xn /xc /xo *.mp3 

Não copiar os arquivos maiores que 5MB (5242880 bytes), nem os menores que 5KB (5120 bytes):

robocopy origem destino /s /max:5242880 /min:5120 *.mp3 

É possível também excluir da lista de arquivos a serem copiados determinadas pasta ou arquivos. Por exemplo, não copiar a pasta variados nem o arquivo audio1.mp3

robocopy origem destino /s /xd variados xf audio1.mp3 *.mp3 

Uma das grandes vantagens do robocopy é a capacidade de continuar a transferência de um arquivo incompleto, para tanto basta adicionar a opção /Z. Porém em alguns casos não é possível usar o modo reiniciável, por isso há também um outro modo de cópia, o de backup (opção /B). É recomendavel é usar a opção /ZB para que o robocopy tente utilizar o modo reiniciável e, caso o acesso ao arquivo seja negado, usar o modo backup.
Apenar o robocopy não possuir uma opção de sincronização de mão-dupla (copiar modificações em ambos os sentidos), pode-se utiliza-lo para esse propósito. Basta executar dois comandos de cópia, utilizando as opções a seguir:

robocopy pasta1 pasta2 /xc /xo *.*
robocopy pasta2 pasta1 /xc /xo *.* 

Porém deve se levar em consideração que neste caso o robocopy não copia arquivos que mudaram de tamanho mas não tiveram suas data de modificação atualizada.
Para facilitar o uso o robocopy ainda permite que a opções sejam salvas para que possam ser utilizadas posteriormente. Para salvar as opções de cópia utiliza-se a opção /save: seguido do nome do arquivo. Para utilizar as opções salvar utiliza-se a opção /job: seguido do nome do arquivo. Ex:

robocopy pasta1 pasta2 /xc /xo /save:copia1 *.* 
robocopy pasta2 pasta1 /job:copia1

Ao salvar as opções de cópia ele também salva o caminho das pastas que foram utilizadas. Portanto, se vc precisa usar o mesmo comando de cópia muitas vezes utlizando as mesmas opções e as mesmas pastas, basta salva-las e utilizar /nosd e /nodd para dizer ao programa que deve ser utilizado as pasta que foram salvas no arquivo. Ex:
robocopy pasta1 pasta2 /xc /xo /save:copia1 *.* 
robocopy /nosd /nodd /job:copia1



Exemplo que utilizo para copiar arquivos pela rede.

ROBOCOPY \\SERVIDOR\Dados E:\Dados /MIR /MT:10 /Z /R:2 /W:2 /COPYALL

MIR = Espelho o que está no servidor A no B (Se houver algum arquivo no destino que não exista na origem ele será apagado)
MT:10 = copia 10 arquivos em paralelos ao invés de um
/z = recomeçar de onde parar o processo de cópia se houver problemas
R:2 = Se houver falha na cópia de algum arquivo duas tentativas serão realizadas
W:2 = com intervalos de 2 segundos.
COPYALL = Copia todos os atributos dos arquivos data/hora/, permissões e etc

sábado, 7 de abril de 2012

Dropbox conta de 2GB é grátis!



Tenha seus arquivos em qualquer lugar e na hora que precisar, basta criar sua conta no Dropbox, você ganha 2Gb para guardas seus arquivos, podendo acessar de qualquer computador com acesso a Internet.
Experimente, eu uso e é uma excelente maneira de armazenar seus arquivos.
 

 Acesse o link abaixo e faça seu cadastro inteiramente grátis.

http://db.tt/RerYe29



terça-feira, 28 de fevereiro de 2012

Tabela de comandos do VI - Shell





Tabela de comandos do VI - Unix/GNU Linux, referencia rápida.

Tamanho: 326,8 KB | Formato: pdf


Link: Download 

E não vos conformeis com este mundo, mas transformai-vos pela renovação do vosso entendimento, para que experimenteis qual seja a boa, agradável e perfeita vontade de Deus.
Romanos 12: 2

C, Completo e Total - Herb Schildt


Programação

Herb Schildt, cujos livros sobre C e C++ venderam mais de um milhão de cópias em todo mundo, revisou e atualizou a melhor referência que você pode ter sobre C. Não importa se você é programador iniciante ou um profissional veterano, as respostas a todas as suas perguntas sobre C podem ser encontradas nesta obra

Tamanho: 10,2mb | Formato: pdf

Link: Download



Ninguém tem maior amor do que este, de dar alguém a sua vida pelos seus amigos. 
João 15:13

segunda-feira, 23 de janeiro de 2012

Como fazer a instalação do Windows em um Pendrive

Instalando o Windows XP em unidades de armazenamento USB.


Diferentedo que a Microsoft afirma, as limitações para o Windows ser instalado em uma unidade de armazenamento USB são não técnicas, na verdade essa limitação é dada por alguns arquivos de configuração, portanto basta modificar-los para que a instalação possa ser realizada em unidades USB, além de continuar a instalar em discos IDE, SATA e SCSI.


BartPE


O BartPE cria instalações do tipo Live, que podem ser gravadas em unidades USB ou Cds/DVDs, nesse procedimento, a instalação é feita na unidade USB da mesma forma em que seria feita em discos ligados aos barramentos IDE, SATA ou SCSI.


Funcionalidade.


Com essa modificação o disco de instalação ganha mais uma opção de disco, podendo instalar em unidades USB assim como nas possibilidades prévias, sendo uma boa adição, para quando se atualizar o disco de instalação.


E como nessa modificação o Windows é instalado normalmente, ele continua totalmente atualizável e a instalação de programas se dá normalmente, sem a necessidade de modificações ou plugins.


Requisitos


Um disco de instalação do Windows
Uma unidade USB (pen drive ou HD USB)
Algum programa de edição de ISOs como o Winiso, por exemplo
O CAD SDK da Microsoft
Um programa de gravação de CD


Como Fazer:

1. Em primeiro lugar é necessário um computador com capacidade de boot via USB, a grande maioria das placas mãe hoje em dia já oferecem esse suporte.



2. Além disso ainda é preciso formatar a Pendrive, marcando ela como bootavel, pode ser usado o HP Tool, nos testes que realizei se a pendrive não estivesse formatada dessa forma, a instalação não conseguiu formatar e copiar os arquivos de instalação.



3. Com algum programa como o WinIso extraia todos os arquivos da isso do Windows para uma pasta.

4. Extraia os seguintes arquivos, nessa parte eu copiei eles para uma pasta temporária, onde eu pudesse extrair de dentro dos arquivos *.IN_ a fim de poder manipular eles sem problemas.



TXTSETUP.SIF
DOSNET.INF
USB.IN_
USBPORT.IN_
USBSTOR.IN_


5. Extraia os aquivos *.IN

6. Modificando os Arquivos

Agora vem a principal parte, é possível usar qualquer simples editor de texto para essa modificação, como o notepad, por exemplo.



TXTSETUP.SIF



Em primeiro lugar mova as seguintes entradas do campo [InputDevicesSupport.Load] para o campo [InputDevicesSupport.Load] da sequinte forma


[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys


[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys



O mesmo para [BootBusExtenders] e [InputDevicesSupport]


BootBusExtenders]
pci = "PCI-Bustreiber",files.pci,pci
acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi
isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp
acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec
ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor


[InputDevicesSupport]
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
hidusb = "HID-Parser",files.hidusb,hidusb
serial = "Treiber fr seriellen Anschluss",files.none,serial
serenum = "Enumerator fr seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp



Agora é só adicionar algumas chaves no registro, o que dá para fazer adicionando algumas chaves no campo [HiveInfs.Fresh] nesse mesmo aquivo.


[HiveInfs.Fresh]
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg
AddReg = usbboot.inf,usbservices



e no campo [SourceDisksFiles]


[SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2



Salve o arquivo.


DOSNET.INF


Nesse arquivo faça as seguintes modificações


[Files]
d1,usbboot.inf
d1,_default.pif
d1,12520437.cpx
d1,12520850.cpx



......


USB.INF


mude as linhas em negrito em [StandardHub.AddService] e também em [CommonClassParent.AddService]






[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender



USBPORT.INF


Troque os valores das entradas em negrito


[EHCI.AddService]
DisplayName = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender

[OHCI.AddService]
DisplayName = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender

[UHCI.AddService]
DisplayName = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddService]
DisplayName = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender



USBSTOR.INF








[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3

ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender

Criando um novo arquivo : USBBOOT.INF

Crie um novo arquivo chamado USBBOOT.INF e grave no mesmo local dos demais arquivos modificados com o seguinte conteúdo:


[usbservices]


HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SY S"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR"," Type",0x00010001,1


HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," ImagePath",0x00020000,"system32\DRIVERS\usbehci.sy s"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci"," Type",0x00010001,1


HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","D isplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","E rrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","G roup",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","I magePath",0x00020000,"system32\DRIVERS\usbhub.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","S tart",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","T ype",0x00010001,1


HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sy s"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci"," Type",0x00010001,1


HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," ImagePath",0x00020000,"system32\DRIVERS\usbohci.sy s"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci"," Type",0x00010001,1




7. Devolva os arquivos modificados para os pacotes _IN


Certifique-se em qual pasta estão os arquivos do pacote "CAB SDK" da Microsoft, abra uma janela do DOS e digite os seguintes comandos no prompt:


cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf


Agora é só devolver os arquivos para a pasta original na iso do Windows e gravar em um CD, de preferencia em um regravável, e se deseja também é possível utilizar o Nlite para atualizar o Sistema operacional.

Link referencia de matéria