Mostrando postagens com marcador compressores. Mostrar todas as postagens
Mostrando postagens com marcador compressores. Mostrar todas as postagens

Rodando pacotes .deb no Fedora 35 sem coverte-los com o alien

Rodando pacotes .deb no Fedora 35 sem coverte-los com o alien
Rodando pacotes .deb no Fedora 35 sem coverte-los com o alien

 É comum o conhecimento sobre a execução de pacotes de uma distribuição em outra que não pertença à mesma família através do programa Alien; O Alien é uma ferramenta que converte pacotes de  uma distribuição Linux para outra; porém, alguns erros podem ocorrer nesse processo.

 Mais ou menos em 2018 eu fiz um vídeo intitulado "Rodando pacotes .deb sem instalar" mostrando que é possível fazer esse tipo de tarefa sem a necessidade de convertê-los. O maior problema deste vídeo é que executei um pacotes .deb... no próprio Debian... Digamos que isso acaba não provando que é possível executar pacotes da família Debian em outras famílias de distribuições.

 Pensando nisso eu decidi fazer um novo vídeo porém, desta vez executando o mesmo programa empacotado para o Debian no Fedora seguindo o mesmo processo do vídeo anterior e um pouco mais. Confiram o vídeo:


 É possível também executar programas em pacotes .rpm em outras distribuições que não sejam da família Fedora, mas nesse caso são utilizadas técnicas diferentes. Enquanto os pacotes .deb são na verdade empacotamentos .ar (após serem compactados), os pacotes .rpm por sua vez são empacotamentos cpio.

 Para que possamos melhor interagir com o cpio, mostrarei como gerar seu tipo pacote porém, de certa forma, em ordem inversa uma vez que eu já havia trabalhado no desempacotamento do Google Chrome e aproveitei a mesma situação.

 No exemplo abaixo, na primeira linha marcada podemos ver que listamos os arquivos contidos no pacote google-chrome-stable_current_x86_64.rpm e que foram desempacotados.

 Na segunda linha da imagem acima empacotamos tudo através do comando cpio. Porém, o cpio segue o processo conforme a explicação a seguir e exibido na imagem abaixo. Primeiro listamos todo o conteúdo encanamos a saída (|) do comando ls para a entrada do comando cpio com a opção -o e redirecionamos sua saída padrão (>) para um arquivo. Um pouco trabalhoso, mas é assim que funciona.
 E por fim, na terceira linha da imagem podemos constatar que foi gerado o arquivo backup.cpio.


 Agora sim, podemos trabalhar na explicação do desempacotamento dos pacotes .rpm uma vez que precisamos do cpio para isso. Diferente dos pacotes .deb, os pacotes .rpm precisam de um comando específico para serem desempacotados; nesse caso, o comando rpm2cpio (essa é exatamente a função do rpm2cpio: Extrair arquivo cpio de pacotes rpm).

 De acordo com o manual online do rpm2cpio, existem duas formas de extrair arquivos do pacote rpm. A primeira é exatamente a forma que apresento na imagem abaixo e a segunda encanando a saída do comando cat para a entrada do comando rpm2cpio e depois encanando a saída do comando rpm2cpio para a entrada do comando cpio (cat glint-1.0-1.i386.rpm | rpm2cpio - | cpio -tv).


 Então, tenham sempre em mente que, por se tratarem de binários no padrão ELF LSB (Linux Standard 
Base), os programas do Linux são passíveis de execução na maioria das distribuições; o que acaba impedindo que esses programas sejam executados são as formas como esses binários são empacotados e as informações contidas em seus pacotes.

Shell Linux. Do aprendiz ao Administrador por Tales Araújo Mendonça e Bruno Gonçalves Araujo

Galera, dá um liga no livro que ganhei: Shell Linux. Do aprendiz ao administrador por Tales Araújo Mendoça e Bruno Gonçalvez Araujo.

Shell-Linux.-Do-aprendiz-ao-administrador-por-Tales-Araújo-Mendoça-e-Bruno-Gonçalvez-Araujo

