Ubuntu, erro de inicialização (initramfs)

Muitas as vezes nos deparamos com “erro” de inicialização, no qual são badblocks (que pode ocorrer devido a alguns motivos). Temos algumas alternativas a serem utilizadas:

Passo 1: inicialize em um live CD ou USB e selecione tente o ubuntu sem instalar opções 

Passo 2: Pressione ctrl+alt+tou abra o seu terminal

Setp 3: Descubra o seu número de partição usando

sudo fdisk -l|grep Linux|grep -Ev 'swap'

Em seguida, liste todos os superblocos usando o comando:

sudo dumpe2fs /dev/sda7 | grep superblock

Substitua sda7 para o seu número de unidade

Você deve obter uma saída semelhante como esta

Primary superblock at 0, Group descriptors at 1-6
Backup superblock at 32768, Group descriptors at 32769-32774
Backup superblock at 98304, Group descriptors at 98305-98310
Backup superblock at 163840, Group descriptors at 163841-163846
Backup superblock at 229376, Group descriptors at 229377-229382
Backup superblock at 294912, Group descriptors at 294913-294918
Backup superblock at 819200, Group descriptors at 819201-819206
Backup superblock at 884736, Group descriptors at 884737-884742
Backup superblock at 1605632, Group descriptors at 1605633-1605638
Backup superblock at 2654208, Group descriptors at 2654209-2654214
Backup superblock at 4096000, Group descriptors at 4096001-4096006
Backup superblock at 7962624, Group descriptors at 7962625-7962630
Backup superblock at 11239424, Group descriptors at 11239425-11239430
Backup superblock at 20480000, Group descriptors at 20480001-20480006
Backup superblock at 23887872, Group descriptors at 23887873-23887878

Escolha um superbloco alternativo desta lista, neste caso superbloco alternativo # 32768

Agora, para verificar e reparar um sistema de arquivos Linux usando o superbloco alternativo # 32768:

sudo fsck -b 32768 /dev/sda7 -y

-ybandeira é usada para pular toda a correção? perguntas e para respondê-las todas com um sim automaticamente

Você deve obter uma saída semelhante como esta:

fsck 1.40.2 (12-Jul-2007)
e2fsck 1.40.2 (12-Jul-2007)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/30539776 files (0.6% non-contiguous), 3604682/61059048 blocks

Agora tente montar a partição

sudo mount /dev/sda7 /mnt

Agora, tente navegar no sistema de arquivos com os seguintes comandos

cd /mnt
sudo mkdir test
ls -l

Se você é capaz de executar os comandos acima, você provavelmente resolveu seu problema.

Agora, reinicie seu computador e você poderá inicializar normalmente.

Remover arquivos de nome igual em varias pastas

As vezes, precisamos remover diversos arquivos de nome igual ou semelhante em diversas pastas em determinado diretorio. E para realizar o procedimento o comando é bem simples, basta combinar o find com rm.

