sexta-feira, 15 de outubro de 2021

Linux Debian e problemas para transmitir no Chromecast

 Passei por alguns problemas para transmitir os vídeos, pelo linux Debian 11, tanto do Google Chrome com o ícone "transmitir" (Youtube, Netflix, etc...), como pelo programa VLC, e o mais estranho é que eu conseguia transmitir antes, quando estava na versão do Debian 10, e depois que parou, conseguia transmitir pelos demais dispositivos de casa, tanto Smartphone, Google Home, etc... O que mostra que não era um problema no aparelho.

Mesmo estando na mesma rede wi-fi e utilizando o mkchromecast, não conseguia encontrar o chromecast:

vagrella@trinity:~$ mkchromecast 

Mkchromecast v0.3.9

Creating Pulseaudio Sink...

Open Pavucontrol and Select the Mkchromecast Sink.

Starting Local Streaming Server

[Done]

Selected backend: parec

Selected audio codec: mp3

Default bitrate used: 192k

Default sample rate used: 44100Hz.

PID of main process: 4468

PID of streaming process: 4472

 * Serving Flask app 'mkchromecast.audio' (lazy loading)

 * Environment: production

   WARNING: This is a development server. Do not use it in a production deployment.

   Use a production WSGI server instead.

 * Debug mode: off

 * Running on http://192.168.5.100:5000/ (Press CTRL+C to quit)

No devices found!

Cleaning up /tmp/...

[Done]

Morto

 Quando deveria ter algo do tipo:

vagrella@trinity:~$ mkchromecast 

Mkchromecast v0.3.9

Creating Pulseaudio Sink...

Open Pavucontrol and Select the Mkchromecast Sink.

Starting Local Streaming Server

[Done]

Selected backend: parec

Selected audio codec: mp3

Default bitrate used: 192k

Default sample rate used: 44100Hz.

PID of main process: 7003

PID of streaming process: 7007

 * Serving Flask app 'mkchromecast.audio' (lazy loading)

 * Environment: production

   WARNING: This is a development server. Do not use it in a production deployment.

   Use a production WSGI server instead.

 * Debug mode: off

 * Running on http://192.168.5.100:5000/ (Press CTRL+C to quit)

List of Devices Available in Network:

-------------------------------------

Index   Types   Friendly Name 

=====   =====   ============= 

0 Gcast Casa

1 Gcast TvCozinha

2 Gcast GrupoCozinha

Casting to first device shown above!

Select devices by using the -s flag.

Depois que arrumei, essa foi a saída. :)

O problema foi o firewall, mais precisamente o firewalld, que fez com que o meu Chromecast não fosse reconhecido pelos demais programas, uma maneira de testar se isso está ocorrendo pode-se remover o firewall.

Para verificar se ele está instalado:

root@trinity:~# dpkg -l |grep firewall

ii  firewalld                                                   1.0.1-2                               all          dynamically managed firewall with support for network zones

E para remover:

root@trinity:~# dpkg -P firewalld

Outra maneira, caso não esteja com o super usuário root, seria:

# sudo apt remove firewalld

Agora, se o seu caso, não for o problema do firewall, aqui vão umas dicas que podem te ajudar:

1 - Certifique-se que o Chromecast está conectado na mesma rede wi-fi do seu computador.

2 - O navegador Google Chrome vem com um ícone "Transmitir", que pode ser exibido na lateral superior direita:
  Para habilitá-lo: Selecione "Personalizar e controlar o Google Chrome", que são os 3 pontos no canto superior direito e clique na opção "Transmitir...".
Já deverá aparecer seu Chromecast 

3 - O programa VLC também tem suporte ao Chromecast em: "Reprodução > Exibidor".

4 - Alguns pacotes e programas que pode ajudar:

apt-get install ffmpeg npm nodejs gstreamer1.0-plugins-{base,good,bad,ugly}
apt-get install gstreamer1.0-vaapi
apt-get install chrome-gnome-shell





 

quarta-feira, 13 de fevereiro de 2019

Utilizando o Git - Pegar o Projeto enviar arquivos e pegar as atualizações

