Resolvendo MySQL ODBC 5.3 Unicode Driver - error code 193

Comentarios


Este é um erro no qual vejo muitas pessoas reclamando, e poucos conseguindo resolver na última versão do driver.
O erro estoura na última etapa da instalação, quando o instalador vai registrar os drivers no sistema.

O erro:
The setup routines for the MySQL ODBC 5.3 Unicode Driver ODBC driver could not be loaded due to system error code 193.

Solução:

1. Caso você esteja instalando manualmente.


O instalador dos drivers odbc tem as seguintes dependências: .Net Framework, Visual C++ Redistributable. Consegui resolver instalando o .Net Framework 4 e o Visual C++ Redistributable 2010. O nome dos pacotes é: dotNetFx40_Full_x86_x64.exe e vcredist_x862010.exe.

Existem relatos que isso não resolveu. Caso seja seu caso, tente executar uma limpeza no sistema (arquivos temporários, registro. Com o CCLeaner por exemplo) e então substituir as seguintes dlls:

c:\Windows\SysWOW64\msvcp100.dll
c:\Windows\SysWOW64\msvcp100d.dll
c:\Windows\SysWOW64\msvcr100.dll
c:\Windows\SysWOW64\msvcr100_clr0400.dll
c:\Windows\SysWOW64\msvcr100d.dll

2. Caso esteja incluindo o pacote do driver odbc em seu instalador


Caso esteja incluindo este pacote em seu instalador, pelo Inno Setup por exemplo, veja meu post no seguinte link:

http://diretoriohome.blogspot.com.br/2014/06/como-executar-instalar-um-msi-com-inno.html

Também passei por esse erro, e consegui resolver com o link acima.

Como executar / instalar um .msi com Inno Setup

3 Comentarios


Muitas vezes quando ao distribuir um software, precisamos também incluir nossas dependências no pacote de instalação, como softwares de terceiros, bancos de dados, frameworks, etc. O Inno Setup é uma ferramenta fantástica para esse fim. Com ele é possível criar instaladores para nossas aplicações com bastante eficiência, e até mesmo incluir e executar os instaladores de nossas dependências.

Existem diversas maneiras, a maioria bem simples, de se incluir outro pacote aos nossos instaladores. Porém, quando nossas dependências estão empacotadas em arquivos .msi a história muda. Ao incluir um pacote .msi você vai experimentar diversos sabores de erros durante a execução, e vai gastar muitos neurônios até descobrir que se trata de problemas na execução de pacotes msi pelo Inno Setup.

Apesar de ser uma experiência traumática, existem algumas formas simples para se resolver. Seguem algumas:

1. Incluir o parâmetro Shellexec no comando de execução.


Este parâmetro, de acordo com a documentação, cria uma instancia do prompt para a execução do arquivo. É também necessário caso queira executar outros arquivos, como arquivos do Microsoft Office. Recomendo também  a inclusão do parâmetro waituntilterminated em conjunto com o shellexec, pois seu instalador não esperará o termino da execução de pacotes msi por defaut.

Exemplo:
[Run]
Filename: <Diretório>\seuArquivo.msi; Parameters: /qn; StatusMsg: <Mensagem a ser exibida no instalador durante a execução>; WorkingDir: <Diretório de execução do msi>; Flags: shellexec waituntilterminated

Podem perceber que incluí a seção "Parameters: /qn;". Este costuma ser o parâmetro caso queira que seu pacote msi seja instalado em modo silent, ou seja, não apareça requisitando informações ou qualquer interface visual, apenas instala diretamente.

2. Utilizando o msiexec.exe


Esta é outra maneira que pode ser encontrada na documentação, gera mais ou menos o mesmo resultado e utiliza-se dos mesmos parâmetros do prompt.

