quinta-feira, 21 de junho de 2018

Multiplexador de terminais

Neste post vamos falar do TMUX que é um multiplexador de terminais.
Afinal o que é um multiplexador de terminais?
É um programa que roda no linux e que permite a criação de vários terminais dentro de uma sessão de acesso de usuário, por exemplo via tty, ssh ou telnet.
Estes terminais são acessados e controlados a partir de uma única tela.
Ele não é a mesma coisa, mas tem um comportamento ligeiramente semelhante ao Terminator.
Contudo com o tmux pode ser separado de uma tela e continuar a execução em segundo plano que pode em seguida ser reconectada.

Como instalar. 

O Tmux pode ser instalado de diversas maneiras. Por exemplo no ubuntu basta usar os comandos

sudo apt-get update
sudo apt-get install tmux

Contudo nem sempre este procedimento fornece a última versão.
Para isto temos que fazer um processo mais complicado que mostro a seguir.

1-) Precisamos instalar várias dependências e começamos atualizando as informações de pacotes. Os comandos a seguir vão fazer esta atualização, baixar o git (um programa necessário para baixar os fontes do tmux) e instalar as ferramentas de compilação ( compilação ?? não se assunte, seguindo estes passos é fácil).

$ sudo apt update
$ sudo apt install -y git
$ sudo apt install -y automake
$ sudo apt install -y build-essential
$ sudo apt install -y pkg-config
$ sudo apt install -y libevent-dev
$ sudo apt install -y libncurses5-dev

Note que você pode dar todos os comandos apt install em uma única linha.

2-) Precisamos escolher o diretório de destino para o qual faremos o download do tmux. Vamos fazer o download em /tmp/tmux. A primeira linha é só para garantir que o diretório está vazio.

$ rm -fr /tmp/tmux
$ git clone https://github.com/tmux/tmux.git /tmp/tmux

3-) Git deve ter baixado os fontes e agora vamos compilá-la.

$ cd /tmp/tmux
$ sh autogen.sh
$ ./configure
$ make
$ sudo make install
$ cd ~
$ rm -fr /tmp/tmux

Remover o tmux

Se você removeu o diretório de compilação (/tmp/tmux) será preciso remover manualmente o tmux.
Use whereis para saber onde os arquivos estão e apague-os.
Abaixo um exemplo com o saída no meu computador. Note que whereis retorna dois caminhos (um executável e um arquivo gz). Apague os dois e pronto.

$ whereis tmux
tmux:  /usr/local/bin/tmux /usr/share/man/man1/tmux.1.gz
$ sudo rm /usr/local/bin/tmux /usr/share/man/man1/tmux.1.gz


sexta-feira, 1 de junho de 2018

Instalar Redis no Ubuntu 18

Redis é um serviço de armazenamento de dados na memória que utiliza o paradigma valor-chave.
Ele é conhecido por sua flexibilidade, desempenho e amplo suporte a idiomas.
Mostraremos neste post como instalar e configurar o Redis em um servidor Ubuntu 18.
Consideramos que você já tenha feito download e instalado o Ubuntu-server e que tenha acesso de root ao servidor (ou vm).

Instalação

Para obter a versão mais recente do Redis, compilamos e instalamos do código-fonte. Assim, precisamos satisfazer as dependências de compilação instalando o meta-pacote build-essential e tcl dos repositórios do Ubuntu, usando os comandos:

$ sudo apt-get update
$ sudo apt-get install tcl build-essencial

Em seguida, podemos começar a instalar o Redis, começando pelo download.
Extraímos o código-fonte no nosso servidor, por exemplo no diretório /tmp.
Vamos baixar a versão estável do Redis.

$ cd /tmp
$ curl -O http://download.redis.io/redis-stable.tar.gz
$ tar xzvf redis-stable.tar.gz
$ cd redis-stable

Para compilar os passos são simples:

$ make
$ make test
$ sudo make install

Configuração

Com o Redis instalado, precisamos agora fazer uma configuração básica para ele rodar.
Para começar, precisamos criar um diretório de configuração cujo padrão é /etc/redis, que pode ser criado digitando:

$ sudo mkdir /etc/redis
$ sudo cp /tmp/redis-stable/redis.conf /etc/redis
$ sudo vi /etc/redis/redis.conf

1º) No arquivo, localize a diretiva supervised que por default é definido como não. Como estamos executando um sistema operacional que usa o init systemd, podemos mudar isso para systemd.

2º) O próximo passo é alterar o parâmetro dir que especifica o diretório que o Redis usará para despejar dados persistentes. Precisamos escolher um local onde o Redis tenha permissão de gravação e que não seja visualizável por usuários normais. Nós vamos usar o /var/lib/redis que criaremos manualmente.

3) Criar usuários, grupos e diretórios:

$ sudo adduser --system --group --no-create-home redis
$ sudo mkdir /var/lib/redis
$ sudo chown redis:redis /var/lib/redis
$ sudo chmod 770 /var/lib/redis

4) Criar o arquivo de inicialização /etc/systemd/system/redis.service:
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

Testando

Vamos iniciar o serviço com o comando mostrado na primeira linha abaixo e verifique se o serviço não teve erros executando a segunda linha:
$ sudo systemctl start redis
$ sudo systemctl status redis
Você verá um resultado semelhante ao abaixo. Note na última linha que está dizendo "Ready to accept connections", ou seja, pronta para receber conexões.


Para habilitar que o Redis inicie com o Boot

Se todos os seus testes funcionarem e você desejar iniciar o Redis automaticamente quando o servidor inicializar, digite:
$ sudo systemctl enable redis




Desabilitar ModemManager no Ubuntu

 ModemManager provides a unified, high-level interface to control all kinds of modems: 4G/5G modems (LTE/NR) 3G modems NB-IoT / Cat-M1 modul...