Para acessar e conhecer os Projetos que estão no GitLab informe se usuário e senha, para fazer o acesso e serão exibidos apenas os projetos que o seu usuário te permissão, dependendo da permissão de visibilidade do projeto, que pode ser: "Público", "Privado" ou Usuários Logados podem ver.

Baixando o Projeto:

Para fazer o download de um projeto do GitLab, utilizaremos o exemplo de um projeto já existente chamado dir_projeto, que será baixado dentro do diretório /home/dev/git/, lembrando que o diretório:

user@host:/home/dev/git$ git clone https://git.host/dir_projeto/dir_projeto.git


Será solicitado o usuário e senha:

Cloning into 'dir_projeto'...
Username for 'https://git.host': user
Password for 'https:host':
remote: Counting objects: 40, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 40 (delta 13), reused 0 (delta 0)
Unpacking objects: 100% (40/40), done.
Checking connectivity... done.

Perceba que foi criado um diretório dir_projeto com todos os arquivos do projeto

Enviando arquivos e diretórios ("Commitando"):

Segue um exemplo para fazer o commit das alterações ou novos arquivos, basta realizar os seguintes comandos:

user@host:/home/dev/git/dir_projeto$ git add *
user@host:/home/dev/git/dir_projeto$ git commit -m "Arquivos explicativos para criação do diretório" 


Teremos a seguinte saída de tela:

[master b8eee04] Arquivos explicativos para criação do diretório
8 files changed, 56 insertions(+)
create mode 100644 /home/dev/git/dir_projeto/leiame.txt

...

Ainda os arquivo não foram enviados.
Para realizar o envio para o servidor do GitLab, utilizamos o comando:

user@host:/home/dev/git/dir_projeto$ git push origin master


Saída de tela:

Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 900 bytes | 0 bytes/s, done.
Total 7 (delta 1), reused 0 (delta 0)
To ost:dir_projeto/dir_projeto.git
4aad466..b8eee04 master -> master

Baixando Alterações e Novos Arquivos (Update):

user@host:/home/dev/git/dir_projeto$ git pull


O usuário e senha são solicitados novamente, mas nesse caso, não haverá nenhum arquivo para ser baixado:

Username for 'https://git.host': user
Password for 'https:ost':
Already up-to-date.

Sobrescrevendo os arquivos locais

git fetch --all
git reset --hard origin/master


Obs: Todos os arquivos locais serão substituídos pelos vindo do Servidor, isso fará com que você perca todas as alterações que foram feitas na máquina local.

GitLAb por SSH + Chave Criptografada

Se possuir um client SSH com chave criptografada, também é possível fazer os acessos ao repositório, a vantagem é que não é necessário ficar digitando a senha de usuário a todo momento de push e pull.
Para isso, basta que o projeto seja criado da seguinte maneira:

user@host:/home/dev/git/$ git clone git@git.host:dir_projeto/dir_projeto.git


Nesse caso será solicitada a senha da chave criptografada do SSH, criando o link de confiança entre a sua máquina e o repositório!

Dockerizando

Instalar docker (CentOS7)

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum install docker-ce
systemctl start docker
groupadd docker
usermod -aG docker $USER

Outra forma de instalar (CentOS7)

Criar o arquivo docker.repo em /etc/yum.repos.d/ com o conteúdo:

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
Executar os comandos abaixos:
yum install docker-engine
systemctl start docker
systemctl enable docker
yum install -y python-pip
pip install docker-compose

Instalação Debian 9 / Ubuntu 16.04+:

Com super usuário (ou sudo), execute os seguintes comandos

apt-get remove docker docker-engine docker.io

  sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable" 
apt-get update
apt-get install docker-ce

OBS: Possivelmente também funcione com Ubuntu (Não testado)

Imagens do Docker:

docker images

Obteremos a seguinte saída de exemplo:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx-php7      1.12                267c03fe7642        2 minutes ago       157MB
mariadb         10.1                ef76a230d60e        2 hours ago         207MB
alpine              3.7                 3fd9065eaf02        4 months ago        4.14MB
alpine              latest              3fd9065eaf02        4 months ago        4.14MB

Para remover uma imagem utilizamos o comando:

docker rmi [IMAGE_ID], conforme o exemplo:
docker rmi 267c

