Script para Gerenciamento de Pacotes no Slackware

Publicado por Perfil removido (última atualização em 10/07/2010)

[ Hits: 4.694 ]

Download package




É muito cansativo ficar digitando repetidas vezes os comandos para instalar, remover e/ou atualizar pacotes, além de outras tarefas executadas pelo Slackpkg e/ou Slapt-get. Decidi criar um simples script para o gerenciamento de pacotes para o Slackware, tornando mais agradável as tarefas repetidas pelos comandos.

Lembrando que é necessário possuir os pacotes Slackpkg e Slapt-get instalados - apenas instalados -, sem necessidade de editar o mirror, pois o script possui esta função para você editá-lo no nano. Verifique no CD ou DVD da distribuição se possui os pacotes requeridos.

Copie e cole o script abaixo no seu editor preferido e salve-o com o nome que desejar, tais como slack-package.

Transforme-o no arquivo executável e mova-o para o diretório /usr/local/bin.

  



Esconder código-fonte

#!/bin/sh

# Simples script para gerenciamento de pacotes no Slackware.

Principal() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

echo "    _____________________________________________________________________________________________ "
echo "   |                                       |"
echo "   | O Slackpkg é um gerenciador de pacotes rudimentar, que oferece uma opção mais prática de    |"
echo "   | usar em relação à tradicional receita de baixar os pacotes manualmente e instalá-los usando |"
echo "   | o installpkg. Ele permite instalar ou atualizar os pacotes de forma mais prática, baixando  |"
echo "   | as versões mais atuais dos pacotes solicitados a partir de um mirror pré-selecionado. Além  |"
echo "   | disso, o Slackpkg não resolve muitos erros sozinho, e você terá sempre de verificar através |"
echo "   | do terminal o que está errado. Também não existe nenhum tipo de checagem de dependências.   |"
echo "   |_____________________________________________________________________________________________|"
echo

echo "    _____________________________________________________________________________________________ "
echo "   |                                       |"
echo "   | O Slapt-get se propõe a oferecer um sistema de download automático de dependências, ou seja,|"
echo "   | se o pacote desejado precisa de outros para funcionar, com a opção de instalar a turma toda |"
echo "   | de uma vez. A grande vantagem sobre o Slackpkg é que ele é capaz de trabalhar com vários    |"
echo "   | repositórios simultaneamentes, incluindo repositórios não-oficiais como o Slacky, o que, de |"
echo "   | fato, simplifica enormemente a instalação de aplicativos com muitas dependências.           |"
echo "   |_____________________________________________________________________________________________|"
echo
echo








   echo "Qual gerenciador de pacotes que você deseja?"
   echo 

   echo "1. Slakpkg"
   
   echo "2. Slapt-get"

   echo

echo -n "Digite aqui o número da opção desejada:"

read opcao

case $opcao in

   1) Slackpkg ;;
   
   2) Slapt_get ;;

   *) echo "Opção Inválida" && sleep 3 && Principal ;;

esac

}

## ====================================== Comandos da Opção Slackpkg =========================================
## ===========================================================================================================

Slackpkg() {

clear
   
echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

echo "   ==============================================================================================="
echo "   |                                           SLACKPKG                                          |"
echo "   ==============================================================================================="
echo

   echo "Selecione o que você deseja fazer:"
   echo 

   echo "1.  Instalar pacote(s)"

   echo "2.  Reinstalar pacote - (Use esta opção caso houver problemas na instalação)"
   
   echo "3.  Remover pacote(s)"

   echo "4.  Procurar pacote"

   echo "5.  Atualizar base de dados"

   echo "6.  Atualizar pacote(s)"

   echo "7.  Atualizar todos os pacotes"

   echo "8.  Checar atualizações"

   echo "9.  Realiza somente o donwload do(s) pacote(s) - (Salvará na pasta /var/cache/packages)"

   echo "10. Obter informações do pacote"

   echo "11. Verificar os patches e atualizações de segurança"

   echo "12. Alterar e/ou editar mirror"

   echo "0.  Voltar"

   echo

echo -n "Digite aqui o número da opção desejada:"

read opcao

case $opcao in

   1) slackpkg_instalar_pacote ;;

   2) slackpkg_reinstalar_pacote ;;
   
   3) slackpkg_remove_pacote ;;

   4) slackpkg_procurar_pacote ;;

   5) slackpkg_atualizar_db ;;

   6) slackpkg_atualizar_pacote ;;

   7) slackpkg_atualizar_todos ;;

   8) slackpkg_checar_atualizacoes ;;

   9) slackpkg_download ;;

   10) slackpkg_info_pacote ;;

   11) slackpkg_patches ;;

   12) slackpkg_alterar_mirror ;;

   0)  voltar ;;
   
   *) echo "Opção Inválida." && sleep 3 && Slackpkg ;;

esac

}

################################ Instalar Pacote Slackpkg ######################################

slackpkg_instalar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja instalar:"

read pacote

   slackpkg install $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg


}

##################################### Reinstalar Pacote Slackpkg #################################

slackpkg_reinstalar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja reinstalar:"

read pacote

   slackpkg reinstall $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

####################################### Remover Pacote Slackpkg ################################

slackpkg_remove_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja remover:"

read pacote

   slackpkg remove $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo


read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

#################################### Procurar Pacote Slackpkg ##################################

slackpkg_procurar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja procurar:"

read pacote

   slackpkg search $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################ Atualizar Base de Dados Slackpkg ###############################

slackpkg_atualizar_db() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo "Aguarde... atualizando a base de dados"


   slackpkg update

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################# Atualizar Pacote Slackpkg ######################################

slackpkg_atualizar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja atualizar:"

read pacote

   slackpkg upgrade $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################ Atualizar Todos os Pacotes Slackpkg ############################

slackpkg_atualizar_todos() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo "Aguarde... carrgando a lista de todos os pacotes que necessitam de atualizações."

sleep 3

   slackpkg upgrade-all

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

##################################### Checar Atualizações ######################################

slackpkg_checar_atualizacoes() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo "Aguarde... verificando se há atualizações disponíveis."


   slackpkg check-updates

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################# Download de Pacote Slackpkg ##################################

slackpkg_download() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do(s) pacote(s) que deseja baixar:"

read pacote

   slackpkg download $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################# Informações de Pacote Slackpkg ###############################

slackpkg_info_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja obter informações detalhadas:"

read pacote

   slackpkg info $pacote

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

########################### Patches e Atualizações Slackpkg ####################################

slackpkg_patches() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo "Aguarde... verificando os patches e atualizações de segurança."


   slackpkg upgrade patches

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

################################### Mirror Slackpkg #############################################

slackpkg_alterar_mirror() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   nano /etc/slackpkg/mirrors

   slackpkg_atualizar_db

echo
echo -n "Deseja retornar as opções do Slackpkg? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slackpkg

}

#################### Voltar a Lista Gerenciador de Pacotes ######################################

voltar() {


Principal

}

## =========================== Comandos da Opção Slapt-Get ========================================
## ================================================================================================

Slapt_get() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

echo "   ==============================================================================================="
echo "   |                                          SLAPT-GET                                          |"
echo "   ==============================================================================================="
echo

   echo "Selecione o que você deseja fazer:"
   echo 

   echo "1.  Instalar pacote(s)"
   
   echo "2.  Remover pacote(s)"

   echo "3.  Atualizar pacote(s)"

   echo "4.  Procurar pacote"

   echo "5.  Obter informações do pacote"

   echo "6.  Realiza somente o download do(s) pacote(s) - (Salvará na pasta /var/slapt-get/)"

   echo "7.  Atualiza base de dados"

   echo "8.  Alterar e/ou editar mirror"

   echo "0.  Voltar"

   echo

echo -n "Digite aqui o número da opção desejada:"

read opcao

case $opcao in

   1) slapt_get_instalar_pacote ;;
   
   2) slapt_get_remove_pacote ;;

   3) slapt_get_atualizar_pacote ;;

   4) slapt_get_procurar_pacote ;;

   5) slapt_get_info_pacote ;;

   6) slapt_get_download ;;

   7) slapt_get_atualizar_db ;;

   8) slapt_get_alterar_mirror ;;

   9) voltar_ao_menu ;;

   0) voltar ;;

   *) echo "Opção Inválida." && sleep 3 && Slapt_get ;;

esac

}

########################### Instalar Pacote Slapt-get #########################################

slapt_get_instalar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja instalar:"

read pacote

   slapt-get -i $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get


}

############################# Remover Pacote Slapt-get #########################################

slapt_get_remove_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja remover:"

read pacote

   slapt-get --remove $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

############################# Atualizar Pacote Slapt-get #########################################

slapt_get_atualizar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja atualizar:"

read pacote

   slapt-get -i $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

############################# Procurar Pacote Slapt-get #########################################

slapt_get_procurar_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja procurar:"

read pacote

   slapt-get --search $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

############################# Informações do Pacote Slapt-get ####################################

slapt_get_info_pacote() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do pacote que deseja obter informações detalhadas:"

read pacote

   slapt-get --show $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

############################# Download de Pacote Slapt-get ######################################

slapt_get_download() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo -n "Digite o nome do(s) pacote(s) que deseja baixar:"

read pacote

   slapt-get -i -d $pacote

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

############################# Atualizar Base de Dados Slapt-get #################################

slapt_get_atualizar_db() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   echo "Aguarde... atualizando a base de dados."

sleep 3

   slapt-get --update

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

##################################### Mirror Slapt-get #########################################

slapt_get_alterar_mirror() {

clear

echo "   ==============================================================================================="
echo "   |                          Gerenciamento de Pacotes para Slackware                            |"
echo "   |                                    By Ricardo Santiago                                      |"
echo "   |                              Pressione as teclas CTRL C para sair                           |"
echo "   ==============================================================================================="
echo

   nano /etc/slapt-get/slapt-getrc

   slapt_get_atualizar_db   

echo
echo -n "Deseja retornar as opções do slapt-get? [S/n]"
echo

read resposta

   test "$resposta" = "n" && Principal
   

Slapt_get

}

Principal

Scripts recomendados

filelist2link - converte lista de pacotes de um repositório em uma lista de links para o wget

Backup Base de Dados PostgreSQL [pg_dump]

Menu em bash

Subtitle DVD Multiplex

Contar o número de arquivos e subdiretórios de um diretório


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts