terça-feira, 11 de outubro de 2011

Bela homenagem a Jobs e a importância e consistência do O.S *BSD

20
Steve Jobs
"Nosso marketshare é maior que o da BMW ou da Mercedes ou ainda da Porsche no mercado automobilístico. O que há de errado em ser a BMW ou a Mercedes?" -- Steve Jobs
Obrigado, Steve, obrigado.
Obrigado, Steve Jobs, obrigado.
 A tecnologia de Steve, FreeBSD & 4.2 BSD


Este homem colocou um sistema baseado em FreeBSD no coração de seu tablet, e revolucionou a indústria da tecnologia móvel. (iPad, iOS = Darwin Embedded = Mach + FreeBSD)

Antes disso, ele revolucionou a indústria da telefonia celular, com um sistema baseado em FreeBSD no coração de seu telefone. (iPad, iOS = Darwin Embedded = Mach + FreeBSD)
Antes, criou um novo conceito de televisão on-line, que vem revolucionando este segmento de mercado em regiões do mundo com acesso persistente a banda larga. Em seu coração, um sistema baseado em FreeBSD. (iTV/Apple TV, iOS = Darwin Embedded = Mach + FreeBSD + TinyBSD)
Bem antes, revolucionou a indústria da música, a forma de se consumir e comercializar música, e no coração de seu tocador de música e loja, colocou um sistema baseado em FreeBSD. (iPod, iOS = Darwin Embedded = Mach + FreeBSD)
Antes disso, criou a série de computadores pessoais mais desejado do mundo, e em seu coração, colocou um sistema baseado em FreeBSD. (Mac Book Pro, iMacs, Mac OS X = Darwin + Aqua + Quartz + Mach + FreeBSD)
Ainda antes, revolucionou a indústria do cinema de animações gráficas, e no coração dessa tecnologia colocou um sistema derivado do Mach 2.5 e do 4.2-BSD. (NEXTSTEP = Mach 2.5 + 4.2-BSD + 4.4BSD)
Antes disso, teve seu primeiro contato com 4BSD ao criar uma plataforma computacional superior à que ele mesmo havia criado no passado. (NEXTSTEP = Mach 2.5 + 4.2-BSD + 4.4BSD)
Este homem mudou consideravelmente a forma como o mundo cria e consome música, cinema, comunicação, cultura, livros. Criou a tecnologia e os produtos mais desejados no mercado contemporâneo. Criou a maior empresa de capital aberto do mundo.
E no coração disso tudo... vocês já sabem.
Por isso, nós, das equipes FreeBSD Brasil LTDA & IDS Tecnologia prestamos nossa pequena e sincera homenagem, em reconhecimento a vida e os feitos deste homem. Obrigado, Steve.
E mais uma coisa...
Foi num NeXT Cube, rodando NEXTSTEP, sistema criado a partir de um kernel híbrido do Mach 2.5 e 4.2-BSD + 4.4BSD (incluindo, claro, TCP/IP do 4-BSD) que Tim Berners-Lee criou o primeiro navegador web (WorldWideWeb era o nome), primeiro servidor web (CERN httpd) e criou a web (WWW e o W3C) como conhecemos hoje. Até onde Steve não estava presente, sua obra (e o BSD, claro) fizeram e fazem toda a diferença.
Mac OS X 10.6 (Snow Leopard) é o primeiro sistema a ter instruções de kernel massivamente processada por GPU em complemento a CPU. O OpenCL e processamento GPU, além do Grand Central Dispatch voltam como contribuição da Apple ao FreeBSD em 2011, no FreeBSD 9 (sistema base), quase 4 anos depois de incorporado no Mac. Tardio? Pense da seguinte forma: FreeBSD é o segundo SO a se apoiar em processamento GPU, quase 4 anos depois. O restante do mercado continua correndo atrás, engatinhando. Em mais 2, 3 anos talvez absorvam mais essa influência da tecnologia de Steve.
Steve se foi, mas seu legado continua. E temos orgulho de enxergar que continua fundado em BSD.
Passado, presente, e por muitos anos ainda, o futuro. Obrigado Steve, por subir o nível.

Fonte: http://www.freebsdbrasil.com.br/home.php?area=20&conteudo=53

terça-feira, 28 de junho de 2011

Google Social Networking

Google já iniciou o desenvolvimento do aplicativo de rede social que irá competir com o Facebook; Ele se chama: Google+. Muito desafiador... Tarefa árdua essa eim? Será possivel colocar um aplicativo para disputar com o maior serviço de rede social do mundo, o Facebook? De qualquer forma estou curioso para conhecer o Google+.





The Google+ project: real life sharing, rethought for the web.
plus.google.com