OBS: Apenas parte do ID já irá funcionar. Não é necessário utilizar o
 ID inteiro, basta apenas parte dele, se não houver repetido, ou a parte
 for diferenciada.

Processos do Docker:

docker ps

Obteremos a saída conforme exemplo:

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                         NAMES
523c5e905bf1        nginx-php7:1.12   "/usr/local/bin/do..."   7 minutes ago       Up 7 minutes        0.0.0.0:80->80/tcp, 443/tcp   web
754408af3ab9        mariadb:10.1      "/scripts/run.sh"        2 hours ago         Up 2 hours          0.0.0.0:3306->3306/tcp        db

Criando rede Docker:

docker network create --driver bridge [NOME_DA_REDE]

Limpando Docker:

docker system prune --all

OBS: Tudo que não estiver sendo utilizado, por nenhum contêiner (Processo Docker), será apagado, incluindo redes.
A saída desse comando irá gerar algo do tipo:

WARNING! This will remove:
    - all stopped containers
    - all volumes not used by at least one container
    - all networks not used by at least one container
    - all images without at least one container associated to them
Are you sure you want to continue? [y/N] y
]Deleted Containers:
624fae42277f3a735f0a981bd896d97a6641c551b5e3317a2e301a62889e9458
5907b5398035030826dbad6d4b9cd906604f28d74759361fc54379dd0b348212
15242833ebf65c07df68ded825f14d5f8a4873d6e3ede55d64b38b5c4b28c37f
e0eb43bf776b8863330edd3937076268930bbbd57bfb9344b56d7b900c170116
4afa38bb6a500a1c08ee137e0419373ed2d8bc5a55520f41cdd0e41701905b3a
d87db5b1107b0513de582b6d0296a91337c86e1c66a272495f18a37eac71a85c
8a696aae4a70227f3589194c0ad057618644f6a9b1a5623bf91bf7800cad5e01
a2980d01aaf8290670112669d920db44af71c0bc3d8e2e4a53a7ab972497a823
aaa59c6257023e0d9eda22ae40ab0d526a2ffc60db946e33200336342e13c92b
90bb9ab5d49eea03f8a323ac9992c73edb30e5bfa2207a2515fdc1d1fda86c43

Deleted Volumes:
c7ddda00247b7c653205d2e541b1f47d2fee7b16a0530543b96753633f9dee5e
54ca3dadafd1b53568686ce7cf0e421796251f95743ba209562ccb80195f0858
796ed51f5e45ef2a9ec2f93dfee09a5268517d9c0ddd101b8d8d59f34e590026

Deleted Networks:
net

Deleted Images:
deleted: sha256:ba3678f609b221f5c5bcc872821dee565286edc757de298a49adf4f18a4d2d83
deleted: sha256:b713b248db24fcb617eae474a38b78235569b96ac7957e54b75853528630c0d6
...
deleted: sha256:c5b65b0d88e270043ae217c5fbd897c1cb66c2a1d3333d3ad089a6e573f8cdfc
deleted: sha256:a52bb21efc57851191d28a648fe23963d8e1fc386d4369424829a069cfa04c1d
untagged: alpine:latest
untagged: alpine@sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f
untagged: nginx-php7:1.12
deleted: sha256:4a1639baeb752a431a4aa557b49a42998f68a9bdd8afcb5a99257dbdbc95630e
deleted: sha256:d7a9f9ff766a1d39b48e15cae4d882a5ff7dcc5b6ae6c967d5f4fb5a970f8fb8
...
deleted: sha256:3fd9065eaf02feaf94d68376da52541925650b81698c53c6824d92ff63f98353
deleted: sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215

Total reclaimed space: 485.7MB

Exemplos de comandos para utitização do docker:

Comandos para instalação e utilização de projetos no docker
-----------------------------------------------------------

Ver sua versão do linux
$ lsb_release -cs

Ver a versão do docker instalado no host:
$ docker -v

Instalação:
ver na wiki (no início dessa página) a instalação para seu S.O.

Criar um grupo e incluir seu usuario do S.O. para como sudo do docker
$sudo groupadd docker
$sudo usermod -aG docker $USER

