Como remover caracteres ^M de arquivos usando VIM/VI (vale para qualquer UNIX-like)

Standard

Bom, galera, quem aqui nunca abriu um arquivo no console que apresentou caracteres ^M?
Normalmente essas pragas aparecem ou com o Dreamweaver ou com Word (cópia) – Área de Transferência, depois os caras costumam enviar por ftp e daí já sabe né? Se abrir o arquivo via console tá lá a praga!

Bem, a dica que nós do AppUnix vamos dar é simples, porém eficaz.

Abrindo seu vi/vim (no exemplo abaixo iremos dar o nome do arquivo como sendo crash.php):

vim crash.php

Assim que o arquivo for aberto o vi/vim estará em modo de comando, para ativar execuções aperte “:” (literalmente os 2 pontos SEM ASPAS) e digite o seginte %s/ (percentual, depois, s e depois / )  e em seguida aperte CTRL+V e CTRL+M e por fim digite //g

Na linha de execução do vi/vim vai aparecer literalmente isso aqui abaixo:

:%s/^M//g

Apertamdo ENTER ele vai remover toda a praga dos caracteres ^M.

Curtiu?
SHARE NELE!

Abraços galera.

Como mudar plano de Fundo do Terminal no Mac Os X

Standard

Olá, pessALL, nós do 4ppun1x estamos ensinando nesse how to como mudar o plano de fundo do seu terminal unix, passos simples que vão te dar muita moral para isso (lol, “achamos a cura da AIDS”…). Vamos simbora?

Primeiro precisamos abrir o terminal Unix do mac (… nããããããão, iremos abrir o photoshop pra editar no terminal… lol), para isso clique em Applications (Aplicativos) -> Utilities (Utilitários) e procure por uma caixinha preta, TERMINAL, conforme a imagem abaixo:

abrir terminal UNIX no mac

abrir terminal UNIX no mac

Depois procure pelo menu por Preferences (Preferências), veja o print:

Preferencias no terminal

Preferencias no terminal

Agora devemos procurar por Settings (Ajustes), conforme a imagem abaixo:

Ajustes no terminal

Ajustes no terminal

Depois disso basta clicar na aba WINDOW (Janela) e no meio do menu aparecerá IMAGE, escolha um png punk e substitua-o :P.

Abraços.

 

Fonte: http://osxdaily.com

Como fazer tunning do Terminal Server na windows server 2003

Standard


Eliminate IE Flickering: Configure this setting to force off-screen composition of Internet Explorer, which eliminates the flickering effect. In HKEY_ CURRENT_USER\Software\Microsoft\Internet Explorer\Main, set the DWORD value for Force Offscreen Composition to 1.

Disable Office 2003 Customer Experience Improvement Program: Configure this setting to prevent Office from prompting the user to participate in this program. To enable, in HKEY_ CURRENT_USER\Software\Microsoft\Office\Common, set the DWORD value for QMEnable to 1.
Disable File Locking: Configure this setting to modify the file locking behavior on the server. This will enhance performance, but it's known to have issues with some database applications. To enable, in HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters, set the DWORD value for UseLockReadUnlock to 1.

Disable NTFS Last-Accessed Time Stamping: Configure this setting to prevent the system from updating the last accessed time stamp on files, which can enhance performance. Some applications require this to be accurate, so test prior to implementing. To enable, in HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\FileSystem, set the DWORD value for NtfsDisable LastAccessUpdate to 1.
Turn off Lazy Writes: This setting prevents the system from caching write operations before writing them to disk. This can speed operation over the network. Configure the following two keys: In HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanServer\Parameters, set the DWORD value for IRPStackSize to 15. Also, in HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanWorkstation\Parameters, set the DWORD value for UtilizeNT Caching to 0.

Improve Windows Kernel Performance: Prevents the system from paging kernel mode drivers and system code to disk, which can decrease performance. To configure: In HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\Session Manager\ Memory Management, set the DWORD value for DisablePagingExecutive to 1.