Exemplo:
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\seuArquivo.msi"""
Vejo muitas buscas quanto isso, espero ter ajudado!

Listar o conteúdo de um tar sem extrair

Comentarios
Muitas vezes queremos dar uma olhada no conteúdo de um .tar.gz ou tgz sem precisar extrair. O comando para se fazer isso usando o Linux é:
# tar -ztvf arquivo.tar.gz
Com o comando acima é possível listar o conteúdo do tar comprimido com gzip.
Quebra muito o galho na hora da pressa.
Abraços!

C# - Listando sub-diretórios de um diretório especificado

Comentarios
É algo que precisei a pouco tempo, mas foi difícil encontrar na net, por isso resolvi compartilhar:

O código abaixo é um exemplo como se recebesse "C://" por parâmetro.
DirectoryInfo dir = new DirectoryInfo("C:\\");
DirectoryInfo[] diretorios = dir.GetDirectories();
foreach (DirectoryInfo diretorio in diretorios)
   Console.Write(diretorio.Name);
Abraços!

Habilitando Conexões Remotas no MySQL (Linux)

Comentarios


A instalação default do MySQL não permite se conectar remotamente no banco de dados, possibilitando  apenas acesso local.

Neste cenário, ao tentar conectar remotamente no banco, um dos possíveis erros é:
KHost '' is not allowed to connect to this MySQL serverConnect
Para habilitar o acesso externo, basta realizar os seguintes passos:

1. Editar o arquivo:
/etc/mysql/my.cnf
2. Alterar a seguinte linha:
bind-address = 127.0.0.1
Deixando assim:
bind-address = 0.0.0.0
3. Reiniciar o Mysql
# /etc/init.d/mysql restart
4. Conectar no Banco via localhost:
# mysql -u root -p
5. Habilitar o acesso:
mysql> grant all privileges on *.* to 'user'@'ip' identified by 'passwd';
Onde:
user: é o usuário que você deseja usar.
ip: a máquina remota que você quer permitir.
passwd: a senha do usuário

Exemplo:
mysql> grant all privileges on *.* to 'root'@'10.0.0.60' identified by 'teste';
Para habilitar toda a rede classe C do exemplo basta usar o wildcard %
mysql> grant all privileges on *.* to 'root'@'10.0.0.%' identified by 'teste';
Para habilitar para qualquer ip:
mysql> grant all privileges on *.* to 'root'@'%' identified by 'teste';
O ultimo passo é fazer o flush da configuração:
mysql> flush privileges;

Remover acesso remoto

Caso você queira desfazer o acesso remoto é bem simples também.

1. Altere a seguinte linha:
bind-address = 0.0.0.0
Deixando assim:
bind-address = 127.0.0.1
2. Logue no Mysql:
# mysql -u root -p
3. Delete todos os privilégios remotos:
DELETE FROM mysql.user WHERE User = ‘root’ AND Host = ‘%’;FLUSH PRIVILEGES;
4. Reinicie o Mysql e pronto, não estará mais acessível remotamente.


Abraços!

Recuperar a senha de root do MySQL

Comentarios


Quem nunca esqueceu a senha de root do MySQL que configurou para instalar junto com sua distro Linux, ou pegou um sistema que foi implementado por outro profissional?

Pode ser uma situação assustadora, mas dá para reverter:

1- Pare o serviço do MySQL caso ele esteja rodando:
# /etc/init.d/mysql stop
2- Suba o servidor pulando a verificação dos privilégios de usuários:
# /usr/bin/mysqld_safe –skip-grant-tables &
OBS.: Fazendo isso o MySQL estará aceitando que qualquer usuário se conecte com acesso TOTAL a TODOS os bancos de dados. Para previnir acessos durante sua manutenção é possível subir o banco sem que ele aceite conexões via TCP/IP com o comando:
# <pasta de instalação do MySQL>mysqld_safe –skip-grant-tables –skip-networking &
3- Conecte-se ao mySQL com o comando:
# mysql -u qualquer_coisa
4- Setar a senha de root:
> update mysql.user set Password=PASSWORD(‘new-password’) WHERE User=’root’
5- Pare o MySQL com o comando:
# mysqladmin -u qualquer_coisa shutdown
6- Iniciar o serviço com os comandos:
# <pasta de instalação do MySQl>/mysqld_safe &
Ou
#/etc/init.d/mysql restart


Colocar script na inicialização do Ubuntu/Debian

Comentarios


Se você trabalha com TI ou desenvolvimento de software, em diversos momentos você vai perceber que muitas vezes terá de adicionar algum script na inicialização / boot do Linux.

Cada distribuição possui seus padrões, sua forma de processar a inicialização. Mas, no caso das distros baseadas no Debia, como Ubuntu, Kubuntu, Arch Linux, Kurumin, etc, inserir um script na inicialização é bem fácil! Basicamente basta se colocar o script no diretório /etc/init.d/, setar as permissões e pronto!

Seguem os passos (em modo texto, claro..):

1- Abra seu editor de textos preferido (eu gosto do VIM):
# vim /etc/init.d/meuscript
2- Dê permissão para execução: 
# chmod 755 /etc/init.d/meuscript
3- Agora é só colocar para inicializar junto com o sistema: 
# update-rc.d meuscript defaults
Caso queira futuramente remover o script basta executar:
# update-rc.d meuscript remove

Valeu!

Modificar senha de usuário do MySQL

Comentarios


Eis uma coisa que você, seja você desenvolvedor ou TI, vai ter que fazer pelo menos uma vez na vida.

-Por que?

Se você for da área de TI, você pode ser responsável por manter um sistema que tenha um usuário específico no MySQL, por exemplo.

Se você é desenvolvedor, pode ser que precise criar um usuário específico para sua aplicação, utilizar os poderes de root de forma mais segura, ou por estar dando manutenção em um sistema criado por outro profissional.

Basicamente conheço 2 métodos para isso, cada um com suas vantagens e desvantagens:

1- Via comando mysqladmin;
2- Via SQL.


Mysqladmin:

Este comando te permite midificar a senha do usuário especificado sem ter que se conectar diretamente aos bancos do MySQL, desde que o serviço do MySQL esteja rodando. O que é muito útil caso você tenha de mudar a senha do usuário apartir de um script .bat, por exemplo.
No caso Windows, este aplicativo está dentro de <LOCAL ONDE INSTALOU>\bin, se este diretório não estiver no Path do sistema você terá de especificar todo o caminho de instalação do MySQL ou entrar na pasta bin para executar. Dica: pode ser necessário especificar a extensão ".exe" depois do nome do comando.

A sintaxe do comando e simples:
mysqladmin -u USER -p password NEWPASSWORD

Exemplo:
mysqladmin -u root -p password '123'
Pode-se tamblem especificar a porta usada pelo serviço:
mysqladmin -u root -p password '123' --port 3306

Observações:
  • Você precisa ter privilégios de administrador para executar este comando;
  • Caso você use Linux e compartilhe a conta de usuário, este comando ficará no histórico, para isso basta editar o arquivo ~/.bash_history e deletar as linhas onde a senha é exibida.


Via SQL:

Para alterar a senha, basta dar um update na tabela de usuários do banco de dados MySQL. Este comando tem duas variações, ambas com o mesmo resultado:
SET PASSWORD FOR 'user'@'host' = PASSWORD('newpass');
Ou
UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='user';
Depois de rodar o comando acima, é preciso rodar um FLUSH PRIVILEGES para que o MySQL carregue novamente a tabela de usuários, aplicando a nova senha.

Exemplo:
UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root';
Também é possível especificar o host:
UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

É isso aê!!!

Como se livrar de um app pré-instalado no Android sem fazer root

Comentarios


Acho que todos já passamos por isso: Comprar um celular Android e recebermos junto uma enchurrada de aplicativos pré instalados, a grande maioria inútil você nunca vai usar. São demos de jogos, lojas de apps, serviços online de utilidade duvidosa, apps da operadora, etc. Esses softwares são conhecidos como “bloatware”.

Sem fazer root no seu aparelho , o que te faz perder a garantia, você pode não conseguir removê-los, mas é possível fazer com que “desapareçam”, saindo do menu de aplicativos, sem consumir memória e sem enviar notificações irritantes.

No Android 4.0 ou posterior há uma forma de desabilitá-lo, de forma que você sequer irá se lembrar de que ele existiu.



Para se livrar do bloatware vá no painel "Aplicativos" da tela de "Configurações", como na imagem ao lado.

Inicialmente ele mostra uma lista com os apps que você instalou (chamada de "Descarregados"). Vá empurrando os painéis para a esquerda até chegar ao painel "Todos", que lista todos os apps do aparelho. Role a lista até encontrar o app indesejado e dê um toque sobre ele.









Será exibida a tela com informações sobre o App. No topo há o ícone, nome do app, nome no sistema, versão e dois botões: "Forçar Parada" e "Desinstalar" (no caso de apps que você baixou e instalou) ou "Desativar" (no caso de apps pré-instalados ou que são parte do sistema). O botão "Forçar parada" encerra imediatamente o app, se ele estiver rodando, mas você pode usá-lo normalmente mais tarde. É como dar Alt+F4 em um programa no Windows.


O botão "Desativar" encerra o aplicativo e seu ícone ficará oculto no menu de apps, seus serviços são encerrados e não irá gerar notificações, como se não existisse. Um app desativado vai para o fim da lista "Todos", e é indicado com a palavra "Desativado" à direita. Se posteriormente você achar que o app pode ser útil, pode trazê-lo de volta clicando no botão "Ativar" nesta mesma tela.


O método não é perfeito. Apesar de inativo, o app continua instalado e ocupando espaço na memória interna do aparelho. Para arrancar o mal pela raiz remover de vez um app pré-instalado, é necessário fazer root no aparelho, um procedimento que pode ser arriscado, e pode fazer você perder a garantia.

Observação importante:


A lista "Todos" mostra todos os apps no aparelho, e muitos deles tem nomes estranhos como com.android.provision. São aplicativos e serviços do Sistema Operacional. Pense dez vezes antes de desabilitá-los, pois podem ser componentes vitais do sistema, e sua remoção pode gerar problemas sérios, e até inutilizar seu aparelho.

Meu conselho? Se você não sabe o que é, não mexa!

Configurar Proxy para apt-get e wget no Ubuntu 14.04

3 Comentarios


Você pode ter problemas para instalar pacotes via apt-get e utilizar o wget caso possua um proxy na sua rede.

É uma dorzinha de cabeça chata quando se precisa baixar um pacote e nos esquecemos de configurar o proxy, mas a solução bastante simples para se configurar o proxy para esses serviços via terminal.

Segue a solução:


Configurar proxy no apt-get

Para configurar o apt, edite (via vi, vim, nano, etc..) o arquivo /etc/apt/apt.conf.
Exemplo:

sudo vim /etc/apt/apt.conf

Após aberto o arquivo, que inicialmente deve estar vazio, configure o mesmo de acordo com os exemplos abaixo, substituindo os dados entre "<>" pelos dados de sua rede.


- Caso seu proxy utilize autenticação:

Acquire::http::proxy "http://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::https::proxy "https://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::ftp::proxy "ftp://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::socks::proxy "socks://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";


- Caso seu proxy não use autenticação:

Acquire::http::proxy "http://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::https::proxy "https://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::ftp::proxy "ftp://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";
Acquire::socks::proxy "socks://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/";


Configurar proxy no wget 

Para configurar o proxy no wget, edite o arquivo /etc/wgetrc com seu editor favorito.
Exemplo:

sudo vim /etc/wgetrc

Procure a linha que diz "# You can set the default proxies for Wget to use...", e então descomente as 3 linhas subsequentes. Ficando como no exemplo abaixo caso você utilize proxy autenticado:

# You can set the default proxies for Wget to use for http, https and ftp.
https_proxy = http://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/
http_proxy = http://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/
ftp_proxy = http://<USUÁRIO>:<SENHA>@<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/

Caso seu proxy não exija autenticação, segue como deve ficar:





https_proxy = http://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/http_proxy = http://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/

ftp_proxy = http://<ENDEREÇO DO PROXY>:<PORTA DO PROXY>/


OBSERVAÇÃO IMPORTANTE: Não se deve utilizar "@" na senha nesses casos!

Após isso basta testar novamente os comandos. Caso ainda não funcione reinicie o Ubuntu.

Listar qual processo está utilizando mais memória

Comentarios



Pessoal,
Pequena dica, mas que ajuda muito na hora de saber "quem" está comprometendo o desempenho o sistema.
O comando a seguir mostra qual processo está utilizando mais memória da máquina.

ps aux | sort -k 4 -r | head -n 2

A resposta do comando será algo como abaixo:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql      998  0.1  5.5 887672 56320 ?        Ssl  13:45   0:12 /usr/sbin/mysqld



Você também pode ir aumentando o numero do parametro head para ver os demais processos.

Comandos úteis para monitoramento em Línux

Comentarios


Olá pessoal!
Pensei em iniciar o blog com alguma informação útil, por isso estou postando essa lista de comandos úteis, meu pequeno canivete suíço para monitorar processos, memória, processamento, logs.. ou seja, o estado geral da máquina.
Muito útil para administrar servidores Linux, mas serve também para ver se aquele processozinho que está te cismando realmente está atrapalhando o desempenho.

Free

Resumo da memória em Linux.
Exibe a quantidade de memória RAM disponível, quanto desta está sendo utilizado, quanto há de memória livre. Exibe também a memória compartilhada, buffer, cache e swap utilizada pelo kernel Linux.

Exemplos de uso:

free -m
Este comando exibe a memória física em MB.

free -h
Exibe a memória em modo mais fácil para a leitura humana, ou seja, agrupada em MB e GB.

free -m -s 5
Cria um loop de chamadas com delay de 5 segundos, ou seja, a cada 5 segundos, você terá os valores exibidos no terminal (ou onde você quiser direcionar a saída de tela) em megabytes. O intervalo de tempo pode ser modificado a sua escolha.

Vmstat

Exibe várias informações sobre memória, sistema e CPU, como swap, memória livre, buffer, memória cache, espaço para paginação, atividade de IO, traps entre outros.
Exemplos de uso:

vmstat
Indicará dados desde o último reboot da máquina.

vmstat 5
O comando indicará dados desde o último reboot da máquina e repetindo a informação de 5 em 5 segundos.

Ps

O comando ps mostra, de maneira estática, os processos que estão sendo executados no sistema. Suas opções mais comuns são:
a - Lista todos os processos criados.
x - Lista os processos que não são controlados pelo terminal.
u - Lista o nome do usuário e a hora que o processo foi iniciado.
--help - Mostra a ajuda do comando ps.
man ps - Mostra o manual completo do comando.

Exemplo de uso:

ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND root         1  0.0  0.2  33504  2756 ?        Ss   13:45   0:01 /sbin/init root         2  0.0  0.0      0     0 ?        S    13:45   0:00 [kthreadd] root         3  0.0  0.0      0     0 ?        S    13:45   0:00 [ksoftirqd/0] root         5  0.0  0.0      0     0 ?        S<   13:45   0:00 [kworker/0:0H] root         6  0.0  0.0      0     0 ?        S    13:45   0:00 [kworker/u2:0] root         7  0.0  0.0      0     0 ?        S    13:45   0:00 [rcu_sched] root         8  0.0  0.0      0     0 ?        S    13:45   0:00 [rcuos/0] root         9  0.0  0.0      0     0 ?        S    13:45   0:00 [rcu_bh] root        10  0.0  0.0      0     0 ?        S    13:45   0:00 [rcuob/0] root        11  0.0  0.0      0     0 ?        S    13:45   0:00 [migration/0] root        12  0.0  0.0      0     0 ?        S    13:45   0:00 [watchdog/0] root        13  0.0  0.0      0     0 ?        S<   13:45   0:00 [khelper] root        14  0.0  0.0      0     0 ?        S    13:45   0:00 [kdevtmpfs] root        15  0.0  0.0      0     0 ?        S<   13:45   0:00 [netns]   
 

A saída do comando é uma tabela onde cada coluna fornece uma informação, como descrito abaixo:

USER - Nome do usuário dono do processo.
UID - Número de identificação do usuário dono do processo.
PID - Número de identificação do processo.
PPID - Número de identificação do processo pai de cada tarefa.
PRI - Número de prioridade da tarefa. (Números altos são prioridades baixas).
NI - Valor preciso da prioridade da tarefa.
%CPU - O consumo de processamento do processo.
%MEM - O consumo de memória do processo.
SIZE - Tamanho do código da tarefa em kilobytes.
RSS - Soma total da memória física usada pelo processo, em kilobytes.
WCHAN - Endereço ou nome da função do kernel da tarefa que está atualmente suspensa.
STAT - Estado do processo: S - Suspenso, R - em Execução, T - Interrompido, Z - Terminado, etc.
TTY - Terminal onde são executados os processos.
TIME - Tempo total da CPU usado pelo processo desde que foi iniciado.
COMMAND - Nome do comando do processo.


Caso queira apenas informações sobre um processo específico. Veja o exemplo, que lista as informações sobre o cron:

# ps aux | grep cron
root  347  0.0  0.3  1652  680 ?        S    09:00   0:00 /usr/sbin/cron


pstree

O comando pstree é usado para visualizar a árvore de processos.
# pstree
init-+-alarmd      |-apache---5*[apache]      |-atd      |-cron      |-6*[getty]      |-i2oevtd      |-inetd

Top

O comando top é utilizado como um monitor do sistema, mostra a atividade do processador em tempo real. Exibindo as tarefas que estão sendo executadas na CPU e fornecendo uma interface amigável para o gerenciamento de processos.
Os processos exibidos ficam ordenados por ordem de consumo, facilitando a visualização.

Exemplo de uso:

top
top - 15:58:30 up  2:13,  2 users,  load average: 0,00, 0,02, 0,05 Tarefas:  80 total,   2 executando,  78 dormindo,   0 parado,   0 zumbi %Cpu(s):  0,3 us,  0,7 sy,  0,0 ni, 98,7 id,  0,0 wa,  0,3 hi,  0,0 si,  0,0 st KiB Mem:   1017916 total,   550056 used,   467860 free,    25348 buffers KiB Swap:  1951740 total,        0 used,  1951740 free.   216500 cached Mem   PID USUÃRIO  PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     1 root      20   0   33504   2756   1400 S  0,0  0,3   0:01.78 init     2 root      20   0       0      0      0 S  0,0  0,0   0:00.00 kthreadd     3 root      20   0       0      0      0 S  0,0  0,0   0:00.01 ksoftirqd/0     5 root       0 -20       0      0      0 S  0,0  0,0   0:00.00 kworker/0:0H     6 root      20   0       0      0      0 S  0,0  0,0   0:00.73 kworker/u2:0     7 root      20   0       0      0      0 S  0,0  0,0   0:00.19 rcu_sched     8 root      20   0       0      0      0 R  0,0  0,0   0:00.23 rcuos/0     9 root      20   0       0      0      0 S  0,0  0,0   0:00.00 rcu_bh    10 root      20   0       0      0      0 S  0,0  0,0   0:00.00 rcuob/0    11 root      rt   0       0      0      0 S  0,0  0,0   0:00.00 migration/0    12 root      rt   0       0      0      0 S  0,0  0,0   0:00.08 watchdog/0    13 root       0 -20       0      0      0 S  0,0  0,0   0:00.00 khelper    14 root      20   0       0      0      0 S  0,0  0,0   0:00.00 kdevtmpfs    15 root       0 -20       0      0      0 S  0,0  0,0   0:00.00 netns    16 root       0 -20       0      0      0 S  0,0  0,0   0:00.00 writeback     

Du

O comando "du" é utilizado para saber o espaço utilizado em disco, por pastas ou arquivos, de maneira rápida e fácil.

Exemplos de uso:

 du -h *
Exibe o tamanho de todos os arquivos (*) do diretório corrente em unidades humanas (KB, MB, GB, etc).
8,0K    apache2.conf 28K     conf-available 4,0K    conf-enabled 4,0K    envvars    


du -hs /etc/apache2/
Exibe o tamanho do diretório /etc/apache2 em unidades humanas de forma sumarizada.
644K         /etc/apache2/

Df

O comando "df" mostra o espaço livre e em uso de cada partição. Pode ser utilizado junto com várias opções, mas quando utilizado sozinho, mostrará o espaço usado e disponível de todos os sistemas de arquivos atualmente montados.

Exemplos de uso:

df –a
Sist. Arq.     1K-blocks   Usado Disponível Uso% Montado em /dev/sda5       28908412 1894116   25522792   7% / proc                   0       0          0    - /proc sysfs                  0       0          0    - /sys none                   4       0          4   0% /sys/fs/cgroup none                   0       0          0    - /sys/fs/fuse/connections none                   0       0          0    - /sys/kernel/debug none                   0       0          0    - /sys/kernel/security udev              498152       4     498148   1% /dev devpts                 0       0          0    - /dev/pts tmpfs             101792     512     101280   1% /run none                5120       0       5120   0% /run/lock none              508956       0     508956   0% /run/shm none              102400       0     102400   0% /run/user none                   0       0          0    - /sys/fs/pstore systemd                0       0          0    - /sys/fs/cgroup/systemd      df -hT
Mostra o espaço livre/ocupado em MB, KB, GB ao envéz de blocos e o tipo de sistema de arquivos de cada partição.

Sist. Arq.      Tam. Usado Disp. Uso% Montado em /dev/sda5        28G  1,9G   25G   7% / none            4,0K     0  4,0K   0% /sys/fs/cgroup udev            487M  4,0K  487M   1% /dev tmpfs           100M  512K   99M   1% /run none            5,0M     0  5,0M   0% /run/lock none            498M     0  498M   0% /run/shm none            100M     0  100M   0% /run/user
 


Opções:
a - inclui sistema de arquivos com 0 blocos
-h - mostra o espaço livre/ocupado em MB, KB, GB ao envéz de blocos.
-k - lista em Kbytes
-l - somente lista sistema de arquivos locais
-m - lista em Mbytes
-T - lista o tipo de sistema de arquivos de cada partição.



Tail

O comando tail pode ser utilizado para examinar as últimas linhas de um arquivo, nada que o comando Cat já não faça, porém, o que o torna muito especial é o parâmetro "-f" que permite a visualização dinâmica de um arquivo, ou seja, as linhas são exibidas na tela na medida em que são geradas. Isso torna o comando Tail importantíssimo quando se deseja monitorar um log, por exemplo.

Exemplos de uso:

tail /etc/passwd
Exibe as dez últimas linhas do arquivo /etc/passwd.

tail -n 20 /etc/passwd
É possível também especificar o número de linhas a serem exibidas, ao invés das dez linhas que o comando adota como padrão.

tail -f /var/log/apache2/error.log
Além de listar as 10 ultimas linhas do arquivo, mostrará as linhas que forem sendo "apendadas" a este em tempo real.

É isso aí! Espero ter ajudado alguém, pois quando iniciei os estudos com Linux, não conhecia nada, e tinha muita dificuldade quando surgia "a tal tela preta". kkkk

Tecnologia do Blogger.