Para iniciar automaticamente o serviço docker 
$ sudo systemctl enable docker

Para configurar o docker para responder via TCP na porta 2375
$sudo systemctl edit docker.service
OBS: Incluir as três linhas abaixo no arquivo

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

Recarregando o servico docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service

Onde o docker guarda os dados (imagens, containers, networks e vlumes)
$ sudo ls -lha /var/lib/docker/

user@host:~$ sudo ls -lha /var/lib/docker/
total 56K
drwx--x--x 14 root root 4,0K Jun  7 09:37 .
drwxr-xr-x 70 root root 4,0K Jun  6 15:55 ..
drwx------  2 root root 4,0K Jun  6 15:55 builder
drwx--x--x  3 root root 4,0K Jun  6 15:55 containerd
drwx------  2 root root 4,0K Jun  7 10:35 containers
drwx------  3 root root 4,0K Jun  6 15:55 image
drwxr-x---  3 root root 4,0K Jun  6 15:55 network
drwx------  3 root root 4,0K Jun  7 10:36 overlay2
drwx------  4 root root 4,0K Jun  6 15:55 plugins
drwx------  2 root root 4,0K Jun  7 09:37 runtimes
drwx------  2 root root 4,0K Jun  6 15:55 swarm
drwx------  2 root root 4,0K Jun  7 10:14 tmp
drwx------  2 root root 4,0K Jun  6 15:55 trust
drwx------  2 root root 4,0K Jun  7 10:39 volumes

O log do docker
$ journalctl -u docker.service

Status, stop e start do serviço docker

$ sudo service docker status
$ sudo service docker stop
$ sudo service docker start

procurar uma imagem (por exemplo ubuntu) no Docker Hub
$ docker search ubuntu

baixar uma imagem do Docker Hub (mas sem executar)
$ docker pull mariadb:latest

listar as imagens baixadas no seu docker host
$ docker images

O comando run abaixo baixa a imagem (no nosso exemplo mysql:5.6) e já executa o respectivo container (container_mysql-5.6)
$ docker run -p 3306:3306 --name container_mysql-5.6 -e MYSQL_ROOT_PASSWORD=segredo -d mysql:5.6

Iniciar, parar, reiniciar um container docker
$ docker start container_mysql-5.6 
$ docker stop container_mysql-5.6 
$ docker restart container_mysql-5.6 

listar os containers existentes (inclusive os que não estão rodando)
$ docker ps -l

Overview do ambiente docker:
$ docker system df

    Retorno:
    user@host:~$ docker system df
    TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
    Images              0                   0                   0B                  0B
    Containers          0                   0                   0B                  0B
    Local Volumes       0                   0                   0B                  0B
    Build Cache                                                 0B                  0B

Apaga tudo que não está sendo mais utilizado no docker:
$ docker system prune

    Retorno:
    WARNING! This will remove:
            - all stopped containers
            - all networks not used by at least one container
            - all dangling images
            - all build cache
    Are you sure you want to continue? [y/N] y
    Total reclaimed space: 0B

Comandos poderosos (e perigosos)
--------------------------------

*Apaga todos os objetos (imagens, containers, networks e volumes) não utilizados (danglin's) do seu host docker
docker system prune --all --force --volumes

*pode ser criado um alias no S.O. para ser chamado no terminal com o comando: docker-clean-unused
alias docker-clean-unused='docker system prune --all --force --volumes'

*Apaga todos os objetos (imagens, containers, networks e volumes) mesmo que utilizados, do seu host docker
* Esse cara APAGA TUDO MESMO
docker stop $(docker container ls -a -q) && docker system prune -a -f --volumes

*pode ser criado um alias no S.O. para ser chamado no terminal com o comando: docker-clean-all
* Esse cara APAGA TUDO MESMO
alias docker-clean-all='docker stop $(docker container ls -a -q) && docker system prune -a -f --volumes'

Referências


https://docs.docker.com/install/linux/docker-ce/centos/

quarta-feira, 4 de abril de 2018

Putty no Debian 9

Pode parecer que para utilizar o putty no Debian 9, basta instalá-lo com:

$ apt-get install putty

E sair usando o putty pelo Menu: Aplicativos > Internet > PuTTY SSH Client (sim eu uso a extensão de Menu no Gnome 3 :) rs ). SQN!