find ./* -iname ‘*Nome_do_arquivo*’ -exec rm -rf -v {}  \;

Onde o find vai procurar tudo daquele diretório atual “para baixo”, após procurar basta utilizar  -exec seguido do procedimento desejado que no caso é remoção (rm -rf).

Alteração de Idioma SQL Server

Muitas das vezes nos deparamos com a necessidade de realizar a alteração da linguagem do SQL Server.

Sendo assim vamos abordar abaixo uma maneira simples de realizar a alteração:

  • Para mostrar o idioma da sessão atual:

Select @@langid, @@language

  • Duas opções para mostrar os idiomas disponíveis:

Select * From sys.syslanguages
Exec sp_helplanguage

  • Sintaxe para alterar o idioma somente da sessão atual:

Set Language 'idioma'

  • Para verificar o idioma definido para um login (no exemplo, sa):

Select language From sys.syslogins Where sid = SUSER_ID('sa')

  • Para modificar o idioma de um login em especifico

-- Mudando o idioma do login para português
Exec sp_defaultlanguage 'sa', 'Português (Brasil)'
Reconfigure -- "Atualiza" a modificação realizada

-- Mudando novamente, para inglês
Exec sp_defaultlanguage 'sa', 'us_english'
Reconfigure

  • Alterando o idioma padrão dos logins futuros utilizando uma procedure

-- Mudando o idioma padrão do servidor para 5 (espanhol)
Exec sp_configure 'default language', 5
Reconfigure

 

 

Alterar cor shell ssh

Ao logar no SSH de servidores com versão de CENTOS, por padrão temos letras azuis em fundo preto no qual dificulta a visualização do conteúdo. Para realizarmos a alteração basta seguir os passos:

1) Edite /etc/DIR_COLORS coom ROOT
2) Localzie a linha
DIR 01;34 # directory
e mude para
DIR 01;33 # directory
3) Salve o arquivo
4) Faça o mesmo passo para /etc/DIR_COLORS.xterm (caso tenha o arquivo)
5) Faça um novo login 

***Testado nas versões 5.x.x 7.x CentOS

Redirecionamento de paginas

Abaixo vamos vamos abordar alguns metodos para redirecionamento de paginas:

Redirect com PHP

Você pode utilizar o código abaixo:
<? header(“location: http://www.seudominio.com.br/”); ?>

Redirect com HTML
Utilize o código abaixo:

<meta http-equiv=”refresh” content=”0;url=http://www.seudominio.com.br/pagina.htm”>
Onde 0 é o número de segundos antes de abrir a url.

Redirect com ASP
Use o código abaixo:

<% Response.Redirect “http://www.dominio.com.br” %>

 

Removendo arquivos linux com exceção

Muitas das vezes precisamos realizar remoção de arquivos em determinados diretório, porém  queremos remover tudo exceto os arquivos com extensão x y ou z.

Geralmente ficamos perdidos ou tentamos fazer scripts mirabolantes para resolver algo que é relativamente simples, com  um simples comando rm, podemos resolver nosso problema. Abaixo irei dar um simples exemplo:

Antes de mais nada precisamos habilitar a função extglob, no qual ira nos permitir utilizar o rm de uma forma “diferenciada”.

  1. Logue no SSH e execute shopt -s extglob
    1
  2. Verifique se a função foi realmente ativada shopt extglob:
    screenshot_1
  3. Apagar todos os arquivos do diretório local EXCETO o arquivo   arquivo1.doc rm -rf !(arquivoarquivo1.doc):
    screenshot_7O caráter de “!” funciona como negação no comando  utilizado, sendo assim ira remover tudo exceto  o que estiver em parenteses. Mais um exemplo, no qual ira informar  que queremos exceção para mais de um arquivo rm -rf !(arquivoarquivo1.doc|arquivoarquivo2.doc):screenshot_6
  4. Você pode definir por extenção ou qualquer trecho, como por exemplo todos os arquivos com prefixo teste, ou um prefixo .zip, .php, .tar.gz, assim como vamos ver no exemplo abaixo     
    rm -rf !(*.zip|*.php)
    :
    screenshot_5

Utilizando MKLINK (link simbólico no windows)

Muitas das vezes nos deparamos com a necessidade de criar link simbólico para windows porém desconhecemos que existe tal ferramenta nativa do windows para tratar esta questão assim como existe no linux. Há ferramenta se chama MKLINK

A utilização do mesmo é bem simples, a sintaxe:

MKLINK [[/d] | [/h] | [/j]] <link> <Destino>


Parâmetros


Parâmetro

Descrição

/d

Cria um link simbólico do diretório.


Por padrão, o mklink cria um link simbólico do arquivo.

/h

Cria um vínculo real em vez de um vínculo simbólico.

/j

Cria uma junção de diretório.

<Link>

Especifica o nome do vínculo simbólico que está sendo criado.

<Target>

Especifica o caminho (relativo ou absoluto) ao qual se refere o novo vínculo simbólico.

/?

Exibe a Ajuda no prompt de comando.

Exemplos de  utilização:

mklink /d C:\Users\teste D:\backup

mklink

..

Como iniciar a instalação do CPanel no Servidor Linux?

Você pode instalar o cPanel em seu servidor dedicado linux, sem maiores complicações. cPanel é um painel de controle para hosting, comercial e bem utilizado. Com ele, administra-se serviços como:

  • Servidor de email exim;
  • Servidor de páginas eletrônicas;
  • Servidor de banco de dados mysql ou postgresql;
  • Servidor de DNS bind;
  • Dentre outros.

O gerenciamento do servidor é através de uma completa e funcional interface web, o que torna a administração dos recursos, muito mais fáceis. Vamos então, ao processo de instalação do CPanel.

Continue lendo

Verificando a fila de emails no Exim

Para verificar o conteúdo da fila de emails no exim, através do SSH, faça:

Exibir o número total de mensagens da fila

exim -bpc

Lista completa de mensagens

exim -bp

Para verificar o conteúdo de um email, use:

Exibe o log da mensagem

exim -Mvl <message ID>

Exibe o corpo da mensagem

exim -Mvb <message ID>

Exibe o cabeçalho da mensagem

exim -Mvh <message ID>

Configurando wildcard em servidor com cPanel e Apache

O tutorial abaixo é um guest post do nosso leitor: Rafael Viana. Visitem seu site: RafaelFPViana.com

Este tutorial serve para ajudar como configurar um domínio para funcionar da seguinte forma:

http://bobmarley.letrasdemusicas.com.br

http://blew.nirvana.letrasdemusicas.com.br

Ou seja, faz com que subdomínios sejam configurados para cair na mesma página do site principal, ao invés de serem configurados para utilizarem uma pasta na conta do cliente.

O que é necessário

  • Domínio em questão precisa estar registrado e com os dns apontando para o servidor
  • Acesso ao WHM como root
  • WHM com o ConfigServer Explorer instalado ou acesso SSH como root
  • Saber a versão do Apache
  • Saber o nome de usuário de FTP/[cPanel] para o domínio a ser instalado o wildcard

Configurando os DNS

  • Acesse o WHM e vá em Main >> DNS Functions >> Edit DNS Zone
  • Procure o domínio em questão na listagem e clique no botão Edit
  • Na primeira linha do formulário em Add New Entries Below this Line adicione um * (asterístico ) no primeiro campo
  • No terceiro campo onde está com a palavra Select, selecione a opção CNAME
  • Aparecerá um novo campo, coloque o endereço do site em que estamos instalando o wildcard sem o www e com um . (ponto), geralmente este campo é idêntico ao primeiro campo no início do formulário de edição de zona de dns, portanto poderá copiar e colar sem problemas.
  • Clique em Save
  • Pronto, dns configurado, estarei utilizando o domínio dominio.com.br como teste, portanto a minha linha ficou mais ou menos assim:
* 14400 IN CNAME dominio.com.br.

Configurando o Apache

  • Primeiramente cerfique-se que o ConfigServer Explorer está instalado, sem ele você terá que fazer por SSH
  • Se o ConfigServer Explorer estiver instalado, no campo Change Directory… digite /usr/local/apache/conf/

Diretórios

  • Caso o diretório userdata não exista em /usr/local/apache/conf/ iremos criar
  • Caso o diretório std não exista em /usr/local/apache/conf/userdata/ iremos criar
  • Agora iremos criar um diretório de acordo com a sua vesão do apache, ou seja, se o seu apache é versão 2.0.63 iremos crair o diretório 2, caso a versão seja 1.3.41 iremos crair o diretório 1, isso dentro de /usr/local/apache/conf/userdata/std/, para o exemplo irei criar o diretório 1.
  • Agora crie um diretório com o nome de usuário dentro /usr/local/apache/conf/userdata/std/1/, irei criar o diretório usuario como exemplo

Arquivo

Agora que estamos dentro do diretório do usuário /usr/local/apache/conf/userdata/std/1/usuario/ crie um arquivo chamado ServerAlias.conf

Dentro deste arquivo coloque o seguinte:

ServerAlias *.dominio.com.br

Salve o arquivo

Aplicando as configurações

Agora digite o seguinte comando, poderá ser feito por SSH ou até mesmo no ConfigServer Explorer no último campo do formulário, o campo Command:

perl /scripts/ensure_vhost_includes --user=usuario

Note que em –user= eu digitei usuario, este é o meu usuário de exemplo, troque para o nome de usuário que você está configurando o wildcard.

Finalizando

Agora basta reiniciar o Apache e aguardar a propagação dos DNS.

Identificando consultas lentas no MySQL (slow-queries)

O MySQL pode geralmente causar grandes problemas num servidor quando existem consultas que abusam do sistema.

Neste artigo ensinaremos a você como identificar corretamente as consultas (queries) que estão causando problemas para o servidor.

O servidor MySQL pode escrever um log contendo as consultas que demoram mais que “X” segundos. Porém, por padrão este recurso vem desabilitado.

Vamos ver como habilitar o recurso:

1. Log no seu servidor como root
2. Abra o arquivo my.cnf:

pico /etc/my.cnf

3. Dentro da seção [mysqld] adicione as seguintes linhas

log-slow-queries = /var/log/mysql-slow.log
long_query_time = 3

Isto é apenas um exemplo. Você pode usar qualquer nome de arquivo para o log. Você também pode estipular o tempo máximo de uma consulta. A partir deste tempo,a consulta será gravada. No nosso exemplo, colocamos 3 segundos.

4. Após as alterações, salve o arquivo.

No pico, faça: CTRL+X e YES

5. Agora nós temos que criar o arquivo de log.

touch /var/log/mysql-slow.log

6. Agora vamos mudar o dono do arquivo, para que o mysql tenha permissão de escrever nele.

chown mysql.root /var/log/mysql-slow.log

7. E então, reiniciamos o mysql

service mysql restart

O serviço deverá reiniciar corretamente. Caso não reinicie, veja se você fez tudo corretamente no arquivo my.cnf.

8. Aguarde alguns minutos e então examine o conteúdo do arquivo de log que foi criado.

Um exemplo de como fazer isto:

cat /var/log/mysql-slow.log
tail /var/log/mysql-slow.log
tail -50 /var/log/mysql-slow.log

Depois de identifica a consulta, otimize ou elimine ela.

Depois que identificar o problema, é recomendado que você remova a entrada referente a slow-queries no my.cnf (ou comente ela). Isto é importante, pois o uso de slow-queries degrada a performance do mysql. Você pode comentar o arquivo my.cnf:

#log-slow-queries = /var/log/mysql-slow.log
#long_query_time = 3

Não se esqueça de reiniciar o MySQL em seguida.

service mysql restart

Lançamento cpanel-fácil 0.0.1

Lançado oficialmente hoje o script cpanel fácil 0.0.1.

A ideia do script é automatizar as rotinas de instação e configuração de servidores linux automatizados para WHM/cpanel. Nesta primeira versão de inauguração, o script executa automaticamente as seguintes rotinas:

1. Restringe o acesso a ssh para utilizar somente o protocolo 2
2. Desabilita o uso de register_globals no php.ini
3. Desabilita dl_function no php.ini
4. Desabilita funções consideradas perigosas no php.ini
5. Altera o limite máximo de upload em php
6. Restringe o acesso a diversos arquivos de sistema, melhorando a configuração
7. Instala e configura o APF Firewall

Acesse a página do script, em:

http://www.servidorgerenciado.com.br/cpanel-facil/