Posts Tagged ‘gnu’

Use of uninitialized value in string ne at /usr/sbin/ddclient

Thursday, October 6th, 2011

Para sanar essa parada acessem:

http://www.appunix.com.br/howto/linux/use-of-uninitialized-value-in-string-ne-at-usrsbinddclient-line-1973/

 

Como extrair arquivos RAR (ou do WINRAR) no Ubuntu 10.04 (Lucid Lynx)?

Tuesday, June 29th, 2010

Se você, toda vez que tenta abrir (extrair) um arquivo rar recebe uma mensagem de erro informando que não consegue abrir o pacote, não se preocupe, é coisa simples de se resolver.

Os passos para o erro seguem-se na imagem abaixo:

Para resolver clique em Aplicativos -> Acessórios -> Terminal

No console digite:

sudo apt-get install rar

A saída deverá ser semelhante a isto (em uma plataforma x86):

Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Pacotes sugeridos:
unrar
Os NOVOS pacotes a seguir serão instalados:
rar
0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 556kB de arquivos.
Depois desta operação, 1192kB adicionais de espaço em disco serão usados.
Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/multiverse rar 1:3.9.b2-1 [556kB]
Baixados 556kB em 5s (95,7kB/s)
Selecionando pacote previamente não selecionado rar.
(Lendo banco de dados … 183480 arquivos e diretórios atualmente instalados).
Desempacotando rar (de …/rar_1%3a3.9.b2-1_i386.deb) …
Processando gatilhos para man-db …
Configurando rar (1:3.9.b2-1) …

Pronto, agora basta tentar extrair novamente que não mais ocorrerá o erro.

Abraços.

Ispconfig 2: how to create a park domain – como deixar um domínio acessar o conteúdo do outro como park no ispconfig

Monday, June 7th, 2010

Uma das coisas mais interessantes no IspConfig é sua capacidade de permitir customizações em tudo que você possa imaginar. Aproveitando esta “boquinha” vamos fazer algo diferente.
Parkear domínios no Parallels Plesk e no Whm/CPanel é coisa fácil, pois tudo é automatizado, mas isto não quer dizer que o bom e velho vim (ou qualquer OUTRO EDITOR) não entre em ação.

Para isto, precisamos logar-nos como root no servidor aonde iremos parkear domínios, e devemos (antes de mais nada) fazer backup do arquivo de configuração do apache, sendo assim use o comando:

cp -rp /etc/httpd/conf/httpd.conf /root/httpd.conf.OLD


Temos então um arquivo garantido para que, em qualquer eventualidade sirva para consulta ou possivelmente correção do arquivo mais recente.

Entremos no arquivo de configuração:

vim /etc/httpd/conf/httpd.conf

Vá para o final do arquivo e localize exatamente este trecho:


Options ExecCGI -Indexes
AllowOverride None
AllowOverride Indexes AuthConfig Limit FileInfo
Order allow,deny
Allow from all

Deny from all

Feito isto, o que devemos fazer é simples.
Sabendo-se que o ISPConfig lê um outro arquivo com os vhosts dos usuários web, devemos antecipar nossa configuração de maneira que a linha do ispconfig fique abaixo do nosso vhost.

Acima da linha com a informação:

Include /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf

Devemos fazer algo assim:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
Alias /cgi-bin/ /var/www/web100/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/web100/log/error.log
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode On
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /stats “/var/www/web100/web/webalizer”
Alias /error/ “/var/www/web100/web/error/”
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]

Perceba que no começo falei XXX.XXX.XXX.XXX, isto refere-se ao ip do seu dedicado (shared ip dos domínios :P )

Por este vhost pegue a coisa em cheio.

A charada está nas linhas:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br

1 – indica o parkeamento
2 – email do main domain
3 – arquivos web de onde o parkeamento vai ler assim que o internauta acessar a página www.nomedodominioparkeado.com
4 – indica o destino do parkeamento, ou seja, ao acessar www.nomedodominioparkeado.com a pessoa na realidade acessa dominiodestino.com.br, porém tendo no cabeçalho o nome www.nomedodominioparkeado.com (url de entrada no navegador)


OBS: CASO O ARTIGO NÃO EXIBA AS TAGS DO APACHE, POR FAVOR VERIFIQUEM JUNTO AO ARQUIVO /ETC/HTTPD/CONF/HTTPD.CONF.

Abraços e espero ter contribuído com um dia feliz para nós… lol.
bye!

Acompanhe o ENSOL pelo Streaming gigahost :D

Friday, May 7th, 2010

ENSOL IV

Pessoal, para quem está longe como eu vale a pena acompanhar o ENSOL.
A Qualidade do streaming tá bacana (conexão aqui de 1mb compartilhada).
Para profissionais com afinidade no globo de software livre vale a pena acompanhar.

Vide: http://ensol.gigahost.com.br/

Benchmarks do Red Hat 6 Beta: preocupação com o desempenho

Thursday, April 22nd, 2010


Antes de mais nada é bom saber que os testes realizados em cima do Red Hat 6 foram baseados em plataforma beta.
Entretanto, uma das coisas que não gostei (principalmente por evangelizar na web que Red hat/Centos são os mais rápidos ambientes Webs em Lamp) foi o desempenho do Rhel 6 com uso do Apache.
O CentOs foi melhor (5.4) nas requisições.