Ao fazer a conexão com a porta USB/serial (Serial line: /dev/ttyUSB0; Speed: 115200), para conectar no ServerU com pfSense 2.4.2, recebi a mensagem do Putty:


"Unable to open connection to: Unable to open serial port"

Inicialmente pensei que poderia ser porque meu usuário não estava no grupo tty (/etc/group), mas não era isso, pois confirmei e está.

Como já devem ter imaginado, pensei o mesmo que você, abri um TERM e resolver com o comando:

$ sudo putty

É uma maneria que funcionou. Só que tem que configurar o sudo (tudo bem que meu usuário já está lá), o que nem todos tem configurado no Debian.

Então poderia ter logando com o super usuário e executando o putty. Também funciona! Mas para não ficar preso o terminal, o comando tem que ser:

Ainda assim, poerá ocorrer uns problemas no problema de visualização da tela... E na verdade eu estava afim de executar a partir do Menu do Gnome, e alterar o comando para "sudo putty", não adianta, pois ele não irá abrir um terminal para digitar a senha.

Então fiz de uma outra maneira e que dará para colocar executando a partir do menu também, é o que vou compartilhar aqui. Para isso é preciso instalar o pacote gksu.

$ apt-get install gksu

Para verificar se funcionou, abra um Terminal do seu usuário e execute o comando:

$ gksudo putty

Irá pedir a senha em uma janela gráfica e depois abrir o putty. Pronto, está funcionando! Porém no Terminal, encontra-se a Mensagem: Gtk-Message: Failed to load module "canberra-gtk-module", mas deverá abrir a janela do Putty.

Agora vamos para a configuração no menu do Gnome, para isso você deve ter instalado o pacote alacarte, se não tem:

$ apt-get install alacarte

Agora abra o editor do Menu em "Aplicativos > Sistema > Menu Principal". No item de menu "Internet", encontre o "PuTTY SSH Client".



Edite-o alterando o comando para "gksudo putty".


OBS: Após a instalação do gksudo, algumas libs ficaram obsoletas e não foram mais necessárias, para removê-las execute o comando:

$ apt autoremove

O que resultará em:

Lendo listas de pacotes... Pronto
Construindo árvore de dependências     
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
  libany-moose-perl libanyevent-dbi-perl libanyevent-http-perl
  libanyevent-irc-perl libanyevent-perl libapache-logformat-compiler-perl
  libass5 libasync-interrupt-perl libavfilter6 libavresample3 libbdplus0
  libcgi-compile-perl libcgi-emulate-psgi-perl libclass-inspector-perl
  libclass-method-modifiers-perl libclass-xsaccessor-perl libcommon-sense-perl
  libcookie-baker-perl libdbd-sqlite3-perl libde265-0
  libdevel-globaldestruction-perl libdevel-stacktrace-ashtml-perl
  libdevel-stacktrace-perl libdist-checkconflicts-perl libebur128-1
  libemail-date-format-perl libev-perl libexporter-tiny-perl
  libfcgi-procmanager-perl libfile-pushd-perl libfile-sharedir-perl
  libfilesys-notify-simple-perl libguard-perl libhash-merge-perl
  libhash-multivalue-perl libhttp-entity-parser-perl libhttp-headers-fast-perl
  libhttp-multipartparser-perl libhttp-parser-xs-perl libimport-into-perl
  libipc-shareable-perl libirc-formatting-html-perl libjson-maybexs-perl
  libjson-perl libjson-xs-perl liblept5 liblist-moreutils-perl
  liblog-dispatch-perl liblog-log4perl-perl libmime-lite-perl
  libmime-types-perl libmodule-implementation-perl libmodule-refresh-perl
  libmodule-runtime-perl libmoo-perl libmouse-perl libobject-event-perl
  libopencv-calib3d2.4v5 libopencv-core2.4v5 libopencv-features2d2.4v5
  libopencv-flann2.4v5 libopencv-highgui2.4-deb0 libopencv-imgproc2.4v5
  libopencv-objdetect2.4v5 libopencv-video2.4v5 libparams-classify-perl
  libparams-validate-perl libplack-middleware-session-perl libplack-perl
  libposix-strftime-compiler-perl librole-tiny-perl librubberband2
  libserver-starter-perl libsql-abstract-perl libstream-buffered-perl
  libstrictures-perl libsub-exporter-progressive-perl libsub-name-perl libtbb2
  libtesseract-data libtesseract3 libtest-sharedfork-perl libtest-tcp-perl
  libtext-microtemplate-perl libtidy5 libtry-tiny-perl
  libtypes-serialiser-perl libvidstab1.0 libwww-form-urlencoded-perl
  libwww-form-urlencoded-xs-perl libx264-148 libx265-95
  linux-headers-4.9.0-4-amd64 linux-headers-4.9.0-4-common twiggy
