Hoje sou usuário do LinuxDebian na versão testing/trixie com Gnome 45.
Ou seja uma versão bem atualizada.
Meu notebook é um Dell Inspiron 3558 (já não é muito moderno), e o mesmo possuí um dispositivo bluetooth conhecido como Intel 7260 ( Bus 002 Device 004: ID 8087:07dc Intel Corp. Bluetooth wireless interface )
O mesmo não funciona corretamente no Linux e até mesmo no windows há relatos de problemas.
Mesmo lendo diversas documentações não consegui fazer o mesmo funcionar corretamente.
Então apelei para o uso de um dongle externo. Mas a interface do Gnome não tem opção de selecionar qual o dispositivo bluetooth que deseja utilizar.
Uma opção seria instalar e usar o aplicativo blueman,
e a outra seria inibir o dispositivo bluetooth interno.
Optei pela opção de bloquear o dispositivo pelo controle do udev.
Para fazer isto crie um arquivo dentro de “/etc/udev/rules.d/” com qualquer nome desde que tenha a extensão .rules. No meu caso criei o arquivo com o nome “81-bluetooth-hci.rules”.
O conteúdo do arquivo /etc/udev/rules.d/81-bluetooth-hci.rules ficou assim:
Recentemente precisei configurar um servidor PPPOE para testes internos em minha empresa.
Mas não precisava ser algo complexo com banco de dados Mysql, servidor Radius, etc. Eu já tinha scripts e documentação para configuração destes servidores mais complexos e em versões anteriores do DebianLinux, mas não tinha nada para algo simples e para a ultima versão do Debian 11. Então precisei pesquisar para como configurar e estou aqui publicando os passos por mim utilizado.
Não vou detalhar a instalação do Debian 11, mas basta realizar a instalação mínima selecionando apenas o pacote ssh pois até para economia de recursos e poder se utilizar uma máquina mais simples não se faz necessário a instalação de ambiente gráfico.
Para o hardware os requisitos são bem baixos apenas sendo necessário duas placas de rede. Uma por onde receberemos a internet do provedor e a outra para ser distribuída para o ambiente interno.
Após a instalação do Linux começamos instalando os pacotes mais abaixo.
É muito importante pois na falta deles a compilação do pacote rp-pppoe pelo código fonte não ocorrerá corretamente.
Primeiro vamos atualizar a lista de pacotes com o comando abaixo.
apt-get update
Agora vamos instalar os pacotes abaixo.
apt-get install make gcc ppp ppp-dev iptables
Com os pacotes devidamente instalados precisamos baixar o pacote rp-pppoe do site do projeto.
Na data em que edito este artigo a ultima versão disponível é a 3.15.
Após ter baixado o arquivo com sucesso temos que descompactar o mesmo com o comando abaixo.
tar -zxvf rp-pppoe-3.15.tar.gz
Após descompactar o arquivo será criado a pasta rp-pppoe-3.15. Vamos acessar a pasta scr que fica dentro da mesma.
cd rp-pppoe-3.15/src
Estando dentro da pasta src vamos executar os comandos abaixo pra compilar e instalar o pacote rp-pppoe
make clean
./configure --enable-plugin
make
make install
Com o sucesso da compilação agora passamos para a criação e configuração dos arquivos necessários para o funcionamento do servidor pppoe.
# 1 /etc/default/rp-pppoe_range
O primeiro arquivo que vamos configurar é o /etc/default/rp-pppoe_range. Este arquivo não existe. Eu estou criando o mesmo dentro da pasta /etc/default/ pois é uma pasta padrão de configuração, mas este arquivo pode ser criado em qualquer outro lugar desde que devidamente referenciado nos outros arquivos de configuração.
No meu servidor a faixa de rede escolhida é 100.90.80.0/24 mas você utilizar outra faixa de rede caso preferir desde que esta faixa de rede seja diferente da faixa de rede da entrada da sua internet.
Então o conteúdo do meu arquivo /etc/default/rp-pppoe_range ficou assim.
100.90.80.2-254
# 2 /etc/ppp/chap-secrets
Este segundo arquivo é onde ficará armazenados os logins e as senhas dos clientes pppoe do servidor.
O padrão deste arquivo é .:
"login" * "senha" *
A primeira coluna é o login entre “aspas”. Sim as aspas fazem parte do arquivo. A segunda coluna é o * asterisco. A terceira coluna é a senha também entre aspas. A quarta coluna é o endereço de ip. Se deixarmos um * asteriscos o endereço de ip será aleatório dentro da faixa de rede escolhida, mas caso deseje pode se fixar o endereço.
Veja os exemplos.
"edmarcos" * "123456" *
ou
"edmarcos" * "123456" 100.90.80.3
# 3 /etc/ppp/pppoe-server-options
O terceiro arquivo que vamos editar é o /etc/ppp/pppoe-server-options. Este arquivo já existe e precisamos editar apenas um parâmetro e acrescentar outros ao mesmo.
Primeiro procure pela linha que contém este texto.:
require-pap
comente esta linha acrescentando um # no começo da mesma e abaixo dela adicione esta linha.
require-chap
Então o arquivo deve ficar assim:
#require-pap
require-chap
Agora vamos configurar os servidores de dns que desejamos utilizar. No meu caso estou utilizando os servidores do google, mas outros servidores podem ser utilizados. Então adicione as duas linha conforme exemplo abaixo.
ms-dns 8.8.8.8
ms-dns 8.8.4.4
E vamos adicionar mais 4 parâmetros ao final do arquivo como no exemplo abaixo.
No caso edite seu arquivo alterando o parâmetro “-C EdegServer” para o nome que quiser usar em seu servidor. Também altere o parâmetro “-I eth1” pelo nome da placa de rede de saída do seu servidor.
Com o arquivo devidamente customizado vamos adicionar permissão de execução do mesmo com o comando abaixo.
chmod a+x /usr/local/sbin/rp-pppoe-server.sh
# 5 /usr/local/sbin/masquerade.sh
Para que os computadores conectados neste servidor pppoe possam navegar pela internet precisamos configurar um roteamento via iptables. Para isto vamos configurar um arquivo simples para fazer o masquerade.
Segue exemplo abaixo.
#!/bin/bash
FW=/sbin/iptables
SRC=100.90.80.0/24 # faixa de rede do servidor pppoe
WAN=eth1 # placa de rede da entrada da internet
echo 1 > /proc/sys/net/ipv4/ip_forward
$FW -F
$FW -t nat -F
$FW -t mangle -F
$FW -t nat -A POSTROUTING -o $WAN -s $SRC -j MASQUERADE
Também precisamos dar permissão de execução neste arquivo com o comando abaixo.
chmod a+x /usr/local/sbin/masquerade.sh
# 6 /etc/rc.local
Para que o script /usr/local/sbin/rp-pppoe-server.sh e o script /usr/local/sbin/masquerade.sh sejam executados automaticamente toda a vez que o computador for inicializado ou reinicializado vamos fazer de maneira simples editando o arquivo /etc/rc.local.
Nas versões mais recentes do Debian este arquivo não existe mais. Por isto vamos criá-lo conforme o exemplo abaixo.
Segundo a tradução da página do projeto é: “O Cubic permite uma navegação sem esforço pelas etapas de personalização ISO e apresenta um ambiente de linha de comando virtual integrado para personalizar o sistema de arquivos Linux.Você pode criar novos projetos de personalização ou modificar projetos existentes.Parâmetros importantes são preenchidos dinamicamente com padrões inteligentes para simplificar o processo de personalização.“
No meu dia a dia com a informática tenho utilizado versões do Linux Mint Mate rodando LIVE CD por PENDRIVE principalmente para realização de backups de computadores Windows, clonagem de HDs e também em várias outras situações de manutenção.
Mas as imagens ISOS rodando via LIVECD não trazem alguns programas necessários no meu dia a dia. Entre estes programas estão o ddrescue, gparted, nfs-common. Portanto toda vez que inicializava um pendrive tinha que fazer um “apt-get update” e “apt-get install” estes programas.
Na correria do dia a dia queria não ter que perder mais este tempo.
A solução para tal problema seria customizar uma IMAGEM ISO deixando estes programas já pré instalados.
Uma maneira fácil de se fazer é utilizando o programa CUBIC mas infelizmente este pacote não se encontra disponível nos repositórios DEBIAN. Ao tentar instalar customizando repositórios PPA no debian o mesmo apresentou erros.
Então neste artigo vou mostrar uma maneira alternativa de fazer a instalação do CUBIC no DEBIAN 11 Bullseye.
Faça o download do mesmo e execute os comando abaixo. Obs: substitua cubic_2022.12-74-release~202212012321~ubuntu22.04.1_all.deb pela versão que você baixou
ar x cubic_2022.12-74-release~202212012321~ubuntu22.04.1_all.deb
zstd -d < control.tar.zst| xz > control.tar.xz
zstd -d < data.tar.zst| xz > data.tar.xz
ar -m -c -a sdsd cubic.deb debian-binary control.tar.xz data.tar.xz
dpkg -i --force-overwrite cubic.deb
apt-get -f install
Pronto o pacote cubic está instalado e agora é só fazer uso do mesmo.
Não vou falar sobre o uso do mesmo neste artigo mas abaixo link para vídeo no youtube do Prof.Juliano Ramos. Criando um Remaster do Ubuntu 20.04
As ultimas atualizações do Windows 10 criaram grandes problemas para imprimir de Linux para Windows.
Passei por situações onde em ambiente de teste funcionava mas nos cliente por mais que tudo estava configurado igual dava erro e não imprimia.
Cansando e sem perspectiva de solução optei por uma nova abordagem do problema.
Em vez de insistir usando SAMBA/CUPS por que não usar CUPS/LPR ?
Apesar de pouco documentado o Windows possui suporte a impressão no formato LPR mas o mesmo vem desativado por padrão.
Então vamos para os procedimentos necessários.
Parte 1 – Ativar o Serviço LPD no Windows.
Então o primeiro passo é ativar o mesmo. Para isto abre o painel de controle “Clássico” o mesmo do estilo do Windows7.
Vá em Painel de controle.:
Painel de controle\Programas.:
Painel de controle\Programas\Programas e recursos.:
Selecione “Ativar ou desativar recursos do Windows”
Na janela “Ativar ou desativar recursos do Windows” procure por “Serviços de impressão e Documentos” e marque a opção “Serviço de impressão LPD”
Aplique as modificações do Windows e reinicie caso necessário.
Instale, configure e compartilhe sua impressora no windows como faria normalmente. Mas recomendo no nome do compartilhamento usar nomes curtos e evitar espaços nos nomes, pois na hora de configurar o computador com Linux espaços devem ser substituídos por %20 o que pode deixar a configuração mais confusa e gerar erros.
Parte 2 – Configurar o cliente LINUX.
Caso o computador onde a impressora esteja instalada possua endereço ip fixo podemos configurar apontando para o endereço ip do computador. Mas caso o mesmo não possua ip fixo ai devemos configurar pelo nome NetBios mas para isto precisamos de configurações adicionais em seu computador com Linux.
Nas distribuições baseadas em Debian instale os pacotes:
smbclient libnss-winbind
Fontes: https://charlieharvey.org.uk/page/slow_nautilus_browse_with_netbios
apt-get install smbclient libnss-winbind
Agora edite o arquivo.:
/etc/nsswitch.conf
localize a linha começando com “hosts:” algo parecido como abaixo.
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
edite e após a palavra files adicione “wins”, deve ficar assim agora.
hosts: files wins mdns4_minimal [NOTFOUND=return] dns myhostname
Agora seu computador com Linux consegue localizar computadores windows pelo nome netbios. Agora podemos configurar via cups para imprimir no computador com windows.
No meu exemplo vou configurar utilizando a interface web do próprio cups mas outros métodos podem ser usados.
Como na imagem abaixo acesse em seu navegador o endereço https://127.0.0.1:631
Vá em “Administração” e selecione “Adicionar impressora”
Vai surgir uma janela de autenticação. Em distribuições Debian digite o login “root” e a senha do mesmo. Caso seu Linux seja Ubuntu ou Linux Mint use o usuário principal e senha do mesmo.
Com a autenticação bem sucedida selecione a opção “Impressora ou máquina LPD/LPR”. Obs: Eventualmente o texto pode variar um pouco conforme a versão do Cups ou do Linux.
Agora clique em continuar. Obs: No meu exemplo a versão do Cups está com erro de tradução e está escrito “Continar”…
No meu exemplo o computador se chama “win10-pc” e a impressora está compartilhada como “hplaser”.
Então a configuração fica.: lpd://win10-pc/hplaser
Após configurar clique em continuar.
Selecione o fabricante da impressora. No meu exemplo selecionei “HP”.
Na próxima tela selecione o modelo de sua impressora conforme o exemplo abaixo.
Na próxima tela selecione “Definir opções padrão”
Pronto. A impressora está configurada.
Agora pode testar sua impressão. Claro que para algumas impressoras como hp1102w e modelos Samsung drivers adicionais devem estar instalados em seu Linux para o correto funcionamento.
O projeto LTSP sofreu uma grande atualização e passou do LTSP 5 para LTSP 2020. Mas um dos problemas que encontrei na nova versão é que os processos são executados nas estações e não no servidor. O que pode não ser útil no caso de uso de computadores mais antigos e com menor capacidade de processamento. Infelizmente desde a versão 20 do Linux Mint e também nas ultimas versões do Ubuntu e na próxima versão do Debian 11 Bullseye somente a versão 2020 do LTSP está disponível. Então vou mostrar como configurar o LTSP 5 no Linux Mint 20.1 usando pacotes do Ubuntu 18.04 Bionic e as estações usando a versão Debian 10 Buster.
Para começar o primeiro passo é aplicar todas as atualização disponíveis até o momento. Para isto execute os comandos:
Com o sistema já atualizado também configure um endereço de IP fixo para o seu servidor. É importante lembrar que qualquer outro servidor DHCP na rede é interessante desativar os mesmos para evitar conflitos na rede.
Eu particularmente não gosto muito da estrutura de DNS fornecida pelo systemd. Por isto vamos desativar este serviço.
Se chegou até aqui sem erros finalmente então vamos proceder a configuração do LTSP. Eu particularmente prefiro configurar usando a arquitetura i386 que dá suporte a equipamentos mais antigos. Se não for o seu caso experimente também a versão amd64. Para definir o uso de versão i386 nos terminais vamos editar o arquivo /etc/ltsp/ltsp-build-client.conf com o conteúdo abaixo:
A chave para não ter erros da instalação do LTSP no Mint são a definição do mirror http://deb.debian.org/debian/ feito acima no arquivo /etc/ltsp/ltsp-build-client.conf e também criar um link simbólico na pasta ltsp-build-client.
Para isto execute os comandos abaixo.
cd /usr/share/ltsp/plugins/ltsp-build-client
ln -sf Debian Linuxmint
Agora podemos completar a instalação do Servidor LTSP executando o comando ltsp-build-client.
ltsp-build-client --copy-package-cache
O parâmetro –copy-package-cache é util pois caso tenha um erro na instalação e tenha que fazer novamente os arquivos foram salvos em /var/cache/apt/archives o que evitará que se tenha que baixar os mesmos novamente.
Caso tenha executado tudo corretamente a sua instalação deve ter concluído sem erros.
Por padrão esta instalação foi feita usando o método NBD. Este modelo tem suas vantagens mas uma desvantagem que me incomoda é que toda vez que alguma modificação for feita para algum terminal editando o arquivo lts.conf uma nova imagem tem que ser gerada, o que pode ser um pouco chato pela demora. Caso prefira trabalhar no formato NFS edite o arquivo /opt/ltsp/i386/etc/ltsp/update-kernels.conf.
Depois de modificar o arquivo /etc/exports temos que reiniciar o serviço NFS usando o comando abaixo
/etc/init.d/nfs-kernel-server restart
Mas nada vai funcionar se não configurarmos o DHCP. Eu prefiro trabalhar com o isc-dhcp-server pra quem usa dnsmasq não vou entrar em detalhes pois nunca implementei nada usando o mesmo.
Caso tenha mais de uma placa de rede no seu servidor edite o arquivo /etc/default/isc-dhcp-server como no exemplo abaixo. Nele comentei o uso do protocolo IPV6 e indiquei minha placa de rede em INTERFACESv4. Esta configuração nem sempre é necessária. Mas configurar corretamente não fará nenhum mal.
INTERFACESv4="enp0s3"
#INTERFACESv6=""
Agora vamos configurar o arquivo /etc/dhcp/dhcpd.conf adicionando ao fim do arquivo a linha abaixo.
include "/etc/ltsp/dhcpd.conf";
A instalação já terá criado um arquivo modelo em /etc/ltsp/dhcpd.conf. Mas precisamos editar o mesmo de acordo com sua rede.
Veja o exemplo abaixo.
Hoje em dia muitas empresas fazem uso de certificados no formato A1 pela facilidade de disponibilizar o mesmo em vário computadores simultaneamente, diferente dos certificado no formato A3 que podem apenas ser utilizados em um computador por vez.
Mas ocorre que muitos fornecedores de certificados fornecem os arquivos de certificados .pfx já com uma senha pré configurada, e esta senha ou é muito simples tipo 1234 ou uma senha difícil de ser lembrada.
No ambiente Windows podemos importar o certificado .pfx e depois exportar o mesmo pelo Internet Explorer alterando a senha do certificado exportado.
Mas após várias pesquisas na internet não encontrei nenhuma aplicação para o Linux, nem no projeto GNOME ou projeto KDE.
Mas podemos fazer a manipulação destes certificados tanto pelo Mozilla Firefox ou como pelo Google Chrome.
No firefox vá em:
Preferências -> Avançado -> Ver certificados
Nesta janela vá em:
Seus certificados -> Importar
A configuração de certificados digitais no formato A3 no LINUX possuí uma boa documentação já publicada, mas os softwares envolvidos para esta configuração são para versões antigas do Ubuntu e ao tentar configurar em distribuições mais recentes o procedimento encontra erros por causa de dependências de pacotes .deb não satisfeitas.
Nesta postagem vou detalhar como contornar estes problemas.
O site da certificadora VALID apresenta uma ótima documentação e os arquivos necessários para a configuração e funcionamento do seus próprios certificados como o de certificados de outras empresas certificadoras. Abaixo o link do site da VALID onde podemos fazer o download dos pacotes necessários. http://www.validcertificadora.com.br/SafeSignLinux
As configurações apresentadas abaixo foram testadas no LINUX Mint 19 Mate, mas a mesma deve funcionar em outras distribuições LINUX derivadas do Debian.
Configurando sua leitora
O primeiro passo é configurar o driver para a nossa leitora. Nos meus testes estou utilizando uma leitora da Gemalto.
Para o funcionamento desta leitora e de várias outras basta instalar o pacote libccid que acompanha todas a distribuições LINUX recentes.
Também vamos instalar os pacotes pcscd e pcsc-tools.
apt-get install pcscd pcsc-tools
Para testar se sua leitora está funcionando vamos executar no terminal o comando pcsc_scan. Na imagem abaixo podemos ver que minha leitora Gemalto foi identificada e a mesma não possuiu nenhum cartão inserido.
Comprovado o funcionamento da leitora o próximo passo é instalar a biblioteca safesignidentityclient.
Esta biblioteca é desenvolvida pela SafeSign e é utilizada por várias outras empresas certificadoras e a mesma pode ser baixada do site da VALID nas versões 32 ou 64 bits. Os links estão abaixo:
Faça o download do pacote safesign para a versão correta do seu LINUX e depois também faça o download do pacote libgdbm3 32 ou 64 bits para a versão correta do seu LINUX. Os links estão abaixo:
No exemplo abaixo vou baixar e instalar o pacote libgdbm3 64 bits.
cd /usr/local/src/
wget -c http://mirrors.kernel.org/ubuntu/pool/main/g/gdbm/libgdbm3_1.8.3-13.1_amd64.deb
dpkg -i libgdbm3_1.8.3-13.1_amd64.deb
Agora vamos baixar o pacote safesignidentityclient na pasta “/usr/local/src/”
cd /usr/local/src/
wget -c https://s3-sa-east-1.amazonaws.com/shared-www.validcertificadora.com.br/safesignidentityclient_3.0.77-Ubuntu_amd64.deb
Devido aos problemas de dependências que este pacote apresenta no Mint19 não vamos instalar o mesmo. E sim apenas extrair seus arquivos para que possam ser copiados.
Primeiro vamos criar uma pasta dentro /tmp para extrair os arquivos.
Como nossa configuração vai ser um “enxerto”, é altamente recomendável não misturar estes arquivos com os arquivos naturais do sistema. Por isto toda nossa instalação vai ser feita dentro da pasta /opt.
Então criaremos as pastas /opt/safesign/bin e /opt/safesign/lib
mkdir -p /opt/safesign/bin /opt/safesign/lib
Agora vamos copiar alguns arquivos que extraímos em /tmp/safesign para /opt/safesign/bin e /opt/safesign/bin
Abaixo a sequencia de comandos que você deve fazer:
cd /tmp/safesign/
cd usr/lib/
cp -av * /opt/safesign/lib/
cd ../bin/
cp -av * /opt/safesign/bin/
Agora vamos configurar o LINUX para que o mesmo procure pelas bibliotecas copiadas em /opt/safesign/lib/
Então temos que criar arquivo em /etc/ld.so.conf.d
Abaixo os comandos necessários:
Neste ponto o seu certificado está pronto pra uso e já pode ser configurado e testado no seu navegador Mozilla Firefox.
Abra seu navegador Mozilla Firefox. Vá em.: Menu -> Preferências
Em “pesquisar em preferências” procure por certificados (veja imagem abaixo)
Agora selecione a opção “Dispositivos de Segurança”
Na próxima janela selecione a opção “carregar”
Na janela “Carregar driver de dispositivo PKCS#11” em “Nome do módulo” edite caso deseje ou pode manter como está. Já em “Nome do arquivo do módulo” selecione o botão “Procurar” e navegue até.: /opt/safesign/lib/libaetpkss.so.3 e selecione o mesmo. Caso não receba nenhuma mensagem de erro o mesmo foi carregado perfeitamente.
Agora na próxima janela selecione a opção “Ver certificados“. Neste momento seu cartão de certificado deve estar inserido na leitora.
Após selecionar a opção “Ver certificados” a próxima janela aparecerá solicitando a senha de seu cartão. Insira a senha correta nesta janela.
Com a senha inserida a próxima janela irá mostrar que seu certificado foi carregado corretamente e está funcional.
Tokenadmin
Junto ao pacote safesing vem a aplicação tokenadmin para que possamos gerenciar seu certificado no cartão. Agora vamos configurar as dependências necessárias para o funcionamento do mesmo.
Precisamos baixar os pacotes libwxbase2.8, libwxgtk2.8 e libtiff4. Abaixo os links para os mesmos.
Recentemente um cliente que é advogado decidiu passar a utilizar Debian Linux em seu computador de trabalho.
Uma dos problemas de compatibilidade que surgiu e precisou ser sanado foi que um determinado site utilizado pelo cliente somente funciona se usando java na versão 32 bits. Diferente do Windows que mesmo se utilizando o sistema em 64 bits, é padrão o navegador e o Java serem 32 bits. Já no Linux 64 bits o java padrão também é 64 bits.
Para resolver este problema resolvi instalar versões do navegador Firefox e Java em 32 bits no sistema, mas mantendo as versões originais em 64 bits.
O processo foi feito no Debian Linux 9 Stretch mas deve funcionar perfeitamente na versão Debian 8 Jessie.
Então neste post publico o script que desenvolvi para automatizar o processo.
Primeiramente faça o download do script que o link que se encontra mais abaixo.
Salve o mesmo e renomeie para a extensão “.sh”
mv firefox32on64.txt firefox32on64.sh
Feito isto de a permissão de execução para o mesmo com o comando chmod a+x firefox32on64.txt
chmod a+x firefox32on64.sh
Agora como usuário root execute o script
./firefox32on64.sh
O script vai instalar as dependências necessárias de bibliotecas 32 bits.
Depois vai realizar o download automático da ultima versão do Firefox na versão i686 e salvar na pasta /opt e criar o atalho Firefox 32 no sistema.
O próximo passo é instalar o java na versão 32 bits também. Para o java o download não é automático mas o script lhe fornece o link do site da oracle onde você deve copiar o link do download da versão java Linux e copiar o link de volta no terminal. (veja exemplo na imagem abaixo)
Após a cópia do link do download do java no terminal o mesmo será baixado e instalado automaticamente e o plugin habilitado no navegado 32 bits.
Existe muita documentação sobre o uso de HDs SSD no LINUX. Algumas são antigas e outras pouco detalhadas.
Bem pesquisei várias documentações em diversos sites e baseado nas que achei mais interessantes criei um script para ser usado no Debian. Este script foi testado no Debian 8 Jessie mas imagino que possa funcionar bem no Wheezy e também no Ubuntu e Linux Mint devido a semelhança destes sistemas.
#!/bin/bash
# edmarcos antonio de souza
# contato arroba edeg.com.br
# 20150704
# http://stackoverflow.com/questions/18596778/difference-between-using-chmod-ax-and-chmod-755
# http://unix.stackexchange.com/questions/37313/how-do-i-grep-for-multiple-patterns
# http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/
# https://en.opensuse.org/SDB:SSD_performance
# https://wiki.freeswitch.org/wiki/SSD_Tuning_for_Linux
# https://wiki.archlinux.org/index.php/Solid_State_Drives
# fstrim -------------------------------
test -x /etc/cron.weekly/dofstrim || {
echo "#!/bin/sh
#
# To find which FS support trim, we check that DISC-MAX (discard max bytes)
# is great than zero. Check discard_max_bytes documentation at
# https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
#
# http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/
for fs in \$(lsblk -o MOUNTPOINT,DISC-MAX,FSTYPE | grep -E '^/.* [1-9]+.* ' | awk '{print \$1}');
do
fstrim -v \"\$fs\"
done" > /etc/cron.weekly/dofstrim
chmod a+x /etc/cron.weekly/dofstrim
}
# swappiness ---------------------------
echo "# https://en.opensuse.org/SDB:SSD_performance
vm.swappiness=1
vm.vfs_cache_pressure=50" > /etc/sysctl.d/30-ssd.conf
# scheduler ----------------------------
# https://wiki.archlinux.org/index.php/Solid_State_Drives
test -f /etc/udev/rules.d/60-scheduler.rules || {
echo "# set deadline scheduler for non-rotating disks
ACTION==\"add|change\", KERNEL==\"sd[a-z]\", ATTR{queue/rotational}==\"0\", ATTR{queue/scheduler}=\"deadline\"
# set cfq scheduler for rotating disks
ACTION==\"add|change\", KERNEL==\"sd[a-z]\", ATTR{queue/rotational}==\"1\", ATTR{queue/scheduler}=\"cfq\"" > /etc/udev/rules.d/60-scheduler.rules
}
# fstab --------------------------------
FSTAB=/etc/fstab
IFS_CURRENT=$IFS
IFS=$(echo -en "\n\b")
# noatime
for i in `cat $FSTAB | grep -w "ext[3-4]" | grep -v "noatime"`
do
OPTIONS=$(echo $i | awk {'print $4'})
LINE=$(echo $i | sed s/$OPTIONS/$OPTIONS,noatime/g)
sed -i "s|$i|$LINE|" $FSTAB
done
# commit=600
for i in `cat $FSTAB | grep -w "ext[3-4]" | grep -v "commit=600"`
do
OPTIONS=$(echo $i | awk {'print $4'})
LINE=$(echo $i | sed s/$OPTIONS/$OPTIONS,commit=600/g)
sed -i "s|$i|$LINE|" $FSTAB
done
IFS=$IFS_CURRENT
Abaixo o link para o script.
Faça o download do mesmo renomeie a extensão .txt para .sh , de permissão de execução para o mesmo e execute. task-ssd
Recentemente o java tem se tornando uma grande dor de cabeça tanto no windows quanto no linux.
Manter uma versão desatualizada impede o funcionamento de diversas aplicações on-line principalmente o sistemas da Caixa Econômica Federal. E as versões disponibilizadas pelos repositórios das distribuições nem sempre são devidamente atualizadas.
O código abaixo automatiza a instalação do java baixado diretamente do site da oracle já configurando devidamente os parâmetros necessários para o bom funcionamento das aplicações.
Este código foi testado em distribuições baseadas no Debian.
Antes de começar desinstale todos os pacotes “.deb” que por ventura tenha vindo a instalar.
Escolha a versão Linux ou Linux64 conforme a versão do seu Linux.
Obs: Não baixe as versões “RPM”!
#!/bin/bash
# edmarcos antonio de souza
# 20111109
# 20130102
# 20130318
# 20130402
# 20130529
# 20130230
# 20130807
# 20140112
# 20140121
# 20140129
# http://www.java.com/en/download/help/linux_install.xml
# http://www.java.com/pt_BR/download/linux_manual.jsp?locale=pt_BR
# http://wiki.debian.org/JavaPackage
# http://www.crazysquirrel.com/computing/debian/java.jspx
# http://forums.debian.net/viewtopic.php?f=16&t=77140
# download do java
# chmod 755 pacote-java.bin ( no rpm )
# ./pacote-java.bin
# mv pasta_java /usr/local/
# ln -sf /usr/local/pasta_java /usr/local/java
# update-alternatives --install /usr/bin/java java /usr/local/java/bin/java 1
# update-alternatives --install /usr/bin/javaws javaws /usr/local/java/bin/javaws 1
COLOR_BLUE="\033[0;34m"
COLOR_LESS="\033[0m"
ARCH=`arch`
case $ARCH in
i686|i486)
# 32 bits ----------------------
PLUGIN()
{
test ! -d /usr/lib/mozilla || {
ln -sf /usr/local/java/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so
}
}
FILE="Linux"
;;
x86_64)
# 64 bits ----------------------
PLUGIN()
{
test ! -d /usr/lib/mozilla || {
ln -sf /usr/local/java/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so
}
}
FILE="Linux x64"
;;
esac
clear
echo
echo "Acesse:"
echo -e "${COLOR_BLUE}http://www.java.com/pt_BR/download/linux_manual.jsp?locale=pt_BR${COLOR_LESS}"
echo "Selecione o arquivo $FILE e copie o link com o botão direito do mouse."
echo "Obs: Não selecione o arquivo $FILE RPM !"
echo "Cole o link selecionado do download do java neste terminal..."
echo
read LINK
echo
wget -c $LINK -O /tmp/java.tar.gz
# descompacta o java -------------------
tar -zxvf /tmp/java.tar.gz -C /usr/local/
# ajustas as permissoes do java --------
chown -R root:root /usr/local/`tar -ztvf /tmp/java.tar.gz | awk {'print $6'} | cut -d / -f1 | uniq`
# cria o link simbolico java -----------
test -L /usr/local/java && {
rm -vf /usr/local/java
}
test -d /usr/local/java && {
mv /usr/local/java /usr/local/java-`date +%Y%m%d`.old
}
cd /usr/local/
ln -sf `tar -ztvf /tmp/java.tar.gz | awk {'print $6'} | cut -d / -f1 | uniq`/ java
# set java como padrão -----------------
update-alternatives --install /usr/bin/java java /usr/local/java/bin/java 1
update-alternatives --install /usr/bin/javaws javaws /usr/local/java/bin/javaws 1
update-alternatives --install /usr/bin/jcontrol jcontrol /usr/local/java/bin/jcontrol 1
update-alternatives --set java /usr/local/java/bin/java
update-alternatives --set javaws /usr/local/java/bin/javaws
update-alternatives --set jcontrol /usr/local/java/bin/jcontrol
# habilita plugin navegador ----------------------------------------------------
PLUGIN
Baixe o arquivo abaixo e renomeie o mesmo para .sh