Increase the Network Request Buffer: This setting boosts performance by increasing the size of the network request buffer, which determines how much data is stored before it is sent to the client. This setting can also improve LAN Manager file writing performance. Increasing the size of this buffer will consume RAM, so adjust and monitor carefully. To enable, in HKEY_ LOCAL_MACHINE\System\Current ControlSet\Services\LanmanServer\Parameters, increase the DWORD value for SizReqBuf to a value between 1024 and 65535.

Eliminate Session Hangs During Logoff: Terminal Server sessions can sometimes hang when the user attempts to log off. One solution: Modify available network buffers and open connections. Configure the following keys: In HKEY_LOCAL_MACHINE\ System\CurrentControlSet\Services\ LanmanServer\Parameters, set the DWORD value for MaxWorkItems to 8196, MaxMpxCt to 2048, MaxRaw WorkItems to 512, MaxFreeConnections to 100, and MinFreeConnections to 32. In KEY_LOCAL_MACHINE\ System\CurrentControlSet\ Services\LanmanServer\Parameters, set the DWORD value for MaxCmds to 2048. Also, in HKEY_LOCAL_ MACHINE\System\Current ControlSet\Control\SessionManager\ ConfigurationManager, set the value for RegistryLazyFlushInterval to 60. Lastly, ensure that the Enable Advanced Performance feature is enabled when viewing device properties of all disk drives on the system.

Speed up Application Load Times: Increase the perceived performance of your Terminal Server by pre-loading commonly used files into memory. This works well on systems with plenty of available RAM. To enable, in HKEY_ LOCAL_MACHINE\System\ CurrentControlSet\Control\Session Manager\Memory Management\ PrefetchParameters, set the DWORD value for EnablePrefetcher to 3.

Disable Caching of Roaming Profiles: Excess roaming profiles on a Terminal Server can consume disk and Registry quota space. Configuring this setting can eliminate waste but increase user's login time. To enable, in HKEY_ LOCAL_MACHINE\Software\ Microsoft\Windows NT\Current Version\Winlogon, set the DWORD value for DeleteRoamingCache to 1.

Disable Unused Subsystems: Not using the POSIX subsystem on your Terminal Server? Disable it and navigate to the registry location HKEY_LOCAL_ MACHINE\System\CurrentCon trolSet\Control\Session Manager\ Subsystems and delete the Posix key. Disable the File Indexing Service: File Indexing Service is great for quickly searching for files, but your Terminal Server arguably shouldn't have that many user files on it and the indexing process can consume huge system resources. To disable it, navigate to the properties menu of each drive on your system and deselect the box for Allow Indexing Service to index this disk for fast file searching.

O registro do windows deve assemelhar-se com:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\
Main]
"Force Offscreen Composition"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common]
"QMEnable"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanWorkstation\Parameters]
"UseLockReadUnlock"=dword:00000001

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanman Server\Parameters]
"IRPStackSize"=dword:0000000f
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\
Lanman WorkStation\Parameters]
"UtilizeNTCaching"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
LanmanServer\Parameters]
"SizReqBuf"=dword:0000ffff

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanmanserver\Parameters]
"MaxWorkItems"=dword:00002004
"MaxMpxCt"=dword:00000800
"MaxRawWorkItems"=dword:00000200
"MaxFreeConnections"=dword:00000064
"MinFreeConnections"=dword:00000020
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
Lanmanworkstation\Parameters]
"MaxCmds"=dword:00000800
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
Session Manager\Configuration Manager]
"RegistryLazyFlushInterval"=dword:0000003c

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
SessionManager\Memory Management\PrefetchParameters]
"EnablePrefetcher"="3"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon]
"DeleteRoamingCache"=dword:00000001

http://redmondmag.com/articles/2006/06/01/speed-up-terminal-server.aspx

Comando básicos Linux

Standard

Olá galera tudo na paz?
Hoje vou voltar um pouco no tempo e passar aos que estão começando agora no mundo Linux (GNU/Linux) … lembrando que como “todos”ou quase todos sabem o Terminal/Console Linux é muito poderoso e pode em alguns casos até ferrar com sua instalação… tomem cuidado…hehehehehe…. “Terminal é um Mal Necessário”, há momentos em que não possuímos por algum motivo e que só o terminal pode nos ajudar…. Que diga o sufoco que passamos (Eu e Little_Oak) em que após uma queda de energia(diga-se besteira ao deligar do Nobreak um servidor em produção) um Servidor com Ubuntu não queria subir por nada…. mas vamos ao que interessa, essa é uma história longa fica para outro dia…
Vamos lá… esses são comandos que qualquer usuário Linux que se preze deve saber

cat [arquivo]: Ecoa na tela o conteúdo do arquivo em questão

root@appunix:~#cat appunix.txt

cd : Change Directory, ou seja comando usado para navegação entre os diretórios…

root@appunix:~#cd /etc/squid

chmod: Importantíssimo, usado para estar permissões em arquivos e/ou diretórios

root@appunix:~#chmod 777 /etc/squid/ip_liberado.txt

clear: limpa todo conteúdo da tela do console, uso das teclas CTRL+L proporciona o mesmo efeito

cp [origem] [destino]: comando de cópia em sistemas Unix-Like, costumo usar bastante antes de de alterar algum arquivo de configuração

root@appunix:~#cp /etc/squid/squid.conf /etc/squid/squid.conf.BKP

date: mostra a data e a hora atual, é usado também para acertar a data e hora

root@appunix:~#date mmddHHMMYYYY

onde são:
mm (mês 00-12)
dd (dia 00-31)
HH (hora 00-23)
MM (min 00-59)
YYYY (0000-9999)

df: mostra as partições usadas, costumo usar bastante df -h que mostra informações em formato que seres humanos conseguem entender

root@appunix:~#df -h

diff [arquivo] [arquivo_de_Comparação] : usado para identificar as diferenças entre dois arquivos

root@appunix:~#diff /etc/squid/squid.conf /etc/squid/squid.conf.BKP

du -[argumento] [diretorio ou arquivo]: mostra o tamanho de um diretório ou arquivo, uso sempre com o argumento -h pois esse argunto nos mostra em formato legível por nós

root@appunix:~#du -h /etc/squid/squid.conf

file [arquivo]: mostra informações de um arquivo, como Codifica’ão de caracteres e linguagem em que está o arquivo

root@appunix:~#file /etc/squid/squid.conf
squid.conf: ASCII English text

finger [usuário]: exibe informações sobre o usuário em questão, nome e diretório (o /home do usuário), é ncessário fazer a instalação do pacote finger

root@appunix:~# finger Login: root

Name: root
Directory: /root                        Shell: /bin/bash
On since Sun May 22 22:46 (BRT) on pts/0 from 187.20.XXX.XXX (messages off)
No mail.
No Plan.

free -[opção]: usado para mostrar a quantidade de memoria ram usada/livre do PC, -b,-k,-m,-g mostram informações respectivamente em Bytes, KBytes, MBytes e GBytes

root@appunix:~# free -m

halt: desliga o computador, só pode ser executado pelo root

root@appunix:~#halt

history: mostra os últimos comandos utilizados, o mesmo que cat .bash_history (no diretório raiz)

root@appunix:~# history
18  vim ip_liberado.txt
19  killall squid3 -HUP
20  cat /etc/squid3/ip_liberado.txt
21  cd /etc/squid3/
22  vim trava_msn_orkut.txt
23  cd /etc/squid3/
24  vim trava_m
25  vim trava_msn_orkut.txt
26  killall squid3 -HUP
27  cd /etc/squid3/

kill: usado para encerrar processados em sistemas GNU Linux

root@appunix:~#killall mysql

ou

root@appunix:~#killall -9 1970

ls: lista os arquivos e diretórios da pasta atual, usado também para saber as permissões que determinados arquivos/diretórios têm

root@appunix:~#ls -la

lynx: esse é o navegador via console

root@appunix:~#lynks http://www.google.com.br

mv [origem] [destino]: á uma espécie de CTRL+X via console, move o conteúdo de um arquivo para um outro

root@appunix:~#mv /etc/squid/squid.conf /etc/squid/squid.conf.BKP

mkdir [nome_diretório]: comando usando para criar diretórios

root@appunix:~#mkdir Sites

passwd [usuário]: serve para alterar senhas dos usuarios

root@appunix:~#passwd doooguinha

ps: mostra os processos em execução no sistema, onde possui as seguintes opções:

a – mostra todos os processos existentes;
e – exibe as variáveis de ambiente relacionadas aos processos;
f – exibe a árvore de execução dos processos;
l – exibe mais campos no resultado;
m – mostra a quantidade de memória ocupada por cada processo;
u – exibe o nome do usuário que iniciou determinado processo e a hora em que isso ocorreu;
x – exibe os processos que não estão associados a terminais;
w – se o resultado de processo não couber em uma linha, essa opção faz com que o restante seja exibido na linha seguinte.

root@appunix:~#ps -aux

pwd: server para mostrar qual o seu diretório corrente

root@appunix:~#pwd
/var/root

reboot: reinicia o sistema imediatamente

root@appunix:~#reboot

rm [arquivo]: apaga o arquivo especificado, substitui também o comando rmdir quando utilizada a opção -r, costumo me ferra sempre mas uso SEMPRE com as opções -rf, que não me pergunta nada e força a exclusão do arquivo

root@appunix:~#rm -rf /etc/samba/smb.conf

shutdown: desliga ou reinicia o computador, veja:

root@appunix:~#shutdown -r now (reinicia)

root@appunix:~#shutdown -h now (desliga)

A opção now pode ser mudada, por exemplo para +10, o sistema irá reiniciado ou desligado daqui a 10 minutos.

su: muda de usuario corren para superusuário, costumo usar su –, será solicitada a senha de root do sistema

tar -xzvf [arquivo.tar.gz]: extrai um arquivo compactado em tar.gz para o diretório corrente.

root@appunix:~#tar -xzvf  squid-2.5.STABLE14.tar.gz

top: exibe uma visão geral do sistema, como uso de memória, tempo em que o server está ligado, os processos, dentre outras informações

root@appunix:~#top cd1 (que muda o intervalo de tempo das atualizações da tela para 1 segundo)

uname: mostra informações sobre o sistema (utilizado por mim única e exclusivamente para saber a versão do kernel do sistema em questão)

root@appunix:~#uname -a
Linux servidor2 2.6.38-22-generic-pae #36-Ubuntu SMP Thu Jun 3 23:14:23 UTC 2010 i686 GNU/Linux

Usuários um pouco mais avançado do sistema do pinguim devem estar sentindo falta de alguns comandos, mas essa é só a primeira parte de comando indispensáveis para usuários Linux, acalmem-se em uma próxima ocasião mostrarei os restante desses comandos que considero indispensáveis.

Obrigado a você que visita nosso Blog e fique a vontade para qualquer pergunta….

Espero que seja de grande serventia tais comando para você que inicia nessa maravilhosa vida com o pinguim!!!!

Abraço a todos. 😀

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

Standard

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.

Quem é mais rápido: O mv ou cp para manipular um arquivo de um lugar para outro?

Standard

Um dia esta dúvida pode ir a sua cabeça, por isso, nada de pânico, a resposta é simples e direta:

Para mover arquivos de um lugar para outro o MV é mais rápido que o CP pois o CP recria a estrutura de inode para o arquivo, o mv renomeia o tte desta estrutura, então, concluímos que o mv é mais rápido.