0 pacotes atualizados, 0 pacotes novos instalados, 95 a serem removidos e 13 não atualizados.
Depois desta operação, 90,4 MB de espaço em disco serão liberados.
Você quer continuar? [S/n] 


quarta-feira, 15 de março de 2017

CentOS 7 - Problema - Zabbix agent 3 ("on is unreachable")

Esse problema passou a ocorrer em algumas máquinas Hosts de desenvolvimento após ter sido feito um update.
Edit

Verificando o problema

Edit
Podem existir 2 problemas, porém ambos começaram quando fazemos yum update.
Edit

PROBLEMA 1 - O SELINUX passou a conflitar caso esteja configurado para como "enforcing"

Este caso já é recomendável verificar sempre. FAZENDO APENAS O PASSO 1.1 JÁ É PARA ARRUMAR
Edit

1.1 - Liberando pelo SEMODULE

Execute os comandos:
cd /etc/zabbix
cat /var/log/audit/audit.log | grep zab | audit2allow -M zabbix-agent
semodule -i zabbix-agent.pp
systemctl restart zabbix-agent
systemctl status zabbix-agent

OBS: instalar pacote policycoreutils-python que contem comando semanage

yum install policycoreutils-python -y

E execute a partir do cat novamente. Já é para estar funcionando e não precisa executar os passos abaixo!
Edit

1.2 - Liberando o SELINUX

Edito o arquivo /etc/selinux/config e verifique se o SELINUX está habilitado, se não estiver altere para:
#SELINUX=enforcing
SELINUX=permissive
Configure o enforce para "Permissive", digite o comando:

setenforce 0

OBS: Pode analisar com o comando sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28
Edit

1.3 - Reinicie o Zabbix Agent*

systemctl restart zabbix-agent
systemctl status zabbix-agent

Já iremos obter a saída conforme o exemplo:

# systemctl status zabbix-agent
? zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Qua 2017-03-15 13:22:12 BRT; 2s ago
  Process: 19888 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 19891 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 19893 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ??19893 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ??19894 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ??19895 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ??19896 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ??19897 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           ??19898 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Mar 15 13:22:12 xx13.xx.br systemd[1]: Starting Zabbix Agent...
Mar 15 13:22:12 xx13.xx.br systemd[1]: Started Zabbix Agent.

*ATENÇÃO: * Nesse caso não é preciso fazer o passo 2, pois significa que o zabbix22 não está instalado, ou a versão não é conflitante.

Caso persista o problema, siga o passo do problema 2...

PROBLEMA 2 - Conflito do zabbix22, que vem da instalação do repositório epel-relese, com o zabbix-agent, que vem do repositório adicionado do Zabbix.

Como podemos analisar no erro ao tentar reinstalar:
Resolvendo dependências
--> Executando verificação da transação
---> O pacote zabbix22.x86_64 0:2.2.16-1.el7 será instalado
--> Resolução de dependências finalizada

Dependências resolvidas

=================================================================================================
 Package                Arq.                 Versão                     Repo                Tam.
=================================================================================================
Instalando:
 zabbix22               x86_64               2.2.16-1.el7               epel               223 k

Resumo da transação
=================================================================================================
Instalar  1 Package

Tamanho total do download: 223 k
Tamanho depois de instalado: 802 k
Downloading packages:
zabbix22-2.2.16-1.el7.x86_64.rpm                                          | 223 kB  00:00:00     
Running transaction check
Running transaction test

