domingo, 24 de novembro de 2024

Como Alterar Dependência Arquivo .DEB

Baixei um programa para instalar em meu computador no formato de empacotamento ".DEB".

Uma das dependências era o pacote libncurses5

Não estava sendo possível realizar a instalação por inconsistência, pois em meu sistema já tinha uma instalação mais atualizada do pacote, mais exatamente o pacote libncurses6.

Inicialmente verifiquei quais os arquivos e locais de cada pacote. Criei links simbólicos dos arquivos da versão 5 apontando para seus correspondentes da versão 6.

Claro não adiantou, pois no momento da instalação continuava dando inconsistência nas dependências, pois não existe o registro da instalação do pacote libncurses5 no sistema.

A solução foi alterar a dependência, dentro do pacote DEB.

Para isso deve verificar se o pacote dpkg-dev está instalado.

No terminal deve-se executar os seguintes comandos:

dpkg-deb -R seu_arquivo.deb pasta_destino

Navegar até a pasta de destino e localizar o diretório DEBIAN. Dentro dele, haverá um arquivo chamado control. Abra este arquivo em um editor de texto:

No arquivo control, você verá uma linha que começa com "Depends:". Você pode adicionar, remover ou modificar as dependências conforme necessário. Por exemplo:

Depends: pacote1, pacote2 (>= 1.0), pacote3

Depois de fazer as alterações, recriamos o arquivo .deb. Para isto usa-se o comando:

dpkg-deb -b pasta_alvo novo_arquivo.deb

Depois de realizar esses passos, instalamos o pacote como qualquer outro:

sudo dpkg -i nome-arquivo.deb
E pronto! 
Sucesso!

Atenção

O fato de ter mudado as dependências não significa que o programa funcionará

Outro passo que executei foi identificar os arquivos e seus repectivos diretórios. Criar links simbólicos com seus nomes, apontando para suas respectivas versões atualizadas.

Espero ter ajudado.

Abraços a todos

domingo, 22 de setembro de 2024

2 Conexões Firebird no Lazarus Database Desktop

Sou usuário da distribuição Linux KDE Neon, do IDE Lazarus (para o compilador Free Pascal) e Banco de Dados Firebird.

O Lazarus tem uma ferramenta chamada "Lazarus Database Desktop" para criação/leitura de Dicionário de Dados.

Ela não vem instalada, o projeto deve ser aberto e compilado. Posteriormente, pode ser integrada na IDE, ali no menu Ferramentas.

Possuo 2 versões do Firebird instaladas. A versão 4 (porta 3050) e versão 5(porta 30500) com suas portas configuradas em seus respectivos firebird.conf

A conexão do Firebird 4 foi realizado com sucesso. No campo servidor, informando "localhost", "127.0.0.1" ou "nome-computador", funcionava, realizando a conexão

No caso do Firebird 5, para direcionar a conexão, tive que informar a porta de utilização do Firebird 5, porta 30500, porque sem a informação da porta, aparecia uma mensagem informando que estava tentando abrir um arquivo feito no Firebird 5 (13.1) no Firebird 4 (13.0).

Então, ali no campo servidor, estava informando da seguinte forma: "nome-computador:30500" (sem as aspas)

Testava a conexão e dava erro de "Violação de Acesso!"

Depois de muito rodar atrás de uma solução, resolvi testar trocando o caractere que faz a separação do host da porta. Troquei o ":" por "/", ficando "nome-computador/30500", realizando a conexão com sucesso.

Lembrete de prestar atenção nisso, pois normalmente usa-se o ":" para separar o host da porta, porém neste caso, foi utilizado a "/"

Abraço a Todos

Até a próxima.

quarta-feira, 21 de agosto de 2024

Erro "Warning: linker: /usr/bin/ld: cannot find -lGL: No such file or directory"

Durante a recompilação da interface do Lazarus, para a instalação dos componentes BGRA, estava recebendo a mensagem:
"Warning: linker: /usr/bin/ld: cannot find -lGL: No such file or directory".

Sistema: Lubuntu 22.04 e também no Debian Testing (Trixie).