A matéria completa está no fim deste post.
Espero que o Red Hat stable esteja bem tunado, por que até o momento, no que diz respeito ao Apache, ele foi uma carroça :( .

http://www.phoronix.com/vr.php?view=14826

Red Hat 6 beta está disponível!

Wednesday, April 21st, 2010

Certeza que esse release uma hora iria aparecer eu tinha.
Segundo a própria Red Hat o maior foco foi na Virtualização, veja:

The major themes of the release include pervasive virtualization, improved scalability and availability, increased power efficiency, and delivery of some of the latest software technologies. In line with today’s Beta availability, we’ll briefly highlight a few of the new and noteworthy improvements:

* Comprehensive power management capabilities
Time-keeping improvements within the kernel allow the system to transition processors that do not have active tasks into the idle state more frequently. This leads to cooler CPUs and greater power savings compared to previous releases. New monitoring tools like powertop are designed to help pin-point power consumption issues that can be resolved in order to further reduce power consumption. New tuning tools like “tuned,” which is an adaptive system tuning daemon, allow the system to adjust power consumption based on analysis of service usage patterns.
* Performance enhancements
Red Hat engineers have played key roles in the upstream development of a wide range of kernel performance enhancements that we plan to feature in Red Hat Enterprise Linux 6. This includes a complete rewrite of the process scheduler so that it more fairly shares compute cycles among processes and provides more determinism by enabling higher-priority processes to run with minimal interference from lower-priority processes. Additionally, there are a substantial range of multi-processor lock synchronization enhancements. For example, elimination of unnecessary locking occurrences, replacement of many spin locks with sleep locks and implementation of more efficient locking primitives. These foundational changes impact a number of kernel subsystems.
* Scalability enhancements
Recent hardware launches have resulted in significant growth in commodity computing platforms. For example it is now possible to have 64 CPUs and 2TB of memory in a 5U rackmount form factor. These systems and their successors are approaching the scalability limits of Red Hat Enterprise Linux 5. A primary feature of Red Hat Enterprise Linux 6 is that it is designed to provide the scalability to handle systems well into the future. Capabilities range from optimized support for large CPU counts and memory configurations to the ability to handle an increased number of system-interconnect buses and peripherals. These capabilities are appropriate for both bare metal and virtualized environments as virtualization becomes as pervasive as bare metal deployments.
* New security features
A new service called the System Security Services Daemon (SSSD) provides central management of identities. It also has the ability to cache credentials for offline use. The new SELinux sandbox feature allows execution of untrusted content in an isolated environment designed not to impact the rest of the system. This includes the ability to isolate any virtualized guest running on Red Hat Enterprise Linux 6.
* Resource management
Fine-grained control, allocation and management of hardware resources is available with the help of a new framework called Control Groups or cgroups. cgroups work at the process group level and can be used to manage resources ranging from CPU, memory, network and disk I/O for applications. This framework is also used to manage virtual guests.
* Virtualization
Red Hat Enterprise Linux 6 builds on the integrated KVM-based virtualization provided by earlier Red Hat Enterprise Linux releases. Incorporating numerous performance, scheduler and hardware support enhancements, it offers improved flexibility and control regardless of the deployment model.
* Storage
Support for network block storage via FCoE and iSCSI protocols make it possible to perform online re-size of mirrored and multipath volumes using LVM/DM.
* File system
This release includes the ext4 file system. As the next generation of the extended filesystem family, it includes support for larger file sizes, more efficient allocation of disk space, better file system checking and more robust journaling. In addition to ext4, the XFS® filesystem is also expected to be available. XFS® is well suited for extremely large file and directory sizes and includes features such as the ability to defragment and re-size the filesystem while active. NFS has been updated to version 4, which includes support for IPv6.
* Reliability, availability and serviceability (RAS)
This release leverages new hardware capabilities to offer features such as hot-add of devices and memory, and enhanced error checking for PCIe devices via AER. It also is expected to include advanced data integrity features (DIF/DIX) that validate data from application to platter via hardware checksums. The introduction of ABRT (Automated Bug Reporting Tool) provides a more consistent way to identify and report system exception conditions like kernel failures (kernel oops) and userspace application crashes.
* Compiler and tools
The GCC compiler has been updated to version 4.4. This version complies with the C++ 0x standard draft. It also conforms to OpenMP 3.0 and includes many debugging capabilities. SystemTap improvements include better support for user-space probing, a more secure script-compile server and a new unprivileged mode that allows non-root users to access SystemTap. Additionally, there are many other libraries that have been updated to the latest versions, as well as additional languages and runtime environments, including the complete LAMP stack and OpenJDK.
* Desktop
This release introduces automatic detection of display types and support for multiple displays. We have also included updated nouveau drivers to support NVIDIA graphics devices. Of course, no release would be complete without significant updates to the GNOME and KDE desktops.

Toda nota oficial pode ser encontrada em:

http://press.redhat.com/2010/04/21/red-hat-enterprise-linux-6-beta-available-today-for-public-download/

como listar a memória do cumputador ou placa-mãe no linux how to list memory or motherboard pc or server on console

Wednesday, February 24th, 2010

Tá, isso aí é dúvida de muuuuuuita gente, mas é algo simples.
As vezes precisamos fazer perícias para saber se uma aplicação/daemon será compatível com nossa estrutura de dispositivos (arquitetura, fsb, chipset e etc), e para isto precisamos de informações beeeeem detalhadas.
Abaixo descrevo alguns comandos que acho bacana:

lspci
Este comando lhe dá um detalhe bem legal sobre dispositivos pci em seu pc.
Em um pc simples a saída fica mais ou menos assim:

00:00.0 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. KM400/KN400/P4M800 [S3 UniChrome] (rev 01)

Para informações beeem detalhadas use lspci -vv
(use os camandos como root).

lshw
Este comando é muito amigável e lhe dá um resumo bem bombado sobre seu hardware (memória, cpu e etc).
Em alguns casos ele consegue informar a frequência da memória (isto mesmo, ddr 1066 por exemplo).
Esse comando (na minha opinião) deve ser usado da seguinte forma:

lshw | more

O pipe “|” + more serve para paginar a saída de maneira que você possa ver pausadamente.

A saída deste comando é beeem legal, veja um pedacinho da saída falando de memória:

*-memory:0
description: System Memory
physical id: 40
slot: System board or motherboard
size: 4GiB
*-bank:0
description: DIMM 667 MHz (1.5 ns)
product: None
vendor: None
physical id: 0
serial: None
slot: DIMM_B1
size: 2GiB
width: 64 bits
clock: 667MHz (1.5ns)

Legal né?

Arquivo cpuinfo
Essa é uma das formas mais simples de saber que flags seu processador tem, qual velocidade dele, memória cache (L1, L2…) e etc.
Use da seguinte forma:

cat /proc/cpuinfo
A saída deste comando deve sair parecida com esta:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Pentium(R) 4 CPU 3.40GHz
stepping : 10
cpu MHz : 3400.425
cache size : 2048 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc up pni monitor ds_cpl est cid cx16 xtpr lahf_lm
bogomips : 6805.08

Legal!

arquivo devices
Esse é um meio muito resumido e particularmente não gosto muito, mas segue a dica:
cat /proc/devices

Mostra os dispositivos resumidamente (no estilo lsmod).

Arquivo meminfo
Este arquivo lhe informa memória com um pouco mais de detalhes:
cat /proc/meminfo

Comando dmesg
Esse comando é muito legal, precisa somente de um extrinha:
use-o com o more!

dmesg | more

Normalmente a saída é enorme.
O comando dmesg dá um resumo do startup do sistema operacional lgnu/linux, assim como detalha em um rápido processo as coisas boas e ruins que estão ocorrendo com o sistema. (MUITO ÚTIL).
Erros de boot, erros de kernel, dispositivos desconhecidos e etc!

dmidecode
O comando dmidecode é um monstro. Esse comando dá todos os detalhes de hardware (isto mesmo, informe até o modelo da placa-mãe).
Utilize-o da seguinte forma:

dmidecode | more

Um pouco da saída:

System Information
Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
Product Name: MS-7071
Version: 1.00
Serial Number:
UUID: Not Present
Wake-up Type: Power Switch

Esse comando é uma mãe! Isto mesmo, muito bom para saber as informações detalhadas de uma motherboard, sem contar que você pode colher as informações de chipset e modelo da placa-mãe, podendo assim até consultar informações direto do fabricante.

Abraços a todos e espero que este post tenha sido útil.

Gestor de smart trabalha de maneira eficiente no Ubnutu Karmic e revela problemas antes que ocorram

Saturday, January 23rd, 2010

Uma das coisas que mais gosto no Ubuntu é a sua facilidade de uso e principalmente a forma eficaz que ele gerencia o sistema em si. Estive com um notebook “aposentado” por 4 meses devido a falta do drive de cd-rom (na realidade já não lê nada… rsrsrs). Esperei um bom tempo afim de que uma manutenção fosse realizada (substituição, na realidade era isso) e não consegui achar o bendito drive com preço acessível.

Pensei comigo o que iria fazer, quer fosse um servidor PXE para instalar alguma coisa, quer fosse pegar um drive emprestado (gaveta externa de cd-rom ou cd-rom externo), e nada disso me veio a cabeça.

Pensei em algo mais simples e cheguei a conclusão que instalar o Ubuntu via USB seria a coisa mais simples e amigável do mundo (foi, sem contar a altíssima velocidade, em ver um Celeron 1.5 com 1gb de ram instalado em 12 minutos é de surpreender qualquer peixão).

Após instalar meu bombástico S.O. acabei percebendo que a “aposentadoria” não fez muito bem para o Tux, o smart relatou problemas (coisa que NUNCA iria imaginar, principalmente homem que só vai ao médico quando já está morrendo com dores).

Ao terminar meu upgrade de versão para o Karmic Koala eu startei o S.O. com euforia e ao me deparar com o desktop recebi a notícia de que o disco não estava indo muito bem, por fim, compreendi que apesar da notícia ruim, meu Ubuntu foi mais que um amigo em me avisar o que poderia ocorrer “na calada da noite”!

Segue screenshot:

Este é um sistema amigo, rsrsrs, avisa tudo (mesmo que possa causar uma dorzinha no coração).

Abraços galera!

Converter imagem NRG para ISO (imagem nero para ISO) no UBUNTU

Tuesday, November 17th, 2009

Ultra simples :)