Transaction check error:
  file /etc/zabbix/zabbix_agentd.conf from install of zabbix22-2.2.16-1.el7.x86_64 conflicts with file from package zabbix-agent-3.0.8-2.el7.x86_64

ANOTAÇÕES:
1 - Caso não repositório do Zabbix 3.0 não funcione - temos a opção do 2.4, que também já tem o agente 3.0: rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
2 - Caso precise remover, execute os comandos abaixo:

rpm -e zabbix-release
yum clean all
yum update
Edit

2.1 - No cliente: remover o Zabbix e reinstalá-lo, sem o zabbix22

yum remove -y zabbix zabbix-agent
yum -y install zabbix-agent
Edit

2.2 - Esse passo pode não precisar, caso já tenha executado o semodule.

Nesse caso o arquivo /etc/zabbix/zabbix-agent.conf pode não existir, procure por /etc/zabbix/zabbix_agent.conf (repare que não é o traço ("-"), mas sim underline ("_")), caso o arquivo esteja configurado corretamente como antes, basta pular para o passo 2.3, mas caso exista o arquivo e ele tenha voltado a configuração original, edite-o alterando as seguinte variáveis:

#Server=127.0.0.1
Server=xx12.xx.br
...
#ServerActive=127.0.0.1
ServerActive=xx12.xx.br
...
#Hostname=Zabbix server
Hostname=xx3.xx.br

Edit

2.3 - Reinicie o Zabbix agente

systemctl enable zabbix-agent
systemctl restart zabbix-agent
Edit

2.4 -Verificando se funcionou

systemctl status zabbix-agent
netstat -tulpn|grep zabbix

OBS: Irá obter as saídas conforme o exemplo:

[root@xx13 ~]# systemctl status zabbix-agent
? zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Qua 2017-03-15 12:14:36 EDT; 6s ago
  Process: 13452 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
  Process: 13482 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 13484 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ??13484 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ??13485 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ??13486 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ??13487 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ??13488 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           ??13489 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Mar 15 12:14:36 xx13.xx.br systemd[1]: Starting Zabbix Agent...
Mar 15 12:14:36 xx13.xx.br systemd[1]: PID file /run/zabbix/zabbix_agentd.pid no...t.
Mar 15 12:14:36 xx13.xx.br systemd[1]: Started Zabbix Agent.
Hint: Some lines were ellipsized, use -l to show in full.
[root@xx13 ~]# netstat -tulpn|grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               OUÇA       13484/zabbix_agentd 
tcp6       0      0 :::10050                :::*                    OUÇA       13484/zabbix_agentd 


Tudo OK! :)

Separando as coisas! São 2 Blogs

Fala Galera! :D

Desculpem-me, até eu tô confundindo muito os Blogs. Então vou escrever aqui para eu também lembrar. ;)

O Blog "Ser veja bem" é para meus assuntos de Computação e o Blog "Ser veja bem, Vorna" é para assunto pessoal: pensamentos, indignações, diversões, etc...

Agora nem eu mais confundo! :D hahah

Vou publicar isso no outro também.

terça-feira, 28 de julho de 2015

Debian 8 (Jessie) + Gnome + Virt Manager + conexão SSH Host

Partirei do princípio que Virt-manager já está instalado, que o seu usuário está no grupo libvirt, libvirt-qemu  e  kvm.

Ao tentar criar um conexão ssh para conectar em outro host, é exibido um erro que não foi possível e que deve ser instalado o pacote openssh-askpass ou similar e nos detalhes é gerado um log de erros de permissões.

Se procurarmos por esse pacote no repositório do Debian Jessie, iremos encontrar o Razor-qt (razorqt-openssh-askpass), no entanto, apenas instalar esse pacote não é o suficiente se você estiver utilizando o Debian e Gnome, continuará gerando o mesmo erro. No Ubuntu, se não me engano, isso é um pouco diferente e o pacote openssh-askpass existe e resolve o problema.

Para que a conexão funcione corretamente, instale também os seguintes pacotes:
openssh-known-hosts
ssh-askpass-gnome
openssh-sftp-server