sexta-feira, 10 de junho de 2011

Trocar UID proprietário de arquivos e pastas em determinados diretórios por um outro UID para ser o novo proprietário desses arquivos encontrados

Pessoal o script abaixo foi feito para alterar o dono de arquivos e pastas em determinados diretórios, o mesmo sairá recursivamente trocando o UID dos arquivos e pastas encontrados, a partir do UID antigo, por um outro UID, definido por você, para que esse seja o novo dono do arquivos e pastas no diretório.

OBS.: UID é uma identificação exclusiva de qualquer usuário no linux, para verificar o id de algum usuário digite:

# id nomeDoUsuário
root@feigt:/# id leonardoconrado
uid=1018(leonardoconrado) gid=100(users) groups=100(users)


Exemplo 01: Mudará o dono de todos arquivos e pastas do diretório / que tenham como UID 502 e irá "setar" ou configurar um novo UID dono desses arquivos que será UID 512 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:

#!/bin/bash

# Mudar UID proprietário de arquivos e pastas
# para um novo UID ser o proprietário em determinados
# diretórios
# Por Leonardo Couto Conrado
# Em 06.10.2011 

counter=0

# Encontre em / os arquivos que tenha UID igual à 502
for i in $( find / -uid 502 2>> /dev/null ); do
        echo $i

# Mude o dono desses arquivos para UID 512
        chown -v 512 $i >> /root/debug.txt

# Conte cada arquivo encontrado
        counter=`echo "$counter+1"|bc`
done
echo $counter

Exemplo 02: Mudará o dono de todos arquivos e pastas do diretório /oracle que tenham como UID 501 e irá "setar" ou configurar um novo UID dono desses arquivos que será UID 511 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:

#!/bin/bash

# Mudar UID proprietário de arquivos e pastas
# para um novo UID ser o proprietário em determinados
# diretórios
# Por Leonardo Couto Conrado
# Em 06.10.2011 

counter=0

# Encontre em / os arquivos que tenha UID igual à 501
for i in $( find /oracle -uid 501 2>> /dev/null ); do
        echo $i

# Mude o dono desses arquivos para UID 511
        chown -v 511 $i >> /root/debug.txt

# Conte cada arquivo encontrado
        counter=`echo "$counter+1"|bc`
done
echo $counter

quarta-feira, 4 de maio de 2011

Já se foram os últimos blocos do velho e bom IPv4, que até hoje nos foi muito útil...

O competente ancião, protocolo IPv4, atualmente responsável por carregar todas as nossas informações na rede mundial, a internet, está se aposentando e delegando a tarefa para o jovem e aprimorado protocolo IPv6...


Saiba mais: O fim do IPv4

sexta-feira, 11 de março de 2011

Linux Magazine Community Edition 76 baixe já a sua

Já está no ar a Linux Magazine 76 Community Edition.

Confira nesta edição os principais assuntos da Linux Magazine de março (Monitoramento e segurança) e leia artigos completos sobre ferramentas de backup para auxiliar na prevenção de falhas e perdas de dados e proteção de servidores web Apache com o módulo mod_security.

A Linux Magazine Community Edition surgiu em agosto de 2009. Trata-se de um arquivo em PDF com 30 páginas do conteúdo original da Linux Magazine do mês, disponível para download uma semana antes do lançamento da revista nas bancas – exclusivo para assinantes e cadastrados na newsletter.

O sumário da Community Edition contém a relação de todas as matérias da revista. Algumas são de livre acesso e outras são artigos que podem ser adquiridos pelo site. O material de livre acesso representa 30% do conteúdo da edição do mês, uma prática já adotada pela Linux Magazine. Pode-se navegar pelo documento, acessando o material gratuito ou adquirindo o material exclusivo em nosso site. Basta clicar para ser levado à página do artigo correspondente. Tudo isso antes mesmo de a revista chegar às bancas ou ser publicada no site.

A melhor parte é que você pode baixar o arquivo e enviar para quem você quiser. Por meio da licença Creative Commons, a Community Edition pode ser livremente copiada e distribuída. Assim, baixe, copie, envie para os seus amigos e faça parte de uma comunidade que não para de crescer. Participe de forma ativa na divulgação da tecnologia que mais traz benefícios para as pessoas e para o mercado em geral.

Quando a revista chegar às bancas, a Community Edition será disponibilizada gratuitamente para download para qualquer visitante do site. Mas você, assinante da newsletter, tem a exclusividade de acesso em primeira mão.




quinta-feira, 24 de fevereiro de 2011

Editando arquivo CGI(status.cgi ) do Nagios realizando custom