Para resolver, realizei a instalação da biblioteca libgl1-mesa-dev.

Caso não resolvesse, uma possível solução seria a instalação da biblioteca libgles2-mesa-dev.

Espero ter ajudado
Abraços a todos!

quarta-feira, 27 de setembro de 2023

Senha de Root do MySQL no Linux

Começo este post informando que decidi fazer a instalação do MySQL em minha máquina.

Estou usando o KDE Neon 5.27.8

Realizei a instalação do MySQL do próprio repositório através do comando:

sudo pkcon install mysql-server

Durante a instalação não houve pedido para informar a senha de root do mysql.

Instalação terminada, ainda no terminal digitei:

sudo mysql

Acessando assim o prompt do mysql.

Mas eu queria informar uma senha para o usuário root. Dei um quit do mysql e novamente no terminal do sistema, utilizei o seguinte comando:

sudo mysql_secure_installation

Serão apresentadas algumas opções de configuração do tipo sim ou não (y ou n).

A primeira é o nível da política de senha. São 3 opções: LOW, MEDIUM, STRONG (não irei me extender nas opções, pois são todas bem explicadas no processo).

Após selecionar o nível, deveria vir a opção de informar uma senha para o root, porém recebi a seguinte mensagem informando que essa parte será pulada.

"Skipping password set for root as authentication with auth_socket is used by default."

A mensagem indica que a configuração de autenticação do usuário root está usando o método "auth_socket" por padrão e, portanto, não é necessário definir uma senha para esse usuário.

O "auth_socket" é um mecanismo de autenticação do MySQL que permite que o usuário se autentique com base no usuário do sistema operacional. Isso significa que, se você estiver logado como um usuário do sistema operacional com privilégios de root ou usando o comando "sudo", poderá se conectar ao MySQL como usuário root sem fornecer uma senha.

Neste caso, para solucionar o problema de dar uma senha ao root a solução foi acessar o mysql através do sudo e uma vez no prompt do mysql, utilizar o comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'sua_senha_aqui';

Feito isto, basta sair e tentar autenticar-se com a senha que acabou de cadastrar para o root.

Caso queira retornar a autenticar-se como root utilizando o usuário admin do sistema operacional, utilize o comando:

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

É sempre interessante, por questões de segurança, criar um usuário para utilizar o banco e não ficar utilizando o root.

Siga estes passos dentro do mysql:


create user 'nome_usuário'@'localhost' identified by 'sua_senha';
grant all privileges on *.* to 'nome_usuário'@'localhost' with grant option;
flush privileges;

É isso!

Espero ter ajudado.
Abraço a todos

sábado, 15 de abril de 2023

Dica Rápida: Cálculo de Combinações Possíveis

 Estava procurando uma fórmula para o cálculo de combinações possíveis dentro de um sorteio.

Exemplo: dentro deste escopo "1 - 2 - 3 - 4 - 5", onde sorteia-se 3 números, temos as seguintes possibilidades:

1 2 3

1 2 4

1 2 5

1 3 4

1 3 5

1 4 5

2 3 4

2 3 5

2 4 5

3 4 5


Temos 10 combinações possíveis.

Em um exemplo pequeno assim fica fácil contar manualmente, mas e num exemplo maior, como uma loteria?


Para isso temos a seguinte fórmula

x=total de números

y=quantidade números a serem sorteados.

C(x,y) = x! / (y! * (x - y)!)

C(5,3) = 5! / (3! * (5 - 3)!)

C(5,3) = 120 / (3! * 2!)

C(5,3) = 120 / (6 * 2)

C(5,3) = 120 / 12

C(5,3) = 10

Adicionalmente podemos acrescentar uma outra fórmula.

Se repararmos no exemplo mostrado, cada um dos números foi sorteado num total de 6 vezes.

Para este cálculo, podemos utilizar a seguinte fórmula:

C(n-1, k-1)

n = 5

k = 3

C(4, 2) = 4! / (2! * (4-2)!)

C(4, 2) = 24 / (2 * 2)

C(4, 2) = 24 / 4

C(4, 2) = 6


É isso, espero ter ajudado.


Abraços,

Terence.