Bruno Gonçalvez Araujo é pós-graduado em software livre, colaborador de diversos aplicativos Linux (mais de uma década de de dedicação ao software livre), criador e mantenedor do projeto BigLinux, criador do site BigBusca.com, idealizador do projeto BigBashView, idealizador do União Livre e contribuinte do Kaiana Linux.
Tales Araújo Mendoça é Bacharel e analise de sistemas com quase 20 (vinte) anos de experiencia com o sistema operacional GNU/Linux e diversas contribuições para a comunidade de software livre.
 confiram seu site pessoal: talesam.org
  Foi o Tales que aparece nos agradecimentos da retrospectiva Linux 2015 que é um dos autores acima mencionado:


 Este livro em breve estará disponível na Diostore. Tales, em parceria com seus amigos, é também autor de outros livros como "GNU/Linux – Aprenda a Operar o Sistema na Prática" e "Linux - Simplicidade ao seu alcance".

Pow, e não é que o cara ainda me manda com uma dedicatória? Se liguem na foto abaixe e aguardem que farei um vídeo em breve sobre esse novo livro. :-)


dedicatória-do-tale

 Caso queiram conferir, o primeiro livro escrito pelo Tales está disponível para download no link abaixo; é antigo, mas ainda quebra um galho:

recompilação do kernel 2.6.33.3

 Bom, para terminar o assunto que aviva começado no artigo "Flagrantes da vida real no mundo linux", então estou postando aqui mais um artigo que trago de volta a vida. É o artigo da recompilação do kernel 2.6.33.

recompilação do kernel 2.6.33.3

 Coloquei as imagens anexadas mostrando o kernel no diretório /boot.

Note o kernel 2.6.26-2-686 e o kernel 2.6.33.3

 O Debian Leny vinha com o kernel 2.6.26-2-686 por padrão e eu passei a utilizar o kernel 2.6.33.3. A intenção aqui foi simplesmente desmistificar o que havia sido dito e tirar esse mito.

kernel 2.6.33.3 sendo utilizado, ao invés do tradicional 2.6.26

Como recompilar o kernel Linux

 As informações aqui são para o kernel 2.4 e 2.6, mas podem também ser bem aproveitadas da versão 3.x e 4.x do kernel.

 Primeiro, devemos configurar o kernel; para isso, existe quatro aplicativos que podem ser escolhidos. São eles:
$make config (esse é o configurador padrão do Linux, porém bem demorado devido ser totalmente em modo texto e procedural).
 Os próximos utilizam bibliotecas que geram uma interface amigável, facilitando a instalação.
$make menuconfig (utiliza a biblioteca NCurses)
$make gconfig (utiliza a biblioteca GTK)
$make xconfig (utiliza a biblioteca QT, a mesma da interface KDE).
 Um bom artigo para configurar o kernel está na em:
 Depois de configurado o kernel, você deve fazer o seguinte. Criar a imagem do kernel compactada com os seguintes comandos
 $make clean (para descartar os modulos que não serão compilados).
 $make dep (para gerar a arquitetura do kernel, no meu caso I686, já não é mais necessário fazer isso).
 $make bzImage ou $make zImage (a diferença é o bz é para o bzip2 e o z para gzip).

 compilar os módulos:
  $make modules 
 E instalá-los
 #make modules_install (lembrando que deve ser root para isso).
 Depois disso, digite
 #make install [também devendo ser administrador para essa operação) para que o sistema crie o system.map, o kernel com o nome de vmlinuz-x.y.z (sendo que x.y.z se refere a versão do kernel) e o config do kernel].
 Feito isso, dentro de /boot, digite
 #mkinitramfs -o initrd.img-x.y.z -v x.y.z para criar a imagem de disco ram (initrd) para o kernel. Ou a opção update-initramfs -c -k 2.6.33.3 -v que fará o mesmo.
 Um informação muito interessante que obtive foi que o comando "mkintrd" está defasado, sendo substituído pelo "mkinitramfs", por isso utilizado nessa postagem além de vir por padrão no Debian.
 Um observação que deve ser feita é que, se notarem, eu repeti o x.y.z. Funciona da seguinte maneira: quando vou gerar o initrd, além de indicar para qual kernel, tenho que indicar aonde ele vai buscar os módulos dentro de /lib/modules/. Por exemplo, como recompilei o 2.6.33 com os seus módulos dentro de "/lib/modulos/2.6.33", então tenho que gerar  o initrd.img-2.6.36 que irá buscar os módulos 2.6.33 (está gravado dentro do initrd que ele irá buscar automaticamente dentro de /lib/modules). Caso não passe esse parâmetro,por não ter sido indicado aonde buscar os módulos, você receberá uma mensagem como:
 "FATAL ERROR"  "MODULES NOT FOUNT"
  Por isso deve passar o segundo parâmetro igual. Esse segundo parâmetro é só uma indicativa de qual módulos utilizar.
 Para terminar, se você estiver utilizando o grub como carregador de boot padrão, utilize o comando
#update-grub que o sistema irá se encarregar de atualizar a lista de kernel dentro de /boot/grub/menu.lst (já no ubuntu 10.04 a história muda um pouco).
 Caso queiram me ajudar a escrever melhor este artigo sobre recompilação de kernel, fico feliz se puder receber essa contribuição, por que a intenção é realmente escrever o artigo que vai ajudar a todos com qualquer problema que apareça, até mesmo os novatos.
 O próximo artigo que pretendo escrever sobre o mesmo assunto é sobre o drive de DVD que estou tendo um pequeno problema.

 Creative Commons License

Resumo da semana 14/11/2015

 Bom, sempre que faço um novo vídeo, procuro postar bo blog também. Assim, quem não assistiu ainda (ou não o viu postado em alguma rede social), poderá acompanhar por aqui também.

Resumo da semana 14/11/2015


Anunciei que ia postar as 19:00, porém acabei postando mais cedo. Então, para quem não assistiu ainda, o vídeo pode ser conferido logo abaixo.


 Antes de começar eu deixei quatro avisos antes de começar, sendo um deles sobre a certificação LFS.

 Nesse resumo da semana, mencionei sobre o artigo do Debian, a série de artigos que estou trazendo do meu antigo blog onde inicei Ophcrack, curiosidades sobre o ReactOS e com o artigo sobre o bzip2 e a série de vídeos que iniciei sobre propagandas com Linux.

 Teve também o anuncio da parceria com a Imago Brinquedos. Uma loja nerd em que você pode encontrar brinquedos e presentes como do Dragon Ball Z, Cavaleiros do Zodiaco, Naruto, Liga da Justiça e muito mais. São brinquedos importados e de extrema qualidade. Então, utilizando o cupom de desconto TOCADOTUX você ganha 5% de desconto nas compras.

 Espero que gostem, pois super heróis é uma coisa que eu gosto muito.


Correção de Falha no bzip2

 Esse é mais um artigo que estou trazendo de volta avida do meu antigo blog. Na época, haviam publicado no dia 24/09/2010, sobre uma vulnerabilidade no Bzip2 e a correção disponibilizada pelo próprio criador do projeto. Eu resolvi então, explicar como instalá-lo essa publicação , resolvi explicar como instalar a versão corrigida do bzip2.

logo do bzip2

Correção de Falha no bzip2

 Um erro havia sido encontrado na biblioteca livre de compactação libbzip2,  que podia ser perfeitamente explorada utilizando arquivos especialmente preparados para provocar um integer overflow. Como resultado, um acidente pode ocorrer dentro de aplicativos como o bzip2, que fazem uso da referida biblioteca e em algumas circunstâncias, esse erro pode ser uma porta aberta para a injeção e execução de códigos.

A interação do usuário não é necessária para desencadear o problema em questão. O virus scanner free ClamAV, por exemplo, utiliza o bzip2 do pacote libbz2 para digitalizar arquivos compactados. Em um gateway, o leitor verifica automaticamente todos os arquivos de passagem e, portanto, que estejam vulneráveis.


 Em decorrência disso, os desenvolvedores do ClamAV lançaram a versão 0.96.3 para corrigir o erro, e os desenvolvedores do bzip2 também lançaram uma versão corrigida, a 1.0.6, que está disponível em código-fonte para download. Alguns distribuidores Linux já começaram a fornecer pacotes atualizados, enfatizando que no mundo Linux, bzip2 tem sido a ferramenta de alta compactação considerada a mais rápida e assim, sendo a mais utilizada.

 De lá para cá, essa foi a única atualização que o bzip2 recebeu:
ultima versão do bzip2 hoje

Ou pode ser verificado no próprio site do porjeto

http://www.bzip.org/downloads.html

 O primeiro passo que quis dar, foi mostrar o com verificar a versão do bzip2 que você está utilizando. Há duas formas para isso, com o comando:
 bzip2 -V  para mostra a versão ou
 bzip2 -l para mostrar a licença
 O resultado de ambos é o mesmo:

ultima versão do bzip2 na época que ocorreu o problema

já que eu já baixei o fonte compactado em gzip, vou descompactá-lo com o comando
tar -xzvf bzip2-1.0.6.tar.gz

descompactando-o

processo de descompactação

 Depois de entrar no diretório depois de descompactado, se ler o READ, verá que a compilação e instalação é feita apenas com os comando "make" e "make install". O primeiro passo:
make
comando make para gerar os binários.

depois disso, antes de instalar, pode-se realizar uma simulação de como será feito a instalação com o seguinte:
make -n install
"make -n install" mostrará o processo de instalação (sem instalá-lo)

Não é necessário fazer isso, foi só para fazer uma demonstração de que é possível realizar isso.
Pode-se também determinar aonde vai ser instalado com o prefix. Vamos fazer então uso da simulação:
make -n install PREFIX=/bin
make install utilizando prefixo (somente mais uma simulação com o -n)

Próximo passo, instalá-lo:
make install
instalação

 Bom, por fim pode-se ver com o primeiro comando a nova versão sendo utilizada:
bzip2 -l
verificação da versão utilizada

 E é possível ver que a data da nova versão é de 06 de setembro de 2010. 

Saiba Mais:

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (19) AMD (14) analise (9) Andriod (14) android (5) artigo (5) aws (1) bc (16) benchmark (3) BSDs (27) btrfs (30) bugs (1) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (7) Código Fonte (53) comandos (24) comp (1) compressores (5) container (6) CPU (19) criptografia (4) crowdfunding (9) cursos (24) daemons (13) Debian (31) desenvolvimento (80) desktop (19) DevOps (3) DevSecOps (3) dic (1) Dica de leitura (86) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (1) diocast (1) dioliunx (3) distribuições Linux (13) Docker (11) DragonflyBSD (20) ead Diolinux (2) edição de vídeo (5) EMMI Linux (4) emuladores (5) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (10) filesystem (75) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (20) Funtoo Linux (13) games (90) gerenciadores de pacotes (3) GOG (3) google (8) gpu (3) hardware (101) hash (1) helenos (3) I.A (1) init system (8) Intel (15) IoT (1) ispconfig (1) jogos (36) kde (1) kernel (134) lançamento (60) leis (1) LFCS (1) licenças (8) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) machine learning (1) matemática (4) mesa redonda (27) microsoft (6) microst (1) muito além do GNU (146) não viva de boatos (9) navegadores (3) NetBSD (7) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) open source (82) OpenBSD (5) OpenShift (1) os vários sabores de Linux (39) padrim (2) palestras e eventos (5) partições (6) pentest (8) pipewire (1) processadores (27) professor Augusto Manzano (11) Programação (60) promoção (1) propagandas com Linux (8) Red Hat (21) redes (3) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (1) runlevel (2) segurança digital (19) servidores (1) shell (3) sistema operacional (22) smartphones (3) Software livre e de código aberto (150) sorteio (3) Steam (9) Steam no Linux (7) supercomputadores (4) suse (7) systemd (7) terminal (83) terminal de comandos (11) toca do tux (1) toybox (23) tutorial (6) Tux (3) unboxing (7) UNIX (16) UNIX Toolbox (14) vartroy (1) vga (1) vulnerabilidade (4) wayland (5) whatsapp (1) Windows Subsystem for Linux (2) wine (14) WoT (1) ZFS (13) zsh (2)