Pessoal recentemente surgiu a necessidade de editar um CGI do Nagios, especificamente o arquivo status.cgi, a carência era adicionar mais uma coluna na tabela da página Problems >> Services(http://servidorNagios/nagios/cgi-bin/status.cgi?host=all&servicestatustypes=28) tal coluna deveria conter a descrição/alias dos hosts. A intenção é para torna compreensivel, para o pessoal não técnico, o host que está apresentando problemas já que teremos uma clouna que informa a descrição do host e não somente a sua abreviatura(Hostname). Pois bem, o bom é que vivemos no mundo open source e sabendo-se disso temos acesso aos fontes dos programas, utilizando-se dessa flexibilidade podemos deixar o programa do nosso jeito, que beleza eim?! Nota 1000 para o GNU e viva ao Linux!! Pois bem, vamos meter a mão na massa:

OBS.:

- Utilizado para esse artigo o CentOS 5.5 e o Nagios Core 3.2.3;
- Você deve compilar o código status.c na máquina que realmente roda o Nagios, tentei editar e compilar o status.c em outra máquina com o mesmo S.O e a mesma versão do Nagios e depois copiei o status.cgi já compilado para outra máquina de produção, porém, não rolou dava erro então compile o nagios na máquina que realmente utilizará os CGI;

1 - Primeiramente vá ao site da Nagios e baixe o source do mesmo;

2 - Descompacte-o;

3 - Vá a pasta /nagios-3.2.3/cgi e edite o status.c;

4 - Foi necessário adicionar somente duas linhas no arquivo, abaixo segue trechos do arquivo numerado e com comentários sobre as linhas adicionadas:
# vi /nagios-3.2.3/cgi/status.c


Primeira parte:

Segunda parte:


Após isso será necessário configurar, compilar e instalar o nagios para ele recompilar os .CGIs, para fazer esta tarefa tomei como referência o How to de instalação do Nagios.org, faremos conforme abaixo:

1 - Em /nagios-3.2.3(A pasta que tem os fontes) você executará 3 comandos:

./configure --with-command-group=nagcmd
make all
make install

Pronto!
E agora vamos ver se a nossa coluna apareceu no services.cgi do Nagios, acesse o seu nagios através do browser:




Voilà!! Customizamos o Nagios!! E Viva o mundo open source!

quinta-feira, 10 de fevereiro de 2011

Extendendo partição raiz / (VolGroup00) com LVM

É normal que o seu sistema Linux com o passar do tempo consuma o filesystem, com aplicativos instalados e logs dos aplicativos que são gerados continuamente e vão logicamente consumido o seu disco, e como consequência disso ficamos sem espaço disponivel na partição root ou /. Existe uma maneira rápida, simples e transparente de incrementarmos mais espaço nessa partição, utilizando para isso a ferramenta LVM, onde podemos realizar esse ajuste de espaço se e somente o seu S.O foi instalado com LVM e foi configurado para a partição / utilizar o esquema de VG(Volume Group) da LVM, que geralmente é o VolGroup00, então isso significa que você porderá extender a sua partição.

Para descobrir essas informações no seu S.O utilize o seguinte comando:
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
25G  5.6G   18G  25% /
/dev/sda1              99M   13M   82M  13% /boot
tmpfs                 502M     0  502M   0% /dev/shm
/dev/mapper/VolGroupOracle-LogVolOracle
108G   29G   74G  28% /oracle
/dev/hdc              3.3G  3.3G     0 100% /mnt/dvd


Perceba que o filesystem da sua partição / é: /dev/mapper/VolGroup00-LogVol00 onde VolGroup00 é o Grupo de volumes, é ele quem extenderemos primeiramente, pois, o nosso volume lógico LogVol00, que é a partição /, é membro deste grupo. Logo em seguida após extendermos o Grupo lógico VolGroup00 extenderemos nosso Volume lógico LogVol00 que como já foi dito é a nossa partição root.

Então vamos lá:

Resumo da tarefa a ser realizada: Para poder extender um grupo lógico você deverá arranjar espaço de algum lugar, com LVM geralmente colocamos um novo disco rígido no servidor e após isso mudamos a tabela de partição deste novo disco para o tipo 8e(Linux LVM). Em seguida criamos um Phisical Volume a partir deste disco recém adicionado, PV ou phisical volume é um disco lógico utlizado pelo LVM. Criado o PV, extenderemos o nosso VG(Volume Group) que no nosso caso será o VolGroup00. Logo em seguida após extender o VG iremos extender o LV(Logical Volume) desejado ou em outras palavras a partição / e para finalizar iremos passar para o S.O a informação que extendemos um filesystem dele com o comando resize2fs.

Verifique o nome do dispositivo que foi colocado para seu HD recém adicionado:
#fdsik -l
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table

O dispositivo /dev/sdd está sem tabela de partição criada. Então iremos criar e coloca-la como tipo 8e(Linux LVM):
#fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
Using default value 130

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Partição criada:
#fdisk -l /dev/sdd
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         130     1044193+  8e  Linux LVM


Iremos agora para a parte do LVM, primeiramente criaremos um Phisical Volume(PV) com a partição que foi criada:

#pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created


Agora que já temos o PV iremos extender um Volume Group, que no nosso caso é grupo de volumes que contém a partição raiz / normalmente é chamado de VolGroup00, se não saber qual o nome do grupo der o comando abaixo:
#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
25G  3.7G   20G  17% /
/dev/sda1              99M   13M   82M  13% /boot
tmpfs                1006M     0 1006M   0% /dev/shm
/dev/mapper/VolGroupOracle-LogVolOracle
206G  188M  196G   1% /oracle


Identificado o Volume Group que contém a sua partição /, então, iremos extender esse VG passando para ele o dispositivo que contém o espaço livre, ou seja, o disco rigido recém adicionado na máquina:
#vgextend VolGroup00 /dev/sdd1
Volume group "VolGroup00" successfully extended


Pronto com o grupo já extendido vamos ver quanto de espaço livre este VG possui agora:
#vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 8.69 GB
PE Size 32.00 MB
Total PE 278
Alloc PE / Size 248 / 7.75 GB
Free PE / Size 30 / 960.00 MB
VG UUID Ll4Bg4-jIFV-lfut-z4Ae-JTfH-0Hzp-Zf9RjM


Agora sim iremos extender a nossa partição ou volume raiz / utilize o parâmetro Free PE do comando dado acima ele é o indice de espaço livre:
#lvextend -l+30 /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 8.19 GB
Logical volume LogVol00 successfully resized


Pronto! Agoramos que extendemos o nosso VG do LVM iremos passar esta informação para o S.O, pois, ainda não foi extendido o disco fisico propriamente dito, para extende-lo utilize o comando resize2fs:
#resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.40.2 (12-Jul-2007)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing
required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2146304 (4k)
blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2146304 blocks long.


df -T
Filesystem              Type     1K-blocks     Used Available Use% Mounted on
/dev/mapper/centos-root xfs       47781076 47095908    685168  99% /
devtmpfs                devtmpfs   1927272        0   1927272   0% /dev
tmpfs                   tmpfs      1937252        0   1937252   0% /dev/shm
tmpfs                   tmpfs      1937252     8488   1928764   1% /run
tmpfs                   tmpfs      1937252        0   1937252   0% /sys/fs/cgroup
/dev/sda1               xfs         508588   183388    325200  37% /boot
10.71.50.71:/var/log    nfs       49578752 20107264  26912512  43% /var/log/syslogserver
tmpfs                   tmpfs       387452        0    387452   0% /run/user/0


ATENÇÃO: Se estiver usando o SO CentOS 7, o sistema de arquivo padrão é xfs e o comando resize2fs dará erro. Use o comando abaixo:

 xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=2987776 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=11951104, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=5835, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 11951104 to 27689984




Pronto!!!! Se tudo correu bem você está agora com espaço livre em seu disco e na sua partição raiz /.
Simples!

Linux Magazine Community Edition 75 baixe já a sua Linux Magazine 75 Community Edition!


Já está no ar a Linux Magazine 75 Community Edition.

Confira nesta edição os principais assuntos da Linux Magazine de fevereiro (Android) e leia um artigo completíssimo sobre programação Palm para webOS, poderoso sistema móvel que pretende conquistar posições no mercado. Leia ainda um completo tutorial sobre SystemTap.

Baixe já a sua!

quinta-feira, 13 de janeiro de 2011

Linux Magazine Community Edition 73 baixe já a sua Linux Magazine 73 Community Edition!




Já está no ar a Linux Magazine 73 Community Edition.

Confira nesta edição os principais assuntos da Linux Magazine de fevereiro (Android) e leia um artigo completíssimo sobre programação Palm para webOS, poderoso sistema móvel que pretende conquistar posições no mercado. Leia ainda um completo tutorial sobre SystemTap.

Baixe já a sua!

Baixe já a sua Linux Magazine Community Edition 74



Já está no ar a Linux Magazine 74 Community Edition.

Confira nesta edição os principais assuntos da Linux Magazine de janeiro (Interoperabilidade) e leia a terceira parte do tutorial de Asterisk, um artigo de programação completo sobre trabalhar com pipes em shell scrip e um artigo sobre como monitorar os daemons do seu sistema.

Baixe já a sua!

Seguidores