Faça isto aqui:

sudo apt-get install nrg2iso

Após instalar use a sintaxe (na linha de comando – cli):

nrg2iso /caminho/do/meu/arquivo.nrg /destino/do/meu/arquivo.iso

Pronto :P

Webmail no cpanel whm não envia mais mensagens

Wednesday, November 4th, 2009

Se você tem certeza que o firewall está liberando as portas de email (143, 25, 110) e que seu serviço está operando normalmente no whm cpanel a saída está aqui:

/scripts/autorepair net_smtp_fix

Abraços e caso funcione eu quero 1 caixa de Bis!

Failed loading /usr/local/Zend/lib/Optimizer-3.3.3/php-5.1.x/ZendOptimizer.so: /usr/local/Zend/lib/Optimizer-3.3.3/php-5.1.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied OU COM IONCUBE

Monday, September 14th, 2009

Se você instalou o IONCUBE no CENTOS/RedHat/Fedora, NÃO entre em pânico se recebeu a mensagem acima ou algo bem semelhante (com compontente da zend). Há uma probabilidade monstruosa do problema estar ocorrendo por causa do SELINUX. Para sanar esse problema rode:

/usr/sbin/setenforce 0

OU

edite o arquivo /etc/selinux/config colocando no lugar de enforcing a informação disable.

Reinicie seu server e depois seja feliz :P

Plesk 8 e Plesk 9 Como modificar páginas de erros personalizadas how to change customized error pages on plesk

Tuesday, March 24th, 2009

No meu blog littleoak eu fiz um how para isto:

http://littleoak.wordpress.com/2009/03/24/plesk-8-e-plesk-9-como-modificar-paginas-de-erros-personalizadas-how-to-change-customized-error-pages-on-plesk/

Removendo propagandas Virtuozzo e TopNews – propagandas no parallels plesk

Tuesday, March 10th, 2009

Na versão 8.0 a SWsoft resolveu “incluir” certas opções no Plesk que na verdade funcionam como propaganda e divulgação de outros produtos, vamos ver como remove-las passo a passo:

1. Navegue até: Servidor > Gerenciamento da Interface >Interface preferences
2. Marque os itens abaixo para esconder as opções

Hide newsfeeds – Selecione para esconder notícias em inglês no Horde
Hide Virtuozzo promotion – Selecione para esconder opção do menu no plesk
Hide Fotolia promotion – Marque para esconder o botão de compra de imagens online do painel do domínio
Esta feito!

fonte: http://www.swsoftbrasil.org/index.php?option=com_content&task=view&id=78&Itemid=68

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Friday, February 27th, 2009

Gnu/Linux e suas dificuldades na usabilidade (diversidade que pode matar)

Gnu/Linux sem dúvidas é a prática mais comum no mundo do Software Livre, em outras palavras, é o meio mais fácil e mais comum do mundo Open Source estar declarado em nosso dia-a-dia. Temos ferramentas de uso diário, que são open source e não percebemos, mas quando nos deparamos com o Gnu/Linux nós podemos afirmar – este realmente é free software (ainda que não tenhamos um conceito muito forte do que realmente é software livre, que muitos infelizmente interpretam como software gratuito). Isto, sem sombra de variação é muito fabuloso, pois este excelente sistema que já mostrou do que é capaz, e o melhor, deixou claro que tem seu código aberto para customizações e forks, estando disponível para qualquer pessoa, aonde quer que esteja.
Ao longo de 12 anos de convívio com o Gnu/Linux (tendo somente 5 anos como profissional neste ramo, prestando serviços, e outros 7 “ouvindo falar bem”) pude perceber algumas “metamorfoses” que não vieram e fixaram um conceito amigável de usabilidade.
Vou detalhar isto de maneira abrangente para que fique claro o que realmente desejo expor, a dificuldade na curva de aprendizado, devido a variações muito pesadas nas distribuições Gnu/Linux.
Em 1997 possuía um computador Pentium 133 mhz mmx 100% off-board e tenho um irmão que na época estava fazendo cursos da Conectiva (uma distribuição Gnu/Linux que tinha um corpo técnico que prestava consultoria e cursos), tendo assim um impulso forte para instalação desta distribuição, o que me fez “saber que existia um sistema operacional diferente do Windows 95”, sem contar que no ano seguinte o Macintosh havia se tornado “mais uma daquelas descobertas milenares”. Naquela “descoberta” ouvi falar que ele era Free Software, mas confesso que não fez diferença para mim.
Os anos se passaram, para ser mais preciso 7 anos, e depois de tantas tentativas de me familiarizar com “aquela tela preta, parecia de mais com o MS-DOS”, consegui instalar uma distribuição chamada Slackware. Levei a sério, e fui tomando gosto.
Na época o melhor guia, ou documentação brasileira disponível (ainda está disponível) é o perfeito e completo GuiaFoca, um manual do Gnu/Linux, baseado no Debian, mas operando de maneira simples e direta em outras distribuições.
Passei um ano estudando sem cessar este sistema operacional maravilhoso, o que me fez implementar algumas soluções baseadas em Software Livre no SENAC-PB, empresa que trabalhei durante 3 anos. Adquiri um conhecimento sólido nesta plataforma, mas com o passar do tempo necessitei partir para outras como Red Hat Enterprise, por exemplo, sem contar as distribuições desktop que estavam bombando nesta fase. Com a saída da antiga empresa para outra que prestava consultoria não obtive dificuldades em implementações para clientes, principalmente pelo fato do Slackware ser muito flexível e “bastante Unix”, não senti nada difícil nos primeiros meses.
Nesta etapa eu entendi quais os problemas que as distribuições Gnu/Linux sentiam, isto aos olhos do usuário final, por que o nível de curva de aprendizado torna-se alto quando entramos em uma distribuição comercial. Para que se tenha uma idéia, o CentOS (remasterização do Red Hat Enterprise, respeitando direitos autorais e imagens da instituição), caso seja instalado como servidor, com poucos pacotes default você não terá a ferramenta ifconfig disponível, mas espere, ifconfig é um utilitário disponível em todas as distribuições, isto é padrão, e nem todas usam o system-config. Quantas usam dpkg, apt ou aptitude? Quantas tem o RPM como gestor de pacotes? O Yum? O Yast, Yast2?
Sabemos que são particularidades em cada distribuição, e que tais particularidades visam a automatização de determinadas tarefas que comumente estão vinculadas com o sistema operacional que as implementam.
Neste momento entram as divergências em geral, pois entendemos que comandos básicos sempre serão respeitados, e que seus manuais são preservados de uma distribuição para outra, mas que nem sempre estão no mesmo lugar.
Localidades na árvore de estrutura de dados, nomes de arquivos de configuração, modalidade de configuração de rede a nível de arquivo e forma com que containers web trabalham é muito diversificada em cada distribuição. Isto dificulta no momento de colocar na cabeça de algum xiita de códigos fonte proprietários que o Gnu/Linux é bom!
Observem o estouro e magnitude de distribuições como Ubuntu e Fedora, a nível desktop, vejam o quão abrangentes e aceitáveis elas são, e o mais importante, o quão bem documentadas elas são, mas em uma suave visão diferenciada, tente usar os conceitos aprendidos em cada uma delas em um Gentoo, CentOs ou OpenSuse, talvez você não queira mais usar Gnu/Linux, ou melhor, fará distinção por conhecer todas as ferramentas/utilitários de uma e de outra não.
Deixo claro que o Gnu/Linux é a escolha certa para quem não quer dores de cabeça futuras, quer estabilidade e o melhor, segurança de suas informações garantidas por sistemas que têm geeks de milhares de lugares dedicando-se na provisão de códigos de altíssimo nível e de escalabilidade monstruosa.
Minhas recomendações para marinheiros de primeira viagem:

