Instalador de pacotes para Sabayon Linux

Publicado por hp (última atualização em 07/05/2018)

[ Hits: 2.032 ]

Homepage: https://byhackerperito.blogspot.com

Download dexter




Um simples instalador para Sabayon Linux.

  



Esconder código-fonte

#!/bin/bash
################################################
# autor: hacker perito                         #
# blog: https://byhackerperito.blogspot.com    #
# email: byh4ck3rp3r1t0@gmail.com              #
# data: 02/04/2018                             #
################################################
if [ "$USER" != "root" ]; then
  printf "Você não tem permissão root!\n"
else
  printf "||=============================================================||\n"
  printf "||===             Dexter v0.5 by: Hacker Perito             ===||\n"
  printf "||=============================================================||\n"
  printf "||#############################################################||\n"
  printf "||###    Visite-nos: https://byhackerperito.blogspot.com    ###||\n"
  printf "||#############################################################||\n"
  printf "||=============================================================||\n"
  printf "[1]=> Pesquisar pacote\n"
  printf "[2]=> Instalar pacote\n"
  printf "[0]=> Sair\n"
  printf "{Opção}<=: "
  read opc
  case $opc in
  "0")
    clear
    exit
    ;;
  "1")
      printf "{Pacote}<=: "
      read n
      equo update
      emerge --search $n
      printf "Deseja uma pesquisa mais funda?\n"
      printf "s/N\n"
      read p
      if [ "$p" == "n" ] || [ "$p" == "N" ]; then
        printf "Ok\n"
      elif [ "$p" == "s" ] || [ "$p" == "S" ]; then
        emerge --searchdesc $n
      else
        printf "???\n"
      fi
    ;;
  "2")
      printf "[1]=> pacote online\n[2]=> pacote local\n[0]=> Sair\n{Opção}<=: "
      read op
      if [ "$op" == "0" ]; then
        clear
        exit
      elif [ "$op" == "1" ]; then
        printf "{Pacote}<=: "
        read pc
        equo install $pc
      elif [ "$op" == "2" ]; then
        printf "Deseja listar algum diretório?\n"
        printf "s/N\n"
        read q
        if [ "$q" == "n" ] || [ "$q" == "N" ]; then
          printf "Ok\n"
        elif [ "$q" == "s" ] || [ "$q" == "S" ]; then
          printf "{Dir}<=: "
          read d
          ls $d
        else
          printf "???\n"
        fi
        printf "Deseja baixar algum pacote?\n"
        printf "s/N\n"
        read p
        if [ "$p" == "y" ] || [ "$p" == "Y" ]; then
          printf "{Link}<=: "
          read l
          wget $l
          pack=$(ls *.tbz2)
          mv $pack /var/lib/entropy/client/packages/packages/amd64/5/$pack
          cd /var/lib/entropy/client/packages/packages/amd64/5/
          equo install $pack --nodeps
          rm $pack
          exit
        elif [ "$p" == "n" ] || [ "$p" == "N" ]; then
          printf "{Pacote}<=: "
          read pack
          mv $pack /var/lib/entropy/client/packages/packages/amd64/5/$pack
          cd /var/lib/entropy/client/packages/packages/amd64/5/
          equo install $pack --nodeps
          rm $pack
          exit
        else
          printf "???\n"
        fi
      else
        printf "???\n"
      fi
    ;;
    *)
      printf "???\n"
    ;;
  esac
fi

Scripts recomendados

Criador de pacotes para o Slackware

Script para visualizar logs do squid

Modos de operação do BASH

Matrix - Terminal Comunication

Bloqueio e desbloqueio de contas de usuários


  

Comentários
[1] Comentário enviado por albfneto em 07/05/2018 - 14:34h

Gostei, uso Sabayon. Vou baixar. Favoritado.

BAIXADO E TESTES....

Funciona bem seu Script, notei que ele atualiza os repositórios, também, e acha até os pacotes mascarados. Muito bom! Parabéns.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[2] Comentário enviado por albfneto em 07/05/2018 - 15:41h

SUGESTÕES PARA SEU SCRIPT.

Sugiro pequena modificação. Na busca normal, trocar a busca de Portage:

emerge --search $n

Pela de Entropy :

equo s $n

Por que? Porque seu script está "achando" a versão mais nova do Portage... e não a corrente, do Entropy.

Misturar Entropy e Portage, usuários avançados podem, mas para usuários iniciantes, não é fácil

Deixe o emerge só na busca "funda" que aliás, usar o termo "deseja aprofundar a busca", pode ser melhor.

Para testar isso que digo, antes de mudar seu script, teste procurando o pacote "xf86-video-vesa" Seu script acha a versão mais nova do Portage, esta:

x11-drivers/xf86-video-vesa
Latest version available: 2.4.0
Latest version installed: 2.3.4
Size of files: 317 KiB
Homepage: https://www.x.org/wiki/
Description: Generic VESA video driver
License: MIT

http://gpo.zugaina.org/x11-drivers/xf86-video-vesa

enquanto que com "equo s pacote" ele acha esta versão:

equo s xf86-video-vesa
&#9568; @@ Buscando...
&#9568; @@ Pacote: x11-drivers/xf86-video-vesa-2.3.4 ramo: 5, [sabayonlinux.org]
&#9568; Disponível: versão: 2.3.4 ~ tag: NoTag ~ revisão: 6
&#9568; Instalado: versão: 2.3.4 ~ tag: NoTag ~ revisão: 6
&#9568; Slot: 0
&#9568; Homepage: https://www.x.org/wiki/
&#9568; Descrição: Generic VESA video driver
&#9568; Licença: MIT
&#9568; Palavras-Chave: xf86-video-vesa
&#9568; Encontrado: 1 entrada

que é a versão do entropy:

https://packages.sabayon.org/quicksearch?q=xf86-video-vesa&x=0&y=0

Resumo, minha sugestão é que use Portage (emerge), só na busca aprofundada.


¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[3] Comentário enviado por perito em 13/05/2018 - 23:32h

@Albfneto
obrigado pelo feedback!
fiz como vc falou!
mas alterei o modo profundo
que instala pelo emerge
veja la

[4] Comentário enviado por albfneto em 07/06/2018 - 14:00h

Ainda testando seu script, porém notei um problema nele.... é na opção instalar pacote local, baixar o pacote

se você não coloca nada na opção Link, URL, por exemplo para pacote bleachbit:

https://packages.sabayon.org/quicksearch?q=bleachbit

suponha vc não lembra e não coloca nada no link....ele deveria abortar o script, mas se vc tem um pacote local seu (e no meu caso, eu tenho, é o portato, uma antiga GUI de portage)

o script chama e começa a instalar a minha cópia local do portato, mexendo nas deps e sem que eu chame o portato, ou queira instalar. Nos meus testes ele ia instalar a copia antiga do portato e estava propondo downgrade de glibc.

estou até estranhando pq mesmo que ele achasse o pacotelocal antigo meu, o portato, ele iria instalar com opção --nodeps e portanto, não deveria mexer na glibc e deps. eu todo o caso, abortei o programa para não mexer em meu sistema.

Mais um teste meu. às vêzes, dependendo do pacote, seu comando interno "emerge --searchdesc $n" causa vários erros de python, na saída.
substitui por "eix $n && emerge -s $n" e ele faz a busca no Portage normal.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts