
Intel anunciou nesta segunda-feira (28/03) sua nova linha de SSDs, nomeada "320 Series", na qual os dispositivos utilizam chips de memória NAND flash MLC (multi-level cell) e podem ter uma capacidade de até 600Gb.
Sites capturados durante a minha navegação!
Certa vez, há muito tempo atrás, o Unix possuia apenas um shell, o Bourne shell, e quando um script era escrito, o shell lia o script e executava os comandos. Então outro shell apareceu, e depois, outro. Cada shell possuia sua própria sintaxe e alguns, como o C shell, eram bastante diferentes do original. Isto significava que, se um script usava os recursos de um shell ou de outro, ele deveria ser executado usando aquele shell. Em vez de escrever:
doit
O usuáiro tinha que escrever:
/bin/ksh doit
ou:
/bin/csh doit
Para remediar esta situação, uma alteração inteligente foi feita no kernel Unix -- agora um script poderia ser escrito começando com uma combinação hash-bang (#!) na primeira linha, seguida pelo shell que executaria o script. Por exemplo, dê uma olhada no seguinte script, chamado doit:
#!/bin/ksh
#
# do some script here
#
Neste exemplo, o kernel lê o script doit, vê o hash-bang, e continua a ler o resto da linha, onde ele encontra /bin/ksh. O kernel então inicia o Korn shell com doit como um dos argumentos, e passa a ele o script, como se o seguinte comando tivesse sido escrito:
/bin/ksh doit
Quandi o /bin/ksh começa a ler o script, ele vê o hash-bang na primeira linha como um comentário (por que ele começa com um hash), e ignora o mesmo. Para ser executado, o path completo do shel é necessário, já que o kernel não irá examinar sua variável PATH. O manipulador de hash-bang do kernel faz mais que só executar um shell alternativo, ele realmenet pega os argumentos que seguem o hash-bang e usa os mesmos como um comando, e acrescente o nome do arquivo como argumento àquele comando.
Você pode iniciar um script Perl, chamado doperl, usando o hash-bang:
#!/bin/perl
# do some perl script here
Se você escrever doperl, o kernel examina o hash-bang, extrai o comando /bin/perl, e executa o mesmo como se você tivesse escrito:
/bin/perl doperl
Existem dois mecanismos em funcionamento que permitem que isto funcione. O primeiro é a interpretação do kernel do hash-bang, o segundo é que o Perl vê a primeira linha como um comentário e ignora a mesma. Esta técnica não irá funcionar com linguagens de script que não tratam linhas que começam com um hash como comentário -- nestes casos, provavelmente você terá um erro. Você não precisa se limitar a usar este método apenas para executar scripts, apesar que é onde ele é mais útil.
O seguitne script, chamado helpme, apresenta a si mesmo no terminal quando você executa o comando helpme:
#!/bin/cat
vi unix editor
man manual pages
sh Bourne Shell
ksh Korn Shell
csh C Shell
bash Bourne Again Shell
Este truque do kernel irá executar um argumento após o nome do comando. Para esconder a primeria linha, faça que o arquivo use o more, iniciando na segunda linha, mas certifique-se de usar o path correto:
#!/bin/more +2
vi unix editor
man manual pages
sh Bourne Shell
ksh Korn Shell
csh C Shell
bash Bourne Again Shell
Ao escrever o helpme como um comando, o kernel converte isto para:
/bin/more +2 helpme
Tudo a partir da linha dois em diante é mostrado:
helpme
vi unix editor
man manual pages
sh Bourne Shell
ksh Korn Shell
csh C Shell
bash Bourne Again Shell
etc.
Este é um belo assunto, e que me “iludiu” por muito tempo. Alguém já reparou que sistemas de arquivos ext3 e ext4 com 100% de uso nunca igualavam-se ao tamanho total da unidade ? Explico:
Um sistema de arquivos em um device de 249Gb atingirá 100% de uso aos seus 236Gb. Isso se dá pelo simples motivo que por default, um sistema de arquivos criado via mkfs.ext3 ou mkfs.ext4 possui uma reserva de 5% de seus blocos para o superusuário (vulgo root). Isso pode não ser impactante em sistemas de arquivos pequenos, tais como /var, /usr, /tmp, etc, mas vai com certeza se tornar um inconveniente em um sistema de arquivos de 750Gb usado separadamente do S.O (isso nos custaria 37.5Gb).
Então vamos ao que interessa… Vamos alterar esta reserva de um sistema de arquivos montado e funcional utilizando o tune2fs. No exemplo que segue alterei minha partição de uso pessoal, de 119Gb para ter somente 1% de reserva. Isso me deu um ganho de 5.4Gb.
ext4 com 5% de reserva:
[frank@vostrolab2 tmp]$ df -h /u
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-u 119G 78G 35G 69% /u
Vamos à alteração:
[root@vostrolab2 tmp]# tune2fs -m 1 /dev/mapper/vg01-u
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (314572 blocks)
Vejamos o resultado:
[root@vostrolab2 tmp]# df -h /u
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-u 119G 78G 40G 67% /u