• Use Ubuntu/Fedora para desktop, principalmente o Ubuntu que permite upgrades de versão do Sistema Operacional de maneira mais segura,
• Use CentOs/Ubuntu/Slackware ou Debian em seus servidores, principalmente Ubuntu/Debian que permitem upgrades de versões sem maiores dores de cabeça,
• Use Ubuntu/Fedora em escritórios, principalmente por sua quantidade enorme de drivers (módulos) para impressoras e etc.

Existem outras distribuições Gnu/Linux que têm tido muito prestígio, como por exemplo cito o Mandrake, empresa que assumiu a Conectiva e que tem se destacado pela ampla gama de produtos e suporte de qualidade, sendo hoje conhecida como Mandriva. OpenSuse, outra distribuição muito respeitada, versão Grátis e de código fonte aberto, 100% baseada no Suse Enterprise, mantido pela comunidade open source do mundo inteiro, esta é bastante amigável também.
Lembre-se que uma distribuição deve primar por conceitos de segurança, estabilidade e alto desempenho, principalmente, deverá ser bem documentada, e trivialmente falando, documentada maciçamente sobre suas ferramentas em particular.
Gestores de pacotes também são algo que tornam a problemática maior, por que os pacotes .DEB e .RPM imperam, seguidos de seus gestores deb/apt/aptitude e RPM/up2date/yum. Sabemos que é simples compilar algo (em alguns casos, devido requerimento de paths para libs a situação poderá complicar-se) e ajustar paths de destino, mas nem tudo isto brilha aos olhos dos mantenedores de software, tanto pelo nível de dificuldade avaliado para compilações e geração de source pré-compilado na plataforma como pela simplicidade de gestão (upgrade, downgrade e patching em geral).
Quanto ao GuiaFoca, este ainda é a melhor alternativa em documentação Gnu/Linux (falando de maneira geral), mas não atenha-se ao mesmo pois as distribuições estão mudando e agora parecem que estão tomando “independência” ou pensam em seguir assim, longe de padrões LSB.
Aprender sempre é bom, mas não atenha-se a distribuições muito individualistas, isto poderá complicar sua vida em um futuro muito próximo, principalmente no que tange ciclo de vida da versão do sistema ou até descontinuidade do projeto adotado por você ou por sua empresa (vide distribuições como Kurumin que tinham excelente iniciativa, mas que estão agonizado neste momento, Conectiva – adquirida pela Mandrake e outras).

As particularidades excessivas das distribuições estão levando as distribuições que adotam esta modalidade de negócio/serviço para uma ilha de destaque e talvez solidão.

Muito cuidado com sua escolha!

Abraços a todos e bom trabalho/estudo.

Ajustando o Timezone do Ubuntu – Como corrigir o timezone do ubuntu

Friday, February 27th, 2009

Se você está com o timezone ferrado em seu Ubuntu não deixe de acessar o console e corrigir isto assim:

sudo tzselect

Escolha Sim, Brasil, Sua área (a minha tinha de ser São Paulo), logo após, use o comando:

ntpdate ntp.ubuntu.com

e cheque a data com:

date

Isto deverá imprimir algo como:

Sex Fev 27 00:22:47 BRT 2009

Abraçoooooos!

Ubuntu Server, usei e confiei

Thursday, February 5th, 2009

Boa tarde a todos,

Não vim aqui como xiita ou como “cannonizador”, muito pelo contrário, vim deixar a minha adimiração por uma das distribuições mais amigáveis que já vi em toda a minha vida.

Sou um amante do Slackware Gnu/Linux e um observador do CentOs (+ fedora/rhel), todavia eu conheço o poderoso Debian, que tem sua “fatia” no mercado Gnu/Linux.

A Questão maior aqui é -> Por que escolhi, por que confiei e por que recomendo?

Vamos lá!

Em 2007 eu já estava afinado com o ubuntu Desktop e havia sido divulgado que o Ubuntu teve um repositório invadido (pacotes comprometidos e coisas do gênero).

Fiquei com um pé atrás e deixei a versão server “ir catar coquinhos”!

No ano de 2008 resolvi dar uma chance a esta versão (detalhe, já utilizava há muito tempo o Slackware em servidores), foi quando baixei o Ubuntu 8.04 Server 32 bits e instalei em uma máquina muito poderosa, a saber segue uma foto da mesma:

16-07-08_1244

Pois é, de posse da imagem você já deve saber que isto aí é uma SLI Premium + athlon x2 + 2 gb de ram + sata 2 + nvidia pci express.

Esse “tornado aí” também está “gemendo” em sua missão dolorosa, o mesmo opera com os serviços:

apache 2,
mysql 5,
php 5.2.6,
zoneminder (current),
Samba (current),
proxy-cache,
firewall + gateway de internet.

Vou colar o load da “criança”:

top – 14:43:29 up 72 days, 32 min,  1 user,  load average: 37.34, 37.36, 37.44
Tasks: 255 total,   1 running, 219 sleeping,   0 stopped,  35 zombie
Cpu(s):  4.0%us,  4.5%sy,  0.0%ni,  0.0%id, 91.0%wa,  0.0%hi,  0.5%si,  0.0%st
Mem:   2074460k total,  2023356k used,    51104k free,   125968k buffers
Swap:  6072528k total,      216k used,  6072312k free,  1471032k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
7499 www-data  20   0  139m  12m  10m S    2  0.6  14:26.22 /usr/local/bin/zma -m 9
7511 www-data  20   0  139m  12m  10m S    2  0.6  14:08.16 /usr/local/bin/zma -m 6
7503 www-data  20   0  139m  12m  10m S    1  0.6  14:30.52 /usr/local/bin/zma -m 7
7507 www-data  20   0  139m  12m  10m S    1  0.6  14:05.84 /usr/local/bin/zma -m 8
7566 www-data  20   0  184m  56m  53m S    1  2.8   3:17.83 /usr/local/bin/zmc -d /dev/video0
24880 root      20   0  1920  808  592 D    1  0.0   1:34.47 /bin/cp -rp /var/www/zm/events/ /home2/camera
24913 root      20   0  1920  808  592 D    1  0.0   1:34.49 /bin/cp -rp /var/www/zm/events/ /home2/camera
24925 root      20   0  1920  816  592 D    1  0.0   1:34.82 /bin/cp -rp /var/www/zm/events/ /home2/camera
24938 root      20   0  1920  812  592 D    1  0.0   1:29.43 /bin/cp -rp /var/www/zm/events/ /home2/camera

Sinceramente, um verdadeiro warrior, visto que um load tolerável é algo girando em torno de 1.5 ou 1.6.
Utilizando o mesmo desta forma, já contemplo a plataforma 5 meses online sem sequer travar ou demonstrar instabilidade.

Quando trabalhava para uma conhecida instituição eu usei muito o slackware, mas agora confesso que sinto-me tentado na hora de montar um servidor.

Mas vai minha humilde dica:
Use slackware se realmente você sabe o que quer e se você realmente sabe utilizar/configurar os recursos necessários para sua demanda. Slackware é muito enxuto, por isso cuidado com o que vai instalar, por que possivelmente você pode não estar munido de libs, e aí meu caro, ./configure –… copiou a idéia?

Use ubuntu seguindo o pensamento anterior, porém com a certeza do aptitude ou apt-get estarem sempre disponíveis para tirar você da lama!

Abraços…

bye
=]

Apresento-lhes o EXT 4, um tour no ext4, sistema de arquivos ext4

Sunday, December 28th, 2008


Está é uma tradução livre do texto originalmente publicado aqui: http://kernelnewbies.org/Ext4. Meu inglês não é muito bom, e por essa razão traduzi este texto, e outros textos que podem vir a ser postado em meu blog, para melhorar ele. Caso encontrem erros, o que é provável que aconteça, me informe (andreoandre <> gmail <dot> com ) para corrigir e manter o texto atualizado.

Introdução

Ext4 é a evolução do sistema de arquivos mais usados no Linux, o Ext3. De muitas maneiras, Ext4 é uma profunda melhoria sobre o  Ext3, sendo o Ext3, com muitas melhorias frente o Ext2. No Ext3 foi principalmente a adição de Journaling sobre o Ext2, mas Ext4 teve mudanças importantes na estrutura do sistema de arquivos destinado ao armazenamento de dados. O resultado é um sistema de arquivos com um designer aperfeiçoado, melhor performance, confiável e com muitos recursos.


Recursos do Ext4

Compatibilidade

Um sistema de arquivos Ext3 existente, pode ser migrado para Ext4 com um procedimento fácil, onde consiste a execução de um casal de comandos em modo “read-only” (descrito na próxima seção). Por meio disto você melhora a performance, limites de armazenamentos e recursos do sistema de arquivos corrente, com ou sem a “reformatação” e/ou reinstalação do SO e softwares “environment”. Se você precisa das vantagens do Ext4 em um sistema em produção, você pode atualizar o sistema de arquivos. O processo é seguro é não há riscos para seus dados (obviamente, fazer backup de dados críticos é recomendado, pois você está atualizando seu sistema de arquivos). O Ext4 vai usar uma nova estrutura de dados somente em novos dados, a estrutura antiga continuará intocada, é será possível para leitura/escrita se for preciso. Desta forma, é claro, assim que uma vez convertido o sistema de arquivos para Ext4, você não vai poder voltar para o Ext3 novamente (embora há uma possibilidade, descrita na próxima seção, montando um sistema de arquivos Ext3 com Ext4 com ou sem o uso de um novo disco formatado, e você poderá montar com o Ext3 novamente, porém você irá perder todas as vantagens do Ext4).

Sistema de arquivos ou arquivos grandes

Atualmente, Ext3 suporta 16TB de tamanho máximo no sistema de arquivos, e 2TB de tamanho máximo de um arquivo. Ext4 adiciona 48-bit endereçados, obtendo assim 1EB de tamanho máximo de sistema de arquivos e 16TB de tamanho máximo de arquivos. 1 EB = 1,048,576 TB (1 EB = 1024 PB, 1 PB = 1024 TB, 1 TB = 1024 GB). Porque 48-bit e não 64-bit? Há algumas limitações daquele que pode precisar que seja fixado antes da construção do Ext4 enchendo a capacdade de 64-bit, no qual não tem como ser endereçado no Ext4. A estrutura de dados do Ext4 tem que ser desenhada mantendo em mente, um recurso de atualização para o Ext4 implementando completamente suporte a 64-bit até algum ponto. 1EB pode ser suficiente (realmente enquanto isso acontecer). (Note: o código para criar sistemas de arquivos grandes como 16TB não é estável nas versões do e2fsprogs).

Escabilidade de subdiretórios

Atualmente a possibilidade máxima de número de subdiretórios contendo um único diretório no Ext3 é 32.000. Ext4 quebra esse limite, e possibilita um número ilimitado de subdiretórios.

Extends

Os tradicionais sistemas de arquivos derivados do Unix como o Ext3, utilizam um esquema de mapeamento indireto de blocos para manter cada trilho do bloco usado correspondente no dado de um arquivo. Isto é ineficiente para arquivos grandes, especialmente um arquivo grande deletado e/ou operações “truncate”, porque o mapeamento mantém uma entrada para muitos blocos únicos, e grandes arquivos tem muitos blocos – > mapeamentos enormes, lentidão para o manuseio. Os sistemas de arquivos modernos usam uma abordagem diferente chamada “extends”. Um extends é basicamente um punhado de blocos físicos continuo. Isto pode ser basicamente definido: “Os dados no próximo bloco n”. Por exemplo, um arquivo de 100MB pode ser alocado em um único extends deste tamanho, em vez de precisar da criação de um mapeamento indireto para 25600 blocos ( 4KB por bloco). Arquivos grandes são divididos em diversos extends. Extends melhora a performance e também ajuda a reduzir a fragmentação, uma vez que incentiva o continuo “layouts” do disco.

Alocação multiblock

Quando o EXT3 precisa de nova escrita de dados no disco, há um alocador de blocos que decide quais blocos livres deverá ser usado para a escrita do dado. Mas o alocador de blocos do Ext3 somente alocar um bloco (4KB) em um momento. Esta forma que o sistema precisa para escrever 100MB de dados mencionado anteriormente em outro ponto, será necessário para chamar o alocador de blocos 25600 vezes (isto simplesmente para 100MB!). Não só isto é ineficiente, como também não permite que o bloco de alocação utilize a política de alocação porque ele não sabe como o total de muitos dados deve ter a alocação iniciada, ele apenas conhece sobre um simples bloco. Ext4 usa “multiblock allocator” (mballoc), no qual, aloca muitos blocos em uma simples chamada, em vez de um simples bloco por chamada, evitando um monte de overhead. Isto melhora a performance, e é especialmente útil com “alocação atrasada” e extends. Este novo recurso não afeta o formato do disco. Também, note que o Ext4 blocos/inode tem outras melhorias no alocador, descrição e detalhes neste documento (http://ols.fedoraproject.org/OLS/Reprints-2008/kumar-reprint.pdf).

Atraso na alocação

Atraso na alocação (http://en.wikipedia.org/wiki/Allocate-on-flush) é um recurso de performance (isto não muda o formato do disco) encontrado em poucos sistemas de arquivos modernos, tais como o XFS, ZFS, btrfs ou Reiser 4, que constitui em um atraso na alocação de blocos tanto quando possível, contrário aos tradicionais sistemas de arquivos (tais como o Ext3, Reiser3, etc) fazem: alocando os blocos com a maior brevidade possível. Por exemplo, em um processo de escrita, o código do sistema de arquivos irá atribuir imediatamente os blocos quando os dados forem coletados – mesmo se os dados não estiverem sendo escritos agora para o disco, eles vão ser mantidos em cache durante um tempo. Esta abordagem tem algumas desvantagens.Por exemplo, quando um processo esta escrevendo continuamente em um arquivo, crescente, sucessivamente sendo escritos atribuindo blocos para os dados, mas ele não sabe se o arquivo se manterá crescente. Atrasando a alocação, por outro lado, não afetaria os blocos imediatamente quando o processo de escrita, sim, ela atrasa a alocação dos blocos, enquanto o arquivo é mantido em cache, até que ele esteja realmente indo para escrito no disco. Isto da ao bloco de alocação a capacidade de alocar em situações em que sistemas antigos não poderia. Atraso na alocação trabalha muito bem com as duas características anteriormente mencionadas, extents e alocação multiblock, porque, em muitos casos um trabalho em que o arquivo é gravado para o último disco que será atribuído em blocos extends, cuja alocação é feita com o mballoc. O desempenho é muito melhor, e a fragmentação é muito melhorada em alguns workloads.

fsck rápido

Fsck é uma operação muito lenta, especialmente o primeiro passo: checagem de todos os inodes em um sistema de arquivos. No Ext4, até o fim de cada grupo da tabela de inode estará armazenado uma lista de inodes inutilizados ( com checksum, por segurança), assim o fsck não irá checar estes inodes. O resultado final é que o tempo do fsck melhorou de 2 a 20 vezes, dependendo do número usado de inodes (http://kerneltrap.org/Linux/Improving_fsck_Speeds_in_Ext4). Deve-se notar que é o fsck, e não o Ext4, que irá montar a lista de inodes inutilizados. Isso significa que você deve executar o fsck para obter a lista de inodes inutilizados construída, e só na próxima execução do fsck será mais rápida (você precisa passar o fsck, a fim de converter um ext3 filesystem para Ext4 de qualquer forma). Há também uma característica que ajuda a acelerar o fsck – “flexible block groups” – que também acelera as operações em arquivos.

Journal checksumming

O Journal é mais utilizado na parte do disco, construindo os blocos mais propensos a falhas de hardware. A recuperação de um  journal corrompido pode levar a uma corrupção massiva. Ext4 checksums do dados de journal verificando se os blocos de journal estão falhando ou corrompendo. Mas “journal checksumming” tem um bonus: ele permite para conversão e gravação em duas-fases, sendo no Ext3 o journal em única fase, acelerando a operação no sistema de arquivos para mais de 20% em alguns casos – assim a reabilitação e a performance são melhoradas ao mesmo tempo (Nota: parte dos novos recursos e melhorias de performance, e “asyncrhonous logging”, está desativada por padrão e será ativada em versões futuras).

Desfragmentação Online

(Este recurso não está disponível no 2.6.28, mas provavelmente estará disponível na próxima versão). Enquanto o atraso de alocação, extends e alocação multiblock ajuda a reduzir a fragmentação, em uso de sistemas de arquivos que podem estar fragmentados. Por exemplo: Você escreveu três arquivos em um diretório e “contigually” no disco. Algum dia você irá atualizar o arquivo médio, mas o arquivo atualizado cresceu um pouco, portanto não há espaço para ele. Você não tem nenhuma opção, além do excesso fragmentado de dados para outro local do disco, o que irá causar uma procura, ou alocar a atualização do arquivo “contigually” em outro lugar, longe dos dois outros arquivos, resultando em uma procura se uma aplicação necessitar ler todos os arquivos no diretório (digamos, um gerenciador de arquivos fazendo thumbs em um diretório cheio de imagens). Além disso, o sistema de arquivos só pode preocupar-se com certos tipos de fragmentação, não é possível saber, por exemplo, que deve manter todos os arquivos relacionados com o “boot-related”, porque não sabe quais arquivos estão relacionados com a inicialização. Para resolver este problema, Ext4 apoiará online fragmentação, e há uma ferramenta, e4defrag, que pode desfragmentar arquivos individuais ou todo o sistema de arquivos.

Recursos relacionados aos Inodes

Aumento de inodes, timestamps em nano segundos, rápida alocação extends, reserva de inodes…

* Aumento de inodes: Ext3 suporta a configuração de tamanho de inode ( pelo parâmetro -l do mkfs), mas o tamanho padrão de inode é 128 bytes. Ext4 tem como padrão 256 bytes. Isto é necessário para acomodar algumas características extras (como o timestamp em nano segundos ou versonamento de inodes), e o espaço restante do inode será utilizado para armazenar atributos extends suficientemente pequenos para caber nesse espaço. Isto facilitará o acesso aos atributos com maior agilidade, e melhora no desempenho das aplicações que usem alocação extend por um fator de 3-7 vezes.

* A reserva de inode consiste em alocar vários inodes quando um diretório é criado, esperando que eles sejam utilizados no futuro. Melhorando a performance, porque quando novos arquivos forem criados neste diretório, eles serão capazes de utilizar os inodes reservados. Portanto a criação de um arquivo, como também a ação de apagar o mesmo, será mais eficiente.

* timestamps em nano segundos significa que áreas com “tempo modificado” sejam capazes de usar resoluções em nano segundos em vez de segundo como no Ext3.

Persistência na pré-alocação

Este recurso, disponível no Ext3 e em versões anteriores do kernel, e emulado para glibc em sistemas de arquivos sem suporte a isto, permitindo que aplicação pré-alocarem espaço em disco: As aplicações chamam o sistema de arquivos para pré-alocar o espaço, e o sistema de arquivos aloca a quantida necessária de blocos e estrutura de dados, mas não há dados sobre o assunto até que a aplicação realmente precisa para escrever os dados no futuro. Isto é o que faz aplicações P2P quando “pré-aloca” o espaço necessário para uma transferência que irá durar horas ou dias, mas muito mais eficiente implementado por um sistema de arquivos do que por uma API genérica. Isto tem varios usos: em primeiro lugar, para evitar aplicações (como aplicativos P2P) faze-lo propriamente e ineficientemente, mediante o preenchimento de um arquivo com zeros. Segundo, para melhoria da fragmentação,
uma vez que os blocos serão alocados em um tempo, e continuamente se possível. Terceiro, para assegurar que os pedidos tenham sempre o mesmo espaço solitado para a necessidade, o que é importante para aplicações RT-ish, pois sem a pré-alocação o sistema de arquivos poderá ficar cheio no meio de uma operação importante. Este recurso estará disponível via libc posix_fallocate() interface.

Padrões de barreiras

Este é uma opção que melhora a integridade de um sistema de arquivos ao custo de cerca de desempenho (você pode desabilitar isso com “mount -o barrier=0″, recomendado que seja testado com um benchmarking). Neste artigo da LWN (http://lwn.net/Articles/283161/): “O código do sistema de arquivos tem, antes de escrever [journaling] e gravando o registro, ter certeza absoluta de todas as informações de operações para a criação do journaling. Apenas escrever, no bom sentido, é insuficiente; os dispositivos atuais mantêm grandes chache interno e reordenam operações para melhor performance. Portanto, os sistemas de arquivos devem explicitamente instruir o disco para obter todos os dados do journaling antes da escrita e gravação das alterações; se a gravação dos registros forem escritas em primeiro lugar, o journaling pode ser corrompido. No kernel, os subsistemas de blocos de I/O torna essa capacidade disponível através de uso de barreiras, na sua essência, uma barreira impede a escrita de qualquer bloco após a barreira até que todos os blocos escritos antes da barreira sejam gravados na mídia. Ao utilizar barreiras, o sistema de arquivos pode ter certeza que sua estrutura em disco permaneçam consistentes em todo o momento”.

Como usar o Ext4

Esta é a primeira versão estável do Ext4, assim, mesmo que todo o lançamento e desenvolvimento deste sistema de arquivos fosse lento, e atrasando muito para garantir que o mesmo nível de estabilidade que você esperaria da implementação atual do Ext3, sendo aplicadas a regras de qualquer software “.0″.

Uma coisa muito importante para se manter em mente, é que não há suporte Ext4 no GRUB. Bem, isso não é exatamente verdade: há suporte para o grub, mas as versões atuais do grub, na maioria das distribuições, não tem este suporte. Há suporte no grub2 no branch de desenvolvimento, mas só a partir deste commit (http://svn.savannah.gnu.org/viewvc?view=rev&root=grub&revision=1699). Há pacotes disponíveis do grub2 para Ubuntu, distribuições baseadas no Debian e distribuições com o pacote grub-pc. No branch 0.9x, há suporte não oficial, mas há um projeto no Google SoC (http://code.google.com/p/grub4ext4/) com suporte a isto, e no google finds patches (http://lists.openwall.net/linux-ext4/2008/11/19/8). Então, você escolhe. As próximas distribuições baseadas no Kernel 2.6.28, provavelmente, terá suporte de uma forma ou de outra. A opção segura é manter seu diretório /boot em uma partição formatada com Ext3.

Você também precisa realizar a atualização da ferramenta e2fsprogrs, é claro, a última versão estável – 1.41.3 – é recomendada.

Mudar para Ext4 é muito fácil. Há 3 formas diferentes para fazer essa mudança:

Criando um novo sistema de arquivos do zero

É muito fácil, recomendado para novas instalações. Basta fazer a atualização do seu pacote e2fsprogs para o Ext4. E criar um sistema de arquivos com mkfs.ext4.

Migrando um sistema de arquivos com Ext3 para Ext4

Você vai precisar usar as ferramentas tun2fs e o fsck no sistema de arquivos, sendo que o sistema de arquivos deve estar desmontado, execute:

tune2fs -O extents,uninit_bg,dir_index /dev/seu_sistema_de_arquivos

Após rodar esse comando você DEVE rodar o fsck. Se você não fazer isso, o Ext4 NÃO PODERÁ MONTAR seu sistema de arquivos. Executar o fsck é necessário para retornar um sistema de arquivos consistente. Ele irá informar se encontrou checksum com erros na descrição de grupos – e espera – exatamente o que precisa ser reconstruído para montar o Ext4, não se surpreenda com ele. Cada vez que ele encontrar um erro irá perguntar o que fazer, sempre digo sim (YES). Se você não quiser ser questionado, passe o parâmetro “-p” ao executar o comando fsck, que significa “reparação automática”.

fsck -pf /dev/seu_sistema_de_arquivos

Há um outro aspecto que deve ser mencionado. Todos os arquivos existentes irão continuar utilizando o mapeamento indireto para mapear todos os blocos de dados. A ferramenta “online defrag” será capaz de migrar cada um destes arquivos para o formato extends (usando um ioctl que diz para o sistema de arquivos para reescrever o arquivo no formato extends; enquanto você estiver usando o sistema de arquivos normalmente).

Mountando um sistema Ext3 existente com Ext4 sem alterar o formato

Você pode montar um sistema de arquivos Ext3 com Ext4 mas sem utilizar recursos que altere o formato do disco. Isso significa que você poderá montar um sistema de arquivos com Ext3 novamente. Você pode montar um sistema de arquivos com Ext3 pelo comando “mount -t ext4 /dev/sua_partição /mnt”. Fazendo isto, sem ter feito o processo de conversão descrito anteriormente, forçando o Ext4 a não utilizar os recursos de mudança deste formato de disco, tais como extends, que irá utilizar as funcionalidades que não altera o formato de disco, tais como mballoc ou atraso de alocação. Você será capaz de montar seu sistema de arquivos Ext3 novamente. Mas, obviamente, você perderá todas as vantagens e características do uso do Ext4…

Fonte: http://andrem.wordpress.com/2008/12/26/ext4/

Instalação do Subversion no Ubuntu (sem frescuras!)

Sunday, September 21st, 2008

Estava me organizando para uma séria de projetos, nada mais justo que falar para você mesmo que você precisa ser justo com a administração de seu tempo. Estou em um domingo, descansando e disposto a dar mastigadinho (outra vez) o esquema para você:

 

Arena – ou campo de batalha

  1. Instalar o Ubuntu Server sem selecionar as opções de LAMP ou DNS Server (se desejar instalar o lamp agora siga o how to no link -> http://littleoak.wordpress.com/2008/07/04/ubuntu-804-apache2-php5-mysql5-phpmyadmin-lamp2-no-ubuntu-804/
  2. No meu caso, que tem um HD de 10GB, dividi as partições de maneira default (assistido e usar disco inteiro). Instalar o Apache e o SVN:
    • sudo apt-get install apache2 subversion libapache2-svn
  3. Criar o diretório onde ficarão os repositórios do SVN:
    • sudo mkdir /srv/svn
  4. Criar o repositório. Aqui seria um bom momento para restaurar o backup, quando for o caso:
    • sudo svnadmin create /srv/svn/{repositorio}
  5. Dar acesso ao Apache para esses diretórios:
    • sudo chown -R www-data:www-data /srv/svn
  6. Configurar o módulo webdav do subversion
    1. sudo vi /etc/apache2/mods-enabled/dav_svn.conf
    2. Descomentar a tag <Location /svn>. No início e no fim do arquivo.
    3. Descomentar a opção DAV svn
    4. Descomentar a opção SVNParentPath /var/lib/svn e mudar o caminho para a localização do repositório: /srv/svn. Foi escolhido essa ao invés da SVNPath para termos mais de um repositório nesta mesma pasta.
    5. Descomentar a opção AuthzSVNAccessFile /etc/apache2/dav_svn.authz. Para habilitar o controle de acesso aos projetos usando o arquivo informado. Mais informação sobre como criar o arquivo podem ser vistas no livro vermelho do Subversion, na seção Per-Directory Access Control. Infelizmente a versão em português ainda não foi traduzida.
    6. Descomentar, para habilitar a autenticação, as três linhas:
      1. AuthType Basic
      2. AuthName “Subversion Repository”
      3. AuthUserFile /etc/apache2/dav_svn.passwd
      4. Adicione a linha: Require valid-user
      5. Descomente a última informação de </Location>
      6. Salve o arquivo. Para isso, aperte a tecla ESC digite “:wq” sem as aspas e pressione enter
  7. Crie um usuário para acessr o SVN:
    • sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>
    • O parâmetro -c só é necessário para o primeiro usuário, pois é usado para criar o arquivo. Para os seguintes apenas o -m resolve, que é usado para criptografar a senha com o MD5.
  8. Reiniciar o apache
    • sudo /etc/init.d/apache2 restart

Descobrir nome da Distribuição em uso (mini-tuto)

Thursday, August 28th, 2008

É comun que cheguemos em algum lugar e encontremos um Gnu/Linux rodando turbinado ou até mesmo para um troubleshooting, nada melhor do que antes de “meter a mão” saibamos aonde estamos “pisando”.

Quer saber qual sua distro? Use:

dmesg | head -n 2

Se o comando acima não exibir a real distribuição tente:

uname -a

Se mesmo assim ainda não rolar (caso do Fedora), use:

cat /etc/issue

Este último deve cravar!

Abraços! ah… seguem meus resultados:

[root@localhost ~]# dmesg | head -n 2
Initializing cgroup subsys cpuset
Linux version 2.6.25.14-108.fc9.i686 (mockbuild@) (gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) ) #1 SMP Mon Aug 4 14:08:11 EDT 2008

[root@localhost ~]# cat /etc/issue
Fedora release 9 (Sulphur)
Kernel \r on an \m (\l)

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.25.14-108.fc9.i686 #1 SMP Mon Aug 4 14:08:11 EDT 2008 i686 i686 i386 GNU/Linux
[root@localhost ~]#

Como configurar o login automático do Velox (ubuntu/debian/kurumin)

Monday, August 4th, 2008

A função deste tutorial é ajudar os novos usuários Linux, em especial os de Kurumin Linux, a configurar uma conexão ADSL, como o Velox que é muito problemático, pois o próprio serviço não oferece suporte para os Sistemas GNU/Linux. Como na maioria dos casos acontece. Então, vamos iniciar a instalação.

Este tutorial está dividido em duas etapas. A configuração do ADSL e o Login automático.

A configuração do ADSL

Em primeiro lugar, verifique se o modem está ligado corretamente. Verifique os cabos e veja se está tudo em ordem.

Se tudo estiver em ordem, execute o script: Menu K > Internet > Conectar na Internet ou Configurar a Rede > Conectar via ADSL/PPPOE (ADSL com autenticação).

Ou se quiser execute o comando no terminal:

# sudo pppoeconf

Aparecerá a seguinte tela:

adsl_html_m52c3efde

No meu caso, possuo apenas uma placa de Rede (eth0). Clique no Sim para continuar.

Logo em seguida o script irá procurar pelo seu modem. Ele irá verificar se o seu modem está ligado a interface que você escolheu, isto é, se você possuir mais de uma placa de rede e tentará conectar-se a ele. Pois, se você possuir apenas uma placa de rede, automaticamente o pppoeconf irá usá-la para estabelecer a conexão.

adsl_html_7f05077f

Caso o script tenha detectado o seu modem. Ele exibirá a seguinte tela. Não gosto de falar janela pois me lembra um sistema que não quero mais ver aqui. :-P . Bem, continuando:

adsl_html_4344c86c

Apenas clique em Sim para prosseguir. Na próxima opção aparecerá outra tela:

adsl_html_m55b86a7a

Mais uma vez, clique em Sim para continuar.

Agora vem a parte mais importante. Está é parte do script responsável pela autenticação do ADSL. Digite nesta tela o DDD+ o n° do telefone onde o Velox está instalado. Veja que eu digitei apenas um exemplo.

adsl_html_3d219299

Logo em seguida você terá que digitar a senha que é também o DDD + n° do seu telefone.

adsl_html_64077683

Na próxima tela o script pedirá confirmação para adicionar o endereço IP do DNS do Velox automaticamente no arquivo /etc/resolv.conf . Preferencialmente, clique no Sim.

adsl_html_m13b8a695

Na tela seguinte o script perguntará se você deseja ajustar o tamanho do MMS ou pacotes, se preferir chamar assim, 1452 bytes. Recomendo que você clique no Sim. Principalmente se você deseja compartilhar a conexão.

adsl_html_6c6331e5

Com isso, o script chega na sua parte final e ele pergunta se você deseja iniciar a conexão. Não vou nem dizer o que você deve fazer. Não é mesmo ?! ;-)

adsl_html_597369cf

Agora você pode iniciar sua conexão.

adsl_html_mf118f01

adsl_html_2e562176

Agora que já a conexão ADSL já está configurada, vamos iniciar a autenticação com o provedor. E não se preocupe em fazer tudo isso novamente. Pois esta instalação desta conexão já está configurada para iniciar no boot. :-)

Agora abra qualquer navegador para autenticar o seu usuário e senha do provedor de internet (uol, oi, terra, etc) para que você comece a navegar e para que possamos continuar com a segunda parte deste tutorial.

Nota do editor: O pppoeconf é o configurador padrão para conexões ADSL PPPoE no Debian, ele pode ser encontrado em diversas outras distribuições, como o Ubuntu, Knoppix, Kanotix, Mephis e praticamente todas as outras distribuições derivadas do Debian ou do Knoppix.

Se você estiver usando o Mandriva, Fedora, Conectiva, ou outra distribuição da família do Red Hat, use o comando “adsl-setup” para configurar a conexão e “adsl-start” para conectar.

Ativando o Login Automático

Nesta parte primeiramente faça o download deste pacote:

http://codigolivre.org.br/frs/download.php/3903/vivo24h_xdsl-2.2.3.tar.gz

ou

http://www.tinews.info/vivo24h_xdsl-2.2.3.tar.gz

Ele será o responsável pela configuração do Login automático do Velox.

Descompacte o pacote na sua pasta Home e logo em seguida acesse a pasta do mesmo.

Na pasta vivo24h_xdsl-2.2.3 você encontrará um o arquivo vivo24h_xdsl.conf

Edite o arquivo usando o Kedit ou outro editor de sua preferência. Não use o vi porque ele não consegue abrir o arquivo corretamente e pode danificá-lo.

Vou inserir aqui o conteúdo do arquivo.

// vivo24h_xdsl.conf
#Arquivo de Configuracao do Vivo24h_xDSL 2.2.x
#Siga as instruções para que nãoo ocorram erros na
#execução do programa

# Este é o endereço de autenticação. Não modifique-o.
#Local da autenticação
host=www.veloxzone.com.br

# Está é a interface padrão do ADSL.
#Nome da interface ppp. Ex.: interface=ppp0
interface=ppp0

# Aqui você tem que especificar qual é o tipo de Velox que você possui.
#Escolha o seu tipo de conexão Velox
# 0 para Residencial e 1 para Empresarial

modulo=0

# E nesta parte você tem que inserir o seu login, senha e o código do provedor.
# Vou inserir aqui a #lista dos códigos para você não errar. Pois qualquer erro
# aqui, o login automático não funcionará.

#LISTA DOS PROVEDORES E CÓDIGOS PARA O Velox
#PROVEDOR – CÓDIGO

#UOL – UOLRJ11
#AOL – AOL11
#brturbo – BRTURBO11
#GLOBO – GLOBORJ11
#HOTLINK – HOTLINK11
#INTERNETT – INTERNETT11
#MANDIC – MANDIC11
#MICROECIA.NET – MICROECIANET11
#OI INTERNET – OIRJ11
#RJHOST – RJHOST11
#IG BANDALARGA – SUPERIGRJ11
#TERRA – TERRARJ11

# Lembrando que na hora de indicar o provedor você tem que colocar o
# código do provedor e não o nome.

# No caso do Velox comercial você tem que inserir o código da Região. Eu não
# possuo estes códigos, mas você pode solicitá-los ligando para o suporte
# Velox. Ou tente conseguí-los com o #pessoal do Suporte Velox no Fórum do
# Guia do Hardware. ;-)

#RESIDENCIAL
login=francies@uol.com.br
senha=xxxxxxxx
provedor=UOLRJ11

#EMPRESARIAL
comercial=AARJ

#Servidores utilizados para a verificação, necessária porta 80 liberada

host1=mx.uol.com.br
host2=mx.terra.com.br
host3=smtp.mail.yahoo.com

#Final de arquivo

Com o arquivo editado corretamente, salve-o e abra um terminal (Konsole ou Xterm). E acesse a pasta do pacote vivo24h_xdsl.

Digite dentro da pasta do pacote o comando make.

Aparecerá alguns warnings (avisos), mas nada que comprometa a instalação.

adsl_html_m29ae603

Agora como root, digite make install…

adsl_html_m68cb4b5

Com isso, o programa foi instalado para ser executado no boot. E se tudo foi configurado corretamente. A sua conexão irá funcionar normalmente. Com o Sistema fazendo as duas autenticações.

Reinicie o seu PC para que estas novas configurações sejam executadas.

Obs: Geralmente a autenticação demora torno de um minuto para ser concluída. Digo isso porque alguém pode querer navegar assim que o Sistema iniciar e antes que a autenticação seja concluída e depois pode ficar dizendo que o tutorial não funciona.

Para ter certeza de que você já está conectado, use a barra vertical do superkaramba para visualizar o IP da conexão.

Caso o IP esteja visível é porque você já está 100% conectado à Internet e pronto para usá-la.

Senão, verifique se o seu modem está ligado, digite ifconfig ppp0 no terminal. Se ele for retornado é porque o sua conexão ADSL está Ok.

Mas se mesmo assim o navegador te encaminhar ao site do VeloxZone é porque o seu login, ou senha ou o código do seu provedor estão incorretos.

Para reconfigurar o login automático abra um terminal, acesse a pasta do pacote vivo24h_xdsl e digite o comando como root: sudo make clean . Edite novamente edite o arquivo vivo24h_xdsl.conf . Execute novamente os comando make e sudo make install .

Passei uma semana testando tudo isso antes de ter certeza do que estou escrevendo aqui.

Espero que isso resolva o problema de muitas pessoas que dizem o Linux é ruim porque é “difícil” configurá-lo para acessar a internet via ADSL.

Espero ter ajudado. Boa Sorte para todos.

FONTE: http://www.guiadohardware.net/artigos/login-automatico-velox/