Original em formato texto com marcações para txt2tags, conversão em HTML e atualização do site via script.
su -
ou use sudo
, por segurança evite efetuar login e trabalhar como root.
Smart tem interface gráfica semelhante ao Synaptic, muito fácil de usar e intuitiva, instale o pacote smart-gui
, dependendo da distro cria um atalho no menu, como exemplo no FC5.
FC5 menu do Gnome -> Aplicações -> Ferramentas do Sistema -> Gerenciador de Pacotes Smart
Quando não criar ou não encontrar, use atalhos, exemplo em ambiente KDE. MenuK, executar comando ou pelo atalho ALT+F2, na caixa de dialogo smart
e OK.
Também pode chamar a partir da linha de comando, execute smart --gui
Pode passar parametros como install, info e etc, exemplo; smart --gui info squid
, no SUSE 10 tem um comportamento muito estranho, neste exemplo de comando, abre a janela e fecha, exibe o resultado no console, mudando para install abre direto na janela pedindo confirmação, não achei esta opção funcional, prefira executar smart --gui para fazer a seleção de pacote na interface dele.
Neste documento o foco é linha de comando, utilizo no dia a dia para copiar e colar, as configurações podem ser feitas em qualquer ambiente, pesquisas e informações sobre os pacotes pode ser mais interessante em ambiente gráfico, executar remotamente via ssh pode ser mais interessante via ambiente texto, mas pode executar smart remotamente via ssh em interface gráfica, faça a conexão com a opção (-X) e no console execute smart --gui
.
Os exemplos neste documento servem como minha colinha, sempre que preciso instalar algum pacote em maquina remota, faço uma conexão via ssh e depois é só copiar e colar a linha de comando, podem não atender seus propósitos mas podem facilmente serem adaptadas....
Instalar o gerenciador de pacotes smart via yum falhou, sempre retorna a mensagem "Nothing to do", não instala smart nem fedora-package-config-smart-6.89-7.i386.rpm. A solução mais prática foi; primeiro instalar apt e por ele instalar smart, segue as linhas de comando para copiar e copiar no konsole do root.
yum install apt apt-get update apt-get install smart smart update smart install smart-gui -y
Depois de instalado e com smart funcionando encontrei os rpm neste mirror oficial.
Arquitetura i386 em http://mirrors.kernel.org/fedora/releases/7/Everything/i386/os/Fedora/
Arquitetura x86_64 em http://mirrors.kernel.org/fedora/releases/7/Everything/x86_64/os/Fedora/
Outro solução, menos indicada mas que também funciona. Fazer download do rpm para instalar via rpm com --nodeps. Qualquer faço novos testes com pacotes oficiais e atualizo este tópico.
Muito estranho falhar a instalação pelo yum, voltei a pesquisar com yum, encontrou (smart-gui) e não encontrou smart, quem vai usar a interface gráfica deve resolver com a instalação de (smart-gui). Qualquer dia tento em nova instalação para descobrir qual o problema, por enquanto fica aqui a solução que funcionou com rpm do rpmfind.
via yum retorna mensagem "Nada fazer"
Instalar direto falha, baixar para instalar via rpm -ivh retorna dependencia de smart-config.
Com `` --nodeps `` instala mas não cria canais.
Solução que adotei, instalar com --nodeps e depois instalar (config-smart) pelo próprio smart, por ultimo adicionar canais como exemplificado abaixo.
Arquitetura x86_64 - Comandos aplicados no shell do root
wget ftp://rpmfind.net/linux/fedora/development/x86_64/os/Fedora/smart-0.50-45.fc7.x86_64.rpm rpm -ivh --nodeps smart-0.50-45.fc7.x86_64.rpm smart update smart install http://koji.fedoraproject.org/packages/fedora-package-config-smart/7/8/x86_64/fedora-package-config-smart-7-8.x86_64.rpm smart update
Nestes canais estão pacotes debug e extras, não incluem os principais pacotes do sistema, como resultado de smart update retorna
Canais possuem 94 pacotes novos.
Adicione também este canal, o exemplo abaixo, linhas para copiar e colar todas as linhas de uma vez.
smart channel --add fc7os64-rpm-md.channel \ type=rpm-md \ name="osfc7x64" \ baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/x86_64/os/ Responda S para cada solicitação de canal, ou se preferir esta opção que busca o arquivo na minha maquina. smart channel --add http://200.204.198.164/zago/smart/fc7os64-rpm-md.channel -y
smart update
Agora retona
Canais possuem 1105 pacotes novos.
Mostra duas mensagens de erro relacionadas ao endereço contendo (Everything), mesmo assim funciona sem problema algum, ainda não procurei a solução.
Em 03.06.2007 já tinha atualização do Firefox e outros pacotes, para manter o sistema atualizado, execute regularmente
smart upgrade
Download, mais dicas, rpm especifico para sua arquitetura.
http://koji.fedoraproject.org/koji/buildinfo?buildID=7706 http://rpmfind.net/linux/rpm2html/search.php?query=smart-config http://rpmfind.net/linux/rpm2html/search.php?query=cdebver.so
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms rpm -ivh http://dl.atrpms.net/all/smart-0.41-26.rhfc5.at.x86_64.rpm rpm -ivh http://dl.atrpms.net/all/smart-gui-0.41-26.rhfc5.at.x86_64.rpmNa ordem, as linhas acima, importa a chave de verificação do rpm, instala smart em modo texto, instala smart para interface gráfica. Cuidado que este endereço já deve ter mudado, serve como referencia de linha de comando, procure pelo rpm do smart no Google ou nos endereços indicados acima. Também pode fazer downlaod dos pacotes e dentro do diretório onde salvou, execute rpm -ivh mais o nome do pacote, neste formato;
rpm -ivh smart-0.41-26.rhfc5.at.x86_64.rpm
Instalar em outras versões ou arquitetura, procure pelo rpm apropriado à sua instalação, pesquise no Google, tente combinar expressões semelhantes a esta.
smart-0.41 fc5 i386.rpm
Depois de instalado, precisa atualizar a base de dados, escolha uma opção, faça pela interface gráfica ou execute na linha de comando;
smart update
Ou via ambiente gráfico, pode chamar a partir da linha de comando com smart --gui
, ou procurar no menu do Gnome -> Aplicações -> Ferramentas do Sistema -> Gerenciador de Pacotes Smart.
Na instalação do smart no FC5 não configura os canais (channels), ou melhor, configura somente um canal (RPM Database) com os pacotes instalados na maquina, qualquer consulta, lista somente os pacotes instalados, não cria automaticamente canais com pacotes do espelho do Fedora ou outro qualquer, também não achei nada pronto no Google, o mesmo problema ocorre no OPENSUSE 10.1, repetindo a solução adotada na instalação do SUSE, ou seja, criar tudo na "unha", o caminho mais prático que encontrei, criar o texto e colocar na web, minha colinha e resumo de comandos para aplicar depois da instalação do smart;
smart channel --add http://200.204.198.164/zago/smart/fc5-x86_64.channel smart update smart upgrade smart -y smart install smart-gui -y
Os passos a seguir tem o mesmo resultado do aplicado acima. Criar tudo na "unha", diretórios e canal, depois de varias tentativas consegui montar um canal que funcionou, parece tudo OK, segue os passos da criação do primeiro canal.
mkdir -p /etc/smart/channels cd /etc/smart/channels # vi fc5-x86_64.channel #editor para criar o arquivo com o contéudo abaixo. #linux:/etc/smart/channels # cat fc5-x86_64.channel [fc5-x86_64] name = FC5 x86_64 Linux packages apt-rpm repository on redhat baseurl = http://dl.atrpms.net/fc5-x86_64/redhat type = apt-rpm components = release updates updates-testing
Atualizar base de dados; smart update
Funcionou!, atualizou a base de dados e listou arquivos novos para instalar/atualizar, tanto em modo texto como na interface gráfica.
ATENÇÃO!, este exemplo aponta para pacotes da arquitetura x86_64, CPU de 64 bits, não serve e não pode usar em instalações de arquitetura i386 até i686 (CPU de 32 bits.
Estou usando smart em ambiente de testes, parece tudo normal, eventuais problemas estou anotando no tópico "Problemas e soluções".
Gosta de aventuras? se não gosta, então remova "updates-testing" da opção acima (components), são pacotes novos, geralmente é ultima versão mas altamente sujeito a problemas, se não quer correr riscos remova estas opções "testing".
Criando mais um canal como exemplo e para testes, tente usar somente a opção "stable" e remova as demais, nem sei qual a consequencias de usar os RPM dos demais diretórios.
linux:/etc/smart/channels # cat atrpms.channel
[atrpms] name = FC5 x86_64 Linux packages apt-rpm repository on atrpms baseurl = http://dl.atrpms.net/fc5-x86_64/atrpms type = apt-rpm components = stable testing bleeding
Sempre que fizer qualquer alteração nos canais, precisa atualizar base de dados, de novo;
smart update
Segue a dica para montar mais um canal, ou alterar o exemplo acima para arquitetura i386.
Faça copia de um dos canais acima, nomeie de forma que termina com .channel, use seu editor preferido para alterar o conteúdo, para escolha do que vai acrescentar em "components =" e para qual arquitetura deseja criar o canal, navegue em;
Faça as alterações de URL, componentes, nomes do canal e outros ajustes, já tem esta explicação com mais detalhes em outro tópico, procure no menu deste documento pela opção;
Alterar canal e exemplo de atualização do KDE no SUSE 10
Siga os passos indicados lá que é fácil criar outros canais.
Na interface gráfica, alguns pacotes consultados as informações estão no idioma local.
Procure pelo rpm do smart neste endereço.
http://dl.atrpms.net/fc4-i386/atrpms/stable/
Para instalar siga os mesmos passos para Fedora 5
Ambiente utilizado, CentOS 5.0 arquitetura x86_64, instalado com perfil KDE para estação de trabalho e servidores.
Consegui instalar via rpm com a opção --nodeps, instala mas não cria canais.
mkdir /tmp/smart cd /tmp/smart wget http://dl.atrpms.net/all/smart-0.50-45.0.el5.x86_64.rpm rpm -ivh --nodeps smart-0.50-45.0.el5.x86_64.rpm
Instalar smart, tentei mas deu erro e desisti porque requer python 2.4 e na distro tem o 2.3, segue os passos que tentei, baixar o pacote compatível com arquitetura x?86 ou x86_64, comandos que utilizei para instalar smart em uma instalação do CentOS 4.3 - x86_64 (64 bits),
como root em um console;
cd /tmp mkdir smart cd smart wget http://dl.atrpms.net/all/smart-0.41-26.el4.at.x86_64.rpm yum install smart-0.41-26.el4.at.x86_64.rpm # retorna erro, não resolve diversas dependencias, entre elas; Error: Missing Dependency: python-abi = 2.4 is needed by package smart # ao tentar instalar o pacote (python-abi), encontra a versão 2.3 e não a 2.4 requerida pelo smart, instala este pacote. ---> Package python.x86_64 0:2.3.4-14.2 set to be updated
Parei por aqui, desisti desta versão 4.3 do CentOS x86_64, vou aguardar uma nova versão ou atualizarem o python.
No FC5 instalou sem problemas, veja tópico sobre ele neste documento.
Instalar o gerenciador de pacotes smart
, para uso em modo texto e smart-gui
em interface gráfica, os pacotes do smart estão no CD de instalação do SUSE 10.1, pode instalar a qualquer momento, requer o CD de instalação ou yast configurado para usar repositórios da internet, como root no console execute ou copie e cole uma por uma as linhas abaixo;
yast -i smart yast -i smart-gui smart install http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/i686/smart-0.42-13.guru.suse101.i686.rpm -y smart update && smart upgrade smart Prontinho para uso em modo texto, para usar interface gráfica instale o pacote smart-gui. smart intall smart-gui smart update && smart upgrade smart
Instalar smart com os pacotes do CD / DVD facilita na instalação porque resolve as dependencias mas não cria novos canais, cria somente o canal (rpm-sys) com os pacotes já instalados na maquina. A versão atualizada já adiciona canais extras, portanto pode instalar o pacote do CD e atualizar ou simplesmente instalar diretamente com pacote atualizado.
Os pacotes atualizados do smart estão em.
http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386/RPMS.suser-guru/
Caso falhe a atualização, substitua a URL ou nome do pacote nas linhas de comando que iniciam com "smart install", acesse o endereço acima, localize a versão mais recente, clique com botão auxiliar sobre o pacote atual, selecione copiar link, cole na linha de comando.
Depois de atualizado, quando executar o smart pela primeira vez vai pedir confirmação para adicionar os canais, confirme uma por uma, confirme também a importação da chave gpg.
If you answer "Yes" all other packages signed with this key will be installed automatically. (s/N): S
Prontinho para uso em linha de comando ou interface gráfica.
Executar smart em interface gráfica, exemplos a partir do desktop KDE.
menu K -> sistema -> Configuração -> Smart (gerenciador de pacotes)
a partir da linha de comando -> smart --gui
Alt+F2 ou Menu K -> executar comando -> smart-gui
Mantenha a base de dados atualizada, sempre que atualizar o pacote smart precisa atualizar também a base de dados dele, clique no ícone atualizar ou execute na linha de comando "smart update" demora alguns minutos mesmo em banda larga, depois disto está prontinho para instalar novos pacotes ou atualizar seu sistema, a escolha é sua, via linha de comando ou interface gráfica.
Alguns canais estão desabilitados, estão com flag disabled = yes
, como exemplo os canais que apontam para repositórios de pacotes do KDE 3.5.3, se preferir pode habilitar como também adicionar novos canais para incluir novos pacotes e repositórios da internet, explore a interface gráfica ou procure neste documento o tópico sobre comandos e dicas.
Com smart atualizado tem vários canais apontando para diversos servidores de pacotes da internet. Mas tem muito mais, a qualquer momento pode adicionar novos servidores de pacotes (canais), smart permite incluir servidores de pacotes apt, yast e outros. Neste documento tem mais detalhes sobre manutenção de canais.
Não use mais de um gerenciador de pacotes simultaneamente, também não inicie simultaneamente em mais de um console, não use simultaneamente interface texto e gráfica, sempre um única seção, antes de abrir em outra interface, fecha a anterior, pode criar canal em modo texto e trabalhar em ambiente gráfico e vice-versa.
Procurando uma maneira de simplificar e facilitar a criação de canais, o caminho mais prático que achei; instalar smart via yast, atualizar o smart e depois criar novos canais.
O exemplo indicado abaixo serve como referencia e modelo, use seu editor preferido para alterar, neste documento tem mais dicas e opções sobre criação e manutenção de canais.
Linha de comando para adicionar alguns canais específicos para o SUSE 10.1 arquitetura i386 ... i686 (32 bits).
adicionar repositório apt, todos os componentes de
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386/ components = base extra kernel-of-the-day kolab kraxel mozilla non-oss packman-i686 packman rpmkeys samba3 security-prpm security suse-people suse-projects suser-guru suser-jengelh suser-oc2pus suser-rbos update-prpm update usr-local-bin wine``
A linha de comando abaixo instala todos estes componentes, para facilitar a organização, criei um canal para cada componente, assim pode editar para remover ou desabilitar o canal (componente) via linha de comando, baixe este modelo e edite os canais desejados ou para instalar sem alterações, copie e cole no console do root.
smart channel --add http://200.204.198.164/zago/smart/suse101-i386-apt-gwdtodos.channel -y smart update
Depois de adicionar este canal e atualizar a base de dados, pode usar tanto em modo texto ou interface gráfica, pode instalar diversos pacotes que não fazem parte do CD de instalação, clique no ícone de pesquisa (lupa) em ambiente gráfico ou use (search) em modo texto, exemplo de pesquisa em modo texto, procurando por "flash", resultado parcial da pesquisa;
suse101-ecs741:~ # smart search flash RealPlayer - RealPlayer 10 for Linux flash-player - Macromedia Flash Plug-In
Instalar plug flash, basta colar no console
smart install flash-player -y
Adicionar ISO do DVD de instalação, montada ou copia do conteúdo dela em /mnt/isolocal
smart channel --add http://200.204.198.164/zago/smart/s101isolocal.channel -y smart update
smart update
atualiza a base de dados, pacotes disponíveis, nova versão de pacotes e outras informações, sincroniza a lista de pacotes da maquina com a dos servidores. Este comando é obrigatório depois de qualquer alteração em algum canal, altamente recomendável antes de qualquer atualização ou instalação de pacotes. Procure manter atualizado para evitar erros na instalação ou atualização de pacotes.
Veja indicação no final deste documento (smart-channel.html)
Interface gráfica, instale também o pacote smart-gui
, executar a partir do KDE. MenuK, executar comando ou pelo atalho ALT+F2, na caixa de dialogo smart
e OK.
Escolha a versão apropriada ao seu sistema, SUSE tem versão especifica para 32 e 64 bits, instale o pacote compatível com a arquitetura em uso para evitar problemas, na instalação do pacote do smart já configura automaticamente a lista de servidores e a base de dados correspondente ao pacote instalado, estes servidores tem que ser compatível com sua arquitetura, em instalações de 64 bits (x86_64 instale o pacote do smart encontrado neste endereço;
http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/x86_64/
Use CTRL+F e procure por smart, em 09/03/2006 o pacote estava com este nome; smart-0.41-13.guru.suse100.x86_64.rpm
portanto o endereço completo para download via wget fica assim;
wget http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/x86_64/smart-0.42-13.guru.suse100.x86_64.rpm
Os demais comandos do smart, procedimentos de instalação e uso do smart é igual nas duas versões, a diferença está somente no endereço de download e nome do pacote, em instalações x86_64 basta fazer o download do pacote indicado acima e ajustar as linhas de comando abaixo para usar o nome do pacote do smart correspondente a x86_64, copie a linha de comando para seu editor de texto e altere o nome do pacote para ajustar conforme o download.
Na instalação padrão não aparece smart na lista de pacotes do Yast, configurar Yast somente para instalar este pacote pode dar mais trabalho do que baixar, prefiro baixar e salvar em maquina local, para as demais instalações basta fazer copia via ssh para a nova instalação, considere salvar este arquivo em CD ou na rede para efetuar copias para as novas instalações, a seguir, passo a passo para baixar e instalar sem alterações no Yast.
Acesse; http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/i686/
Neste endereço tem os pacotes do smart, a cada atualização altera o nome do arquivos, em 03/09/2006 tinha esta versão .
smart-0.42-12.guru.suse100.i686.rpm 03-Sep-2006 00:58 459k smart-gui-0.42-12.guru.suse100.i686.rpm 03-Sep-2006 00:58 76k
Use CTRL+F para localizar e fazer download do pacote smart-0.42-12.guru.suse100.i686.rpm
ou versão mais recente, salve na maquina local, pelo konqueror navegue até onde salvou e clique sobre o arquivo para iniciar a instalação, clique em "Install Package with YaST" que automaticamente chama o Yast, resolve as dependências e pede os CD, ou se preferir pela linha de comando, abrir um konsole e tornar root, linha de comando para baixar via wget;
wget http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/i686/smart-0.42-12.guru.suse100.i686.rpm
Ocorrendo erros pode ser problemas com acesso á internet ou na atualização alterou o nome, nestes casos acesse a URL para pegar o nome correto ou baixar via brownser.
Resumo dos comandos, como root, no konsole, copie e cole estas linhas, uma por uma e feche konqueror após concluir a instalação ( segunda linha);
wget http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/i686/smart-0.42-12.guru.suse100.i686.rpm konqueror smart-0.42-12.guru.suse100.i686.rpm smart update smart install python-gtk -y smart upgrade smart -y smart update
A seguir o mesmo procedimento acima, porém com mais dicas e detalhes.
Instalar via linha de comando pode chamar o konqueror+smart;
konqueror smart-0.42-12.guru.suse100.i686.rpm
o resultado é o mesmo que abrir o konqueror para depois navegar até o local onde salvou o download do Smart e dar um clique para iniciar a instalação.
Evite instalar tudo via linha de comando, em algumas instalações este procedimento tem dado errado, caso queira tentar, como root dentro do diretório onde salvou o download do smart;
yast --install smart-0.42-12.guru.suse100.i686.rpm yast --install python smart update #a proxima linha instala a interface gráfica do smart, portanto opcional. smart install python-gtk -y
Na instalação do python requer o CD1 e CD3 ou o Yast configurado para buscar na net.
A falta do pacote python impede a utilização do smart em modo texto, também não consegue atualizar do banco de dados do smart e qualquer comando no smart vai falhar e exibir esta mensagem de erro,
error: While using /etc/smart/channels/suse-apt-security-gwdg.channel: 'rpm' python module is not available error: 'rpm' python module is not available
Caso ocorra erros, faça a instalação somente do smart via konqueror que automaticamente chama o Yast e resolve a dependência, somente depois da instalação sem erros, poderá atualizar e utilizar o smart, execute como root no console.
smart update smart install python-gtk -y
O pacote python-gtk é requerido somente para uso via interface gráfica (GUI), quem vai utilizar somente em modo texto não precisa instalar este pacote.
Concluída a instalação o smart precisa atualizar a lista de pacotes, portanto o primeiro comando a executar deve ser a atualização, quando instalada a interface gráfica, pode dar um clique em atualizar ou na linha de comando, execute;
smart update
Prontinho para usar em linha de comando, em ambiente gráfico precisa instalar também o pacote python-gtk
, pode fazer pelo Yast ou na linha de comando execute;
smart install python-gtk -y
Prontinho para chamar smart também em ambiente gráfico, como root no console, execute smart --gui
, pode executar também a partir de konsole remoto em conexão via ssh com a opção -X.
Aproveite e atualize o smart periodicamente, atualize o pacote do smart e também a base de dados, execute;
smart upgrade smart -y smart update
Quando falhar a interface gráfica, mesmo depois de instalar os pacotes acima e atualizar, retornando mensagem de erro semelhante a esta;
linux:~ # smart --gui error: Interface 'gtk' not available
Já ocorreu em algumas instalação, não lembro os procedimentos que levou a isto, a solução foi instalar/executar;
smart install smart-gui -y
cd /tmp wget http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.0/RPMS/x86_64/smart-0.42-12.guru.suse100.x86_64.rpm konqueror smart-0.42-12.guru.suse100.x86_64.rpm smart update smart upgrade smart -y smart update # Instalar interface gráfica smart install smart-gui -y
Os demais comandos e dicas, siga o tópico sobre SUSE 10, a diferença entre as duas versões da distro está somente no endereço dos pacotes, evite instalar pacotes de arquitetura diferente.
Ambiente, versão em 3 CD, Mandriva Linux 2006 - free
Tem os rpm do smart no CD de instalação, instalação com perfil KDE para estação de trabalho não incluem os pacotes do smart.
Execute mcc e procure pelo pacote do smart ou via linha de comando execute.
urpmi smart smart update smart --version smart 0.39
Achei muito estranho, aponta para canais Cooker e Contrib, a maioria falha, não são oficiais e não adiciona novos pacotes. Qualquer dia procuro entender isto e criar canais, primeiro preciso descobrir endereços dos repositórios.
Uso do smart package nas versões kubuntu 6.10 e 7.04.
Kubuntu 7.04
Na versão 7.04 não fiz alterações depois de instalado no HD, instalei o smart via aptitude.
aptitude update aptitude install smartpm smart update
Prontinho, smart instalado e funcionando, retornou o resultado. "Canais possuem 20274 pacotes novos."
instalou a versão para uso em modo texto e interface gráfica.
Para chamar a interface gráfica execute "smart --gui", para executar remotamente, faça a conexão via ssh com a opção -X e chame a partir do konsole remoto.
kubuntu 6.06
Na versão 6.06 depois de instalado em HD, como root editei o sources.list para remover todos comentarios de repositórios.
A seguir resultado da instalação na versão 6.10, os comandos são os mesmos na versão 7.04
deb http://br.archive.ubuntu.com/ubuntu/ edgy main restricted deb-src http://br.archive.ubuntu.com/ubuntu/ edgy main restricted deb http://br.archive.ubuntu.com/ubuntu/ edgy-updates main restricted deb-src http://br.archive.ubuntu.com/ubuntu/ edgy-updates main restricted deb http://br.archive.ubuntu.com/ubuntu/ edgy universe deb-src http://br.archive.ubuntu.com/ubuntu/ edgy universe deb http://br.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse deb-src http://br.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu edgy-security main restricted deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted deb http://security.ubuntu.com/ubuntu edgy-security universe deb-src http://security.ubuntu.com/ubuntu edgy-security universeDepois de alterado, no konsole do root executei.
aptitude update aptitude install smartpm smart updateProntinho, smart instalado e funcionando.
smart search smartpm
smartpm - An alternative package manager that works with dpkg/rpm smartpm-core - An alternative package manager that works with dpkg/rpm
smart info smartpm
Nome: smartpm Versão: 0.42-0ubuntu1 Prioridade: 0 Grupo: admin Tamanho Instalado: 332.0kB URLs de referência: Flags: Canais: DEB System; edgy - universe Sumário: An alternative package manager that works with dpkg/rpm Descrção: The Smart Package Manager project has the ambitious objective of creating smart and portable algorithms for solving adequately the problem of managing software upgrading and installation. This tool works in all major distributions (APT, APT-RPM, YUM, URPMI, etc). . This project is in beta testing. Please, understand that bugs are expected to be found at that stage, and there are features that still must be implemented in the forthcoming future. . This package contains the GTK2 frontend for Smart.
Smart tem interface gráfica e modo texto (linha de comando), pode usar alternadamente mas nunca as duas simultaneamente, nem abrir mais de uma sessão em terminais ou conexões diferentes, quando se sabe o comando fica mais prático e rápido fazer pela linha de comando, configurações e informações sobre pacotes fica mais fácil pela interface gráfica, explore as duas formas para tirar melhor proveito, a base de dados e configurações são as mesmas nos dois ambientes.
Na linha de comando tem duas formas de uso, comandos diretamente na linha de comando precedidos de smart ou entrar em modo shell e executar os comandos smart.
smart sem parâmetro algum retorna um texto de ajuda.
Obter mais informações, na linha de comando execute smart --help
, detalhar ainda mais, use smart comando --help
, onde comando seja um dos listados no help, alguns resultados tem exemplos, como em smart channel --help
tem indicação do exemplo para apt-rpm;
smart install --help smart channel --help smart channel --help-type apt-rpm smart channel --show
Configuração em geral, criar canais e outras diretivas de configurações acho que o melhor é pela interface gráfica, muito mais fácil e intuitiva.
Em modo texto não encontrei forma amigável para editar arquivos de configuração, tem como fazer pela linha de comando, achei meio complicado, tem algumas anotações no final deste documento, consulte o help para mais detalhes.
Veja a documentação disponível em /usr/share/doc/packages/smart/
Chamar a interface gráfica, na linha de comando execute; smart --gui
, usar em modo shell, execute; smart --shell
, em modo shell ele muda o cursor para smart>
, dentro do smart (após chama-lo com smart --shell), para instalar pacotes execute; install <nomedopacote>
, vale para os demais comandos, veja o resultado de help
, install help
observe que neste modo não usa smart no inicio da linha, o resultado é o mesmo, a diferença é entrar no smart para dar os comandos ou executar smart para cada comando, para sair do smart, voltar ao bash, digite: quit
smart --gui
chama interface gráfica a partir da linha de comando, muito fácil, intuitiva e amigável.
ou pelo atalho ALT+F2, (executar comando) na caixa de dialogo smart
e OK.
Conheça também as opções em linha de comando, ideal em administração remota, conexões lenta, script ou quando não tem ou falha o ambiente gráfico.
Alguns dos comandos mais utilizados (na minha opinião), uso em shell (linha de comando).
Lembre que instalar programas requer poderes de root, no shell torne root com su -
ou configure o usuário no sudo
.
smart
sem parametro ou smart --help
exibe o help (ajuda, manual), obter mais ajuda sobre comandos específicos, execute smart commando --help
, exemplos; smart install --help
, smart channel --help
.
Não pedir confirmação, acrescente -y
no final da linha de comando.
Atualizar somente um pacote, exemplo para atualizar o próprio smart,
smart upgrade smart -y
smart update
atualiza a base de dados do smart, obrigatório após qualquer alteração no smart, altamente recomendável periodicamente ou antes de instalar algum pacote, serve para sincronizar as informações local com os servidores, atualiza nomes e versões dos pacotes, não instala nem atualiza pacotes, somente atualiza o banco de dados com informações dos pacotes, evita erros na tentativa de instalar pacotes desatualizados.
Considere o seguinte ambiente, quando executar comandos de pesquisa, atualizar ou instalar novos pacotes, o smart consulta um banco de dados local contendo informações sobre os pacotes, isto torna muito mais rápido que pesquisar diversos servidores na internet.
Considere que na instalação ou atualização de pacotes, o smart pega o nome e versão no banco de dados local, usa esta informação na procura e download do pacote.
Considere que os pacotes estão em constante atualização, a todo momento os servidores de pacotes são atualizados, tanto com novas versões como novos lançamentos de pacotes.
Em cada servidor de pacotes tem um arquivo contendo a lista atualizada de pacotes com informações para uso do smart
Atualizar a base de dados com (smart update) serve exatamente para atualizar as informações da maquina local com os servidores de pacotes. Consulta o arquivo de informação de cada canal, quando detectar que houve mudança no servidor, indica que ocorreu alguma modificação depois da ultima atualização, neste caso faz o download deste arquivo de informações para atualizar o banco de dados local, ou seja, atualiza as informações local sobre pacotes e versões.
Execute nesta ordem e formato;
smart upgrade smart -y smart update ou smart upgrade smart -y && smart update
Pesquisar na lista de pacotes, use smart search nome-do-pacote, exemplos de algumas pesquisas;
smart search openoffice smart search squid smart search xen
Pesquisar informando somente parte do nome do pacote, pesquisa em qualquer parte do nome, lembre que os nomes dos pacotes estão em Inglês;
smart search '*game*' smart search '*office*' Refine a pesquisa com grep. smart search '*office*' | grep BR
smart info nome-do-pacote
Obtendo informações detalhadas do pacote
smart info squid smart info openoffice
Veja também os resultados com --explain
, install --explain nome-do-pacote
smart install apache --explain install --explain xen
smart install nome-do-pacote
instala programas (novos pacotes)
smart upgrade nome-do-pacote
atualizar pacote já instalado
Instalar pacote diretamente de servidor web, informe a URL ou IP + caminho + pacote, considere servidor web também servidores apache na rede local, não precisa configurar o canal no smart, na linha de comando use este formato.
smart install http://www.dominio.com/diretorio/pacote.rpm smart install ip/caminho/pacote.rpm
Chamar interface gráfica informando qual pacote deseja instalar, ideal quando se quer obter mais informações do pacote ou alguma seleção, exemplo de linha de comando para o sarg.
smart --gui install sarg
Instalando multiplos pacotes, alguns exemplos de linha de comando em modo shell e gui, procurando por pacotes que contenham "game" no nome;
smart --gui install '*game*' smart install '*game*'
selecionado mais de um pacote;
smart --gui install pacote1 pacote2 pacote3 smart install pacote1 pacote2 pacote3
Atualizar todo o sistema, smart upgrade
, atualiza todos os pacotes da instalação para a ultima versão, tente disparar este comando e não usar o micro, demora muito, depende do perfil e do que falta atualizar, na primeira atualização em instalação com perfil KDE faz download de mais ou menos 500MB.
smart search nome-do-pacote
, funciona como no apt, exemplo de resultado no SUSE 10, pesquisa sobre squid retorna;
linux:~ # smart search squid Loading cache... Updating cache... ################################################## [100%] calamaris - A Report Generator netselect - Choose the Fastest Server automatically sarg - Squid Analysis Report Generator squid - Squid WWW proxy server squid-beta - Squid V3.0 WWW Proxy Server (new version) squid-beta-debuginfo - Debug information for package squid-beta squid-debuginfo - Debug information for package squid squidGuard - filter plugin for squid squidGuard-debuginfo - Debug information for package squidGuard transconnect - Allows you to access the internet through a HTTP proxy
smart channel --show
lista todos canais
smart channel --edit nome-do-canal
Neste modo de edição o smart chama o editor "vi", portanto os comandos de edição são os mesmos do editor "vi". Resumo de talhos no "vi" pressione INSERT para editar, (SHIFT+ESC) para entrar em modo comando, (SHIFT+ESC :wq) grava e sai, (SHIFT+ESC :q!) abandona edição e sai sem salvar. Remover linhas, em modo comando pressione dd.
Pode editar o canal via interface gráfica ou usar seu editor de texto preferido na edição dos arquivos (canais) em /etc/smart/channels/
smart channel --add
adiciona novos canais, veja tópico sobre criação de canais.
smart channel --add http://200.204.198.164/zago/smart/osuse101-386-apt-gwdg.channel
Neste tutorial e na continuação dele smart-channel.html, tem varios exemplos como este acima, são minhas colinhas, em lugar de executar este comando, acesse via navegador ou baixe via wget, no diretório onde salvou, edite modifique conforme sua instalação, depois adicione o canal a partir do arquivo na própria maquina, procure manter o padrão em /etc/smart/channels/ ou informe o caminho quando usar local diferente, execute dentro do diretório como neste exemplo;
smart channel --add ./osuse101-386-apt-gwdg.channel
smart mirror --add
adiciona novos mirrors (espelhos)
Desabilitar canal, --disable
inclui a diretiva disabled = yes
na configuração do canal, depois da alteração execute update e veja o resultado com --show, exemplos de linha de comando.
smart channel --disable nome-do-canal
smart channel --disable suse101-386-apt-gwdg
Habilitar canal, troque desable por enable, exemplo para desfazer o comando desable do canal acima
smart channel --enable nome-do-canal
smart channel --enable suse101-386-apt-gwdg
Resumo, via interface gráfica basta um clique na opção. Via linha de comando pode executar os comandos acima ou via editor, onde desable acrescenta no canal (disabled = yes), tanto faz com o comando acima ou editando e acrescentando diretamente no canal, enable remove esta linha do canal indicando, da mesma forma, pode usar o exemplo de comando acima ou editar o canal e remover esta linha via editor.
Atualização automática.
Crie um script com a lista de pacotes que deseja manter atualizado, exemplo de script para atualizar o Apache e ssh.
cat atusshweb
#!/bin/bash smart update smart upgrade apache2 -y smart upgrade openssh -y
Torne executável e acrescente no crontab ou execute diretamente na linha de comando.
Arquivos de configurações em: /var/lib/smart
Prioridade do canal, pacote, mirror....
smart priority --help
smart flag --help
Manter o download dos pacotes instalados.
smart config --set remove-packages=false
Esta opção =false
salva e mantem os pacotes em disco, mesmo depois instalar ou atualizar pacotes, o download dos rpm continuam armazenados no diretório.
/var/lib/smart/packages
Como os rpm continuam em disco, pode copiar para outra instalação, criar repositório local para aplicar em outras instalações. Cuidado com o espaço em disco.
Para desabilitar esta função.
smart config --set remove-packages=true
=true
remove os rpm no final da instalação, salva o download em /var/lib/smart/packages durante a instalação, quando trava ou reinicia o processo ele aproveita o download, mas apaga os rpm depois de instalar o pacote.
Atualizar diversas intalações com mesmo pefil fica mais prático atualizar uma delas e aproveitar o download do pacotes para atualizar as demais.
Para manter os download dos pacotes, antes de inticiar a atualização execute.
smart config --set remove-packages=false
Agora atualize e instale os pacotes, depois de terminada a atulização, siga os passos seguintes para criar CD de atualização.
Na instalação vou criar um repositório apt, serve tanto para smart como apt, portanto o canal do smart deve ser criado como sendo um repositório apt, na maquina que vai criar o repositório apt precisa instalar o pacote apt4rpm
smart install apt4rpm -y
Os comandos a seguir faz copia dos rpm para um diretório do servidor apache, cria uma repositório apt, por ultimo cria imagem ISO que pode gravar em CD, copiar para um diretório na mquina que deseja atualizar, ou simplesmente, nas demais maquinas basta criar canais apt apontando para este servidor, aplique a opção que melhor lhe atende.
mkdir -p /srv/www/htdocs/rpmextras/RPMS.meurpm cp /var/lib/smart/packages/* /srv/www/htdocs/rpmextras/RPMS.meurpm chmod -R 755 /srv/www/htdocs/rpmextras/RPMS.meurpm/* cd /srv/www/htdocs/rpmextras # remover diretório base quando for atualização # rm -rf /srv/www/htdocs/rpmextras/base genbasedir `pwd`Atualizar este repositório com novos pacotes (novos download ou atualizações), basta remover o diretório base ( rm -rf /srv/www/htdocs/rpmextras/base) e executar novamente os comandos acima. Depois da copia dos pacotes de (/var/lib/smart/packages), para outro local, não precisa manter os pacotes neste diretório, pode limpar o cache com o comando
smart clean
Log do comando genbasedir `pwd`
linux-server:/srv/www/htdocs/rpmextras # genbasedir `pwd` Creating base directory... done Components: meurpm Processing pkglists... meurpm [done] Processing srclists... [done] Updating component releases... meurpm/usr/bin/genbasedir: line 434: countpkglist: command not found [done] Creating global release file... [done] Appending MD5Sum... meurpm [done]Prontinho, mesmo com a mensagem de erro acima foi criado o repositório apt e sub-diretório base. Agora pode criar a ISO e gravar o CD, copiar este diretório para outro servidor web, criar link simbolico se utilizou outro diretório, tem outras opções, segue alguns exemplos de uso deste repositório. ls /srv/www/htdocs/rpmextras base RPMS.meurpm
Criar canal smart nas demais maquinas da rede local, funciona também na própria maquina, para utilizar este repositório na maquina (servidor) com IP 192.168.1.205
smart channel --add http://200.204.198.164/zago/smart/suse101-weblocal-extras.channel smart update
Log do comando smart update.
linux-server:/zago # smart update Carregando o cache... Atualizando cache... ########################################################## [100%] Buscando informaçõess para 'minha selecao de rpm -'... -> http://192.168.1.205/rpmextras/base/release release ########################################################## [ 2%] -> http://192.168.1.205/rpmextras/base/release.meurpm release.meurpm ########################################################## [ 5%] -> http://192.168.1.205/rpmextras/base/pkglist.meurpm.bz2 pkglist.meurpm.bz2 ########################################################## [ 8%]
Criar imagem ISO.
cd /tmp mkisofs -r -o suseatual.iso /srv/www/htdocs/rpmextras
Como utilizar esta ISO em outra instalação, pode gravar em CD ou DVD, quando tem espaço de sobra no HD detino o mais prático é copiar a ISO, montar e criar canal smart, neste exemplo fiz copia desta ISO mais a ISO do DVD de instalação para /tmp
SUSE-Linux-10.1-GM-DVD-i386.iso suseatual.iso
Montando as duas imagens.
mkdir -p /mnt/isolocal mkdir -p /tmp/rpmextras mount -t iso9660 -o loop /tmp/SUSE-Linux-10.1-GM-DVD-i386.iso /mnt/isolocal mount -t iso9660 -o loop /tmp/suseatual.iso /tmp/rpmextras Criar canais smart para buscar pacotes no diretório local (iso montada na maquina local). smart channel --add http://200.204.198.164/zago/smart/suse10-aptlocal-extras.channel smart channel --add http://200.204.198.164/zago/smart/s101isolocal.channel # mantenha o canal rpm-sys e estes acima, pode comentar/desabilitar os demais canais que utilizam a net smart chanell --edit smart update
Como ficou meus canais configurados para usar ISO local.
[rpm-sys] type = rpm-sys name = RPM System [s101isolocal] type = yast2 name = DVD de instalar OPENSUSE 10.1 via ISO local baseurl = /mnt/isolocal [suse10-aptlocal-extras] type = apt-rpm name = minha selecao de rpm - nao use acentos aqui baseurl = /tmp/rpmextras/ components = meurpm
No manual consta
priority - Prioridade padrão atribuida a todos os canais disponíveis neste canal (0 se não especificada). Se exatamente o mesmo pacote estiver disponível em mais de um canal, a maior prioridade será utilizada.
Formato da linha de comando
smart channel --set mychannel priority=-100
Aceita valores com sinal (-) e sem sinal, veja o resultado com e sem sinal.
smart channel --set suse101-weblocal-extras priority=100
[suse101-weblocal-extras] type = apt-rpm name = minha selecao de rpm - priority = 100 baseurl = http://192.168.1.205/rpmextras/ components = meurpm
smart channel --set suse101-weblocal-extras priority=-100
[suse101-weblocal-extras] type = apt-rpm name = minha selecao de rpm - priority = -100 baseurl = http://192.168.1.205/rpmextras/ components = meurpm
Tenho varias instalações personalizadas, deparei com um problema, replicar estas instalações sem fazer copia de instalação, a melhor solução seria instalar pacotes a partir de uma lista em arquivo.txt.
Mantenho um script com diversas linhas de comando, altera idioma, canais próprias para repositório local e outros ajustes, como é muito longo, achei melhor colocar aqui somente os tópicos principais, minha colinha para usar via web.
Primeiro passo, criar arquivo com a lista de pacotes, pode editar arquivo.txt ou criar com a lista de pacotes uma instalação personalisada.
Observe e compare os resultados destes comandos em uma instalação do SUSE 10.1 com perfil KDE sem instalação de pacotes adicionais. para listar somente os pacotes instalados, acrescentei (disabled = yes) em todos canais, exceto no canal ([rpm-sys]), em uma instalação de testes faça
smart channel --edit
acrescente em cada canal, depois do nome do canal.
disabled = yes
Sempre que alterar canais precisa executar (smart update), conte o numero de pacotes instalados.
Resultado com somente rpm-sys habilitado
smart search | wc -l 735
Com todos os canais habilitados, canais default criados pela versão 0.42-9 no SUSE 10.1
smart search | wc -l 7310
Faça testes, compare o resultado antes e depois de instalar algum pacote.
Salvar nome dos pacotes instalados em arquivo, nomeie de forma a identificar os arquivos, nomeie com nome de usuário, maquina e etc....
smart search | cut -d" " -f1 >> /tmp/instaladomod.txt
Remover as 3 primeiras linhas do arquivo
sed -i '1,3d' /tmp/instaladomod.txt
Copiar arquivo /tmp/instaladomod.txt para outra maquina. Na instalação que deseja atualizar já tem pacotes instalados desta lista, precisa eliminar da lista os pacotes já instalados na maquina local, pode editar o arquivo na unha com seu editor preferido, ou usar o script indicado no final deste tópico, lembre de conferir se tem os mesmos canais habilitados para evitar falhas na procura no pacote, o que importa é o smart achar em seus canais o nome dos pacotes indicado no arquivo instalar.txt.
script para atualizar smart e instalar todos os pacotes listados em /tmp/instalar.txt
#!/bin/bash # seus comandos aqui, para testar UID e outras verificações. smart update while read LINHA ; do # seus comandos aqui smart install $LINHA -y done < /tmp/instalar.txt
Ajuste a seu modo, acrescente linhas de comando para substituir ou copiar .conf de outro local, linhas de comando para ajustar configuração....
Exemplo de um arquivo instalar.txt, com a lista de pacotes para instalar, um nome por linha, pode usar este mesmo formato para atualizar pacotes (update).
cat /tmp/instalar.txt flash-player gxine Mplayer RealPlayer vlc evolution
Resumo zago, prefiro manter um arquivo com as linhas de comando para copiar e colar, basta colar no konsole do root e executar smart update, claro que deve ajustar para os canais em uso em sua instalação, mantenho um script personalisado para cada perfil, segue como exemplo, copia das linhas de comando para desabilitar/habilitar canais criados na instalação da versão 0.42-10.
#desabilitar canais, acrescentar (disabled = yes) smart channel --disable guru smart channel --disable packman smart channel --disable suse-non-oss smart channel --disable suse smart update smart search | cut -d" " -f1 >> /tmp/listarpm.txt sed -i '1,3d' /tmp/listarpm.txt #habilitar canais, remover (disabled = yes) smart channel --enable guru smart channel --enable packman smart channel --enable suse-non-oss smart channel --enable suse smart update
Criar arquivo novo contendo somente nomes de pacotes que tem a mais no instaladomod.txt, pegar somente as linhas existentes no instaladomod.txt e não repetidas no listarpm.txt, ignorando as demais existentes no listarpm.txt, deve ter alguma forma mais simples, a "gambi" abaixo resolveu meu problema, foi o que lembrei no momento deste teste.
exemplo onde; /home/zago/instaladomod.txt contém a listagem completa dos pacotes que desejo instalar, serve com referencia, modelo /tmp/listarpm.txt contém uma lista reduzida, lista dos pacotes instalados na maquina que deseja atualizar, lista padrão, reduzida. diff -y --suppress-common-lines /home/zago/instaladomod.txt /tmp/listarpm.txt > /tmp/arqtmp.txt cat /tmp/arqtmp.txt | awk '{print $1}' > /tmp/arqtmp1.txt cat /tmp/arqtmp1.txt | sed '/^>/d' > /tmp/instalar.txt rm -rf /tmp/arqtmp.txt rm -rf /tmp/arqtmp1.txt cat -A /tmp/instalar.txt
/tmp/instalar.txt tem que estar na mesma maquina onde vai executar o script abaixo, instalar os pacotes a partir desta lista.
#!/bin/bash # seus comandos aqui, para testar UID e outras verificações. smart update while read LINHA ; do # seus comandos aqui smart install $LINHA -y done < /tmp/instalar.txt
Atualizar uma lista de pacotes (upgrade), basta criar o arquivo com a lista de pacotes que deseja atualizar, um nome por linha, pode executar o script na linha de comando ou agendar no crontab.
#!/bin/bash smart update while read LINHA ; do smart upgrade $LINHA -y done < /tmp/upgrade.txt
Falha no download, mensagens como servidor não responde ou pacote não encontrado, pode ser problema de conexão com a internet, remoção do pacote no servidor e muitos outros motivos, mais comum é atualização do pacote, isto modifica o nome do pacote no mirror (espelho do servidor de pacotes na internet), considere que o smart pega o nome na base de dados local, portanto, precisa mante-la atualizada para evitar falha na busca do pacote, siga esta dica;
Mantenha o smart e a lista de pacotes atualizada, execute regularmente ou antes de instalar/ atualizar pacotes, como root em um console;
smart upgrade smart -y && smart update
Ou utilize script no crontab.
Tem que executar com poderes de root, como user comum retorna erro como neste exemplo;
zago@suse64:~> smart update erro: Configuração em modo de leitura.
Este mesmo erro acima ocorre quando tenta executar smart simultaneamente, seja em dois consoles ou ambientes diferente, portanto, não tente executar novamente quando ele já está aberto em outro console ou ambiente.
Corrigindo erros, em uma instalação que passou a ocorrer erros na instalação de alguns pacotes, como este;
suse64:~ # smart install koffce Carregando o cache... Atualizando cache... ######################################## [100%] erro: 'koffce' matches no packages. Suggestions: erro: koffice-1.4.1-10@x86_64 erro: koffice-1.4.1-10@i586
Observe que encontrou dois pacotes "koffice", um para i586 e outra para x86_64, ainda não procurei saber se foi erro meu, ter incluindo em algum canal, espelhos de i586 nesta instalação de x86_64 ou se é algum erro nos servidores (mirrors), a solução pode estar na configuração da prioridade do canal, ainda não testei esta alternativa, adotei o caminho mais curto, digitar o nome completo do pacote, neste exemplo a instalação é para x86_64 e a linha de comando ficou assim;
suse64:~ # smart install koffice-1.4.1-10@x86_64 Carregando o cache... Atualizando cache... ######################################## [100%] Calculando transação... Pacotes instalados (3): koffice-1.4.1-10@x86_64 mysql-shared-4.1.13-3@x86_64 koffice-database-1.4.1-10@x86_64 7.3MB de arquivos de pacotes são necessários. 20.6MB serão utilizados. Confirma mudanças? (S/n):
A tecla tab não completa o nome, tem que digitar todo o nome do pcote ou copiar e colar com mouse
Sempre que ocorrer erros ou mensagens estranhas, procure reconstruir a base rpm, execute;
rpm --rebuilddb Veja também o resultado de smart check Depois destes comandos, atualize novamente a lista de pacotes com "update" e para atualizar o sistema "upgrade" smart update smart upgrade
Ambiente, SUSE 101.1 x86_64 com perfil KDE
Ao tentar instalar mplayer retornou esta mensagem.
suse64:/home/zago # smart install mplayer --corta-- Efetuando transação... warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 3ab2ce5e erro: To enable the keyserver run: "smart config --set keyserver=pgp.mit.edu" erro: MPlayer-1.0pre8-5.x86_64.rpm: public key not available
Na própria mensagem indica a solução, precisa importar a chave pgp, execute esta linha de comando.
smart config --set keyserver=pgp.mit.edu
Bastou executar smart novamente para instalar mplayer sem mensagens de erro.
Na versão 0.42-8 não precisa mais deste comando acima, precisa somente confirmar a importação da chave gpg.
If you answer "Yes" all other packages signed with this key will be installed automatically. (s/N): S
A principio, para remover o smart rpm -e smart
deve ser o suficiente, para reinstalar siga as dicas no tópico sobre instalação, quando isto falhar, aplique a forma mais radical indicada abaixo, tenha o cuidado de adaptar os comandos para sua distro e versão.
Caso tenha problema com acesso a internet para instalar direto via rpm, faça download e execute o rpm dentro do diretório onde salvou.
Fazendo teste um uma instalação do FC5 x86_64, depois de criar e alterar canais diversas vezes, passou a retornar resultados errados, pesquisa sobre novos pacotes retornavam inexistentes para todos, não removia nem instalava mais pacotes, tentei reconstruir a base de dados via rpm e smart e nada.
Resolvi apagar tudo e começar do zero, segue abaixo os passos e comandos que utilizei em março/2006, cuidado que os nomes dos pacotes pode ter mudado com atualizações, se falhar consulte o nome atual no site indicado.
Comandos na ordem que foram executados no FC 5.
rm -rf /etc/smart rm -rf /var/lib/smart rm -rf /usr/bin/smart rm -rf /usr/lib64/python2.4/site-packages/smart rm -rf /usr/lib64/smart rpm -e smart-gui rpm -e smart rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms rpm -ivh http://dl.atrpms.net/all/smart-0.41-26.rhfc5.at.x86_64.rpm rpm -ivh http://dl.atrpms.net/all/smart-gui-0.41-26.rhfc5.at.x86_64.rpm smart update
Agora tem que criar os canais novamente, veja no tópico sobre FC5, em um ambiente com problema, o roteiro acima resolveu o problema e voltou a funcionar sem problemas.
Em uma instalação SUSE 10.1 x86_64, acabei criando canais da arquitetura i386, não lembro o que fiz mas instalou a versão de 32 e 64 bits, depois disto não funcionou mais, qualquer comando retorna.
suse-x64:~ # smart Traceback (most recent call last): File "/usr/bin/smart", line 27, in ? from smart import init, initDistro, initPlugins, initPsyco ImportError: No module named smart
Comandos na ordem que foram executados no SUSE 10.1 x86_64, ajuste a linha de comando (rpm -ivh), atualize a URL, acesse o endereço indicado na linha de comando e pegue o endereço da versão atual do smart, ou baixe e instale a partir do diretório local.
rm -rf /etc/smart rm -rf /var/lib/smart rm -rf /usr/bin/smart rm -rf /usr/lib/smart rm -rf /usr/lib/python2.4/site-packages/smart rm -rf /usr/share/doc/packages/smart rpm -e smart-gui rpm -e smart rpm -ivh http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/x86_64/smart-0.42-10.guru.suse101.x86_64.rpm smart update smart upgrade smart -y && smart update
Resultado do comando rpm -ivh.
rpm -ivh http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/x86_64/smart-0.42-10.guru.suse101.x86_64.rpm A obter o http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.1/RPMS/x86_64/smart-0.42-10.guru.suse101.x86_64.rpm A preparar... ########################################### [100%] 1:smart ########################################### [100%]
Mesmo processo no SUSE 10 i386, em uma rede, uma maquina não acusava problemas e na outra maquina que estava com HD de outra rede e foi trocada de maquina, acessa internet sem problema mas smart falha no update, retornava 'Connection refused' em todos os mirrors, veja a mensagem.
Fetching information for 'SUSE Linux 10.0 APT Security Repository'... -> http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-i386/base/release release [ 0%] error: Failed acquiring information for 'SUSE Linux 10.0 APT Security Repository': error: http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-i386/base/release: (111, 'Connection refused')
Solução; baixe a ultima versão do smart para substituir na linha de comando abaixo (rpm -ivh) ou cole a url completa para instalar via internet.
rm -rf /etc/smart rm -rf /var/lib/smart rm -rf /usr/bin/smart rm -rf /usr/lib/smart rm -rf /usr/lib/python2.4/site-packages/smart rm -rf /usr/share/doc/packages/smart rpm -e smart-gui rpm -e smart rpm -ivh smart-0.40-2.guru.suse100.i686.rpm smart update smart upgrade smart -y && smart update
Atualizou e voltou a funcionar sem problemas.
reinstall
reinstalar pacotes, pode remover e depois instalar, ou em uma tacada só smart reinstall ssh
Neste tópico tem exemplos práticos aplicados em diversas distribuições, o principio se aplica a qualquer distro, a diferença está nos servidores, tem que usar o servidor (mirror) compatível com a distro e versão, portanto use como referencia e não como modelo para copiar e colar.
Sempre que fizer qualquer alteração no canal, precisa atualizar a base de dados, faça via interface gráfica ou na linha de comando execute; smart update
Nome do canal (arquivo), quando adicionar novos canais, o nome do arquivo tem que terminar em .channel
Tem dados e configurações em diversos diretórios, você deve manipular somente os arquivos que estão em /etc/smart, não tente alterar arquivos que estão em /var/lib/smart/channels/
Tem varias maneiras de criar um canal, a que achei mais fácil, criar um arquivo com os dados do canal em /etc/smart/channels e executar smart update, automaticamente é detectado este novo arquivo no diretório, adiciona o canal e atualiza a base de dados, segue exemplo para criar um canal, o exemplo abaixo apliquei no FC5 x86_64, mas pode aplicar em outras distro com o cuidado de ajustar a URL para a distro em questão, use um editor para criar um arquivo texto "redhat.channel" com este conteúdo
[root@localhost channels]# cat redhat.channel [redhat] name = FC5 x86_64 Pacotes apt-rpm do repositorio redhat baseurl = http://dl.atrpms.net/fc5-x86_64/redhat type = apt-rpm components = release updates updates-testing
Salve o arquivo e execute smart update
, confirme conforme a pergunta, dependendo do idioma confirme com S
ou Y
Mesmo que tenha criado manualmente, pode executar smart na interface gráfica para fazer alterações.
O problema agora é descobrir quais as URL que podem ser utilizadas, também quais os componentes, como não criou automaticamente nem achei esta informação no Google, então resolvi garimpar endereços com pacotes rpm, achei somente os oficiais listados abaixo, são estas URL que estou utilizando para criar canais.
Fedora Core 5
Incluir novos componentes no canal.
Recomendo criar um canal para cada repositorio, facilita na administração e manutenção, dá mais trabalho criar novos canais do que alterar os já existentes, pode criar vários canais apontando para o mesmo servidor, canais para componentes diferente ou juntar tudo em um canal, o resultado final é o mesmo, a escolha fica por sua conta.
Acrescentar componentes em um canal, ocorre quando já existe o canal mas não contém todos os componentes, visite a URL e pegue o nome dos componentes, pegue o que vem depois de RPMS.
Como exemplo, no SUSE 10, na instalação vem com KDE 3.4.2 mas já tem atualização para KDE 3.5.1, isto não é automático, precisa incluir endereços (componentes) dos pacotes do KDE 3.5.1, a URL é a mesma, muda somente o componente (diretório), neste caso basta incluir o componente para atualizar o KDE.
smart upgrade -y
Com a instalação default do Smart não vai atualizar os pacotes para a última versão, a explicação é simples, vem configurado para usar somente suser-guru
, precisa editar o canal para incluir em componentes a procura no diretório desejado, execute smart em ambiente gráfico, a partir de um konsole como root, execute smart --gui
edite o canal que contem este endereço;
http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-i386/
Tem endereços distintos conforme a arquitetura da CPU, maquinas com CPU de 64 bits deve apontar para o endereço; http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-x86_64/
Em componentes, na instalação default consta suser-guru
, para incluir mais componentes, edite o canal e vá acrescentando as demais opções, sempre separando com um espaço entre elas, utilize somente o nome que vem depois de RPMS., no endereço acima encontra vários diretórios que iniciam com RPMS., veja alguns exemplos;
RPMS.gnome/ 19-Dec-2005 06:41 - RPMS.jacklab/ 18-Dec-2005 03:51 - RPMS.java/ 26-Oct-2005 02:07 - RPMS.kde-unstable/ 21-Nov-2005 13:40 - RPMS.kde/ 20-Dec-2005 08:39 - RPMS.kde3-stable/ 05-Dec-2005 21:54 - RPMS.kernel-of-the-day/
Exemplo para incluir o kde e gnome, observe o nome dos diretórios acima (RPMS.gnome/ e RPMS.kde/ pegue somente a parte que vem depois de RPMS. (gnome kde) descarte o RPMS do nome, acrescente no campo components, deve ficar assim;
suser-guru gnome kde
, continue navegando pelos diretórios e selecione o que deseja incluir no seu Smart, não tenho a definição de cada diretório, navegue dentro deles que consegue identificar os pacotes e versão.
Quanto terminar as alterações, salve e clique em atualizar canais (update), depois em atualizar tudo (upgrade) e aguarde..., atualizar o SUSE 10, considere um download de mais ou menos 500MB.
Prefiro atualizar em horario que não utilizo a maquina, prefiro fazer login como root em modo texto e executar;
smart update smart upgrade -y
Em modo texto, ideal para uso em conexão remota via ssh.
smart channel --edit nome-do-canal
, edita configurações do canal no editor "vi", faça as alterações e salve com :wq, atualize e pronto, quando criou o canal a partir de arquivo em /etc/smart/channels/, pode editar diretamente neste arquivo com seu editor preferido.
smart channel --show
lista os canais existentes na maquina, ideal para descobrir o nome do canal para editar/alterar.
Veja mais dicas no tópico especifico sobre cada distro.
Existe a possibilidade de criar regras no firewall, pode ser mais trabalhoso e ter menos controle, passando pelo proxy tem mais controle, aparece nos relatórios do Sarg, de qualquer forma tem as duas opções.
Estações clientes configuradas para usar proxy sem autenticação, formato de linha de comando;
smart config --set http-proxy=http://meu.proxy:3128
Exemplo, estação com SUSE 10, IP do servidor proxy é 192.168.1.2, como root em um console, cole esta linha de comando.
smart config --set http-proxy=http://192.168.1.2:3128
Considere que este comando, configura o smart para fazer os pedidos ao servidor proxy, o restante da configuração é feita no servidor proxy, liberar estações ou usuários quando autenticado, também liberar acesso aos endereços utilizados pelo smart.
Proxy autenticado, ainda não testei, tem mais detalhes nas mensagens do FAQ (smart.txt), acho que no Smart seria algo semelhante a isto;
smart config --set http-proxy="http://usuario:senha@<ip.servidor.proxy>:<porta>"
smart config --set http-proxy="http://zago:minhasenha@192.168.1.2:3128"
Tente também sem as aspas "
. tem outros exemplos e dicas nas mensagens do FAQ
Mesmo em proxy autenticado pode criar ACL liberando acesso direto, acesso a sites restritos sem autenticação pelo proxy, ou regras de iptables excluindo os servidores do proxy, tem dicas no FAQ sobre Squid e firewall.
Disponibilizar arquivos das imagens dos 5 CD do SUSE10 em rede, via NFS, repositório local para apt, smart, synaptic.
Existem outras opções e maneiras que pode lhe atender melhor, no yast2 tem várias opções de configuração de diretório local, entre na opção "Software" e veja qual delas melhor lhe atende, também tem a versão em DVD que parece ser mais fácil e prático de trabalhar, nos servidores aparece com "Eval", não procurei saber qual a restrição, como já tinha baixado a versão em 5CD, achei melhor continuar com esta versão livre, também tem a versão em LiveDVD, parece que menos pacotes, mais detalhes nos endereços de download....
Repositório local para apt e synaptic, está neste tutorial do smart por ser parte da configuração, primeiro montar o repositório apt e depois criar os canais smart que utilizarão mesmo repositório do apt.
Testes direto com smart falhou, estou configurando o apt como preparação para configurar e utilizar no smart, funcionou para apt e synaptic, falhou com smart, veja anotações no final do tópico.
Preparando e ambiente utilizado;
Instalação com perfil de estação de trabalho, chamada de servidor porque roda diversos serviços para rede interna, inclusive servidor FreeNX, por isto a instalação do ambiente ambiente gráfico com KDE, a maquina não está de cara para internet mas tem acesso livre, mesmo assim precisa instalar o pacote apt4rpm.
Os passos a seguir são aplicados na maquina com as imagens ISO no diretório /tmp/suse10, tenho as imagens ISO dos 5 CD em outra maquina, antes de aplicar os comandos abaixo, faça a copia para o servidor com o comando scp -r suse10 zago@192.168.1.3:/tmp
, caso não tenha as imagens pode se fazer a copia direta do CD, servidor web local com apache rodando, com acesso livre pelas demais estações da rede, sem restrição de firewall ou proxy.
Também precisa o pacote apt4rpm para executar genbasedir, instalar via smart smart install apt4rpm -y
Sobre servidor web (Apache), NFS, FTP e outros serviços envolvidos nesta configuração, veja neste site os tutoriais e FAQ especifico sobre eles.
Use em ambiente de testes, este procedimento foi utilizado somente em testes, pode conter erros...
Comandos no servidor, criar diretórios, montar a imagem ISO e copiar tudo para os diretórios de cada CD, nos comandos abaixo, edite e ajuste os caminhos e nomes conforme sua instalação.
mkdir /mnt/iso mkdir -p /home/suse/cdsuse10/{cd1,cd2,cd3,cd4,cd5,extras} mkdir -p /home/suse/aptsuse10/rpmcd1/suse/{RPMS.cd1586,RPMS.cd1686,RPMS.cd1noa} mkdir -p /home/suse/aptsuse10/rpmcd2/suse/{RPMS.cd2586,RPMS.cd2686,RPMS.cd2noa} mkdir -p /home/suse/aptsuse10/rpmcd3/suse/{RPMS.cd3586,RPMS.cd3noa} mkdir -p /home/suse/aptsuse10/rpmcd4/suse/{RPMS.cd4586,RPMS.cd4noa} mkdir -p /home/suse/aptsuse10/rpmcd5/suse/{RPMS.cd5586,RPMS.cd5noa} mkdir -p /home/suse/aptsuse10/rpmextra/suse/RPMS.extras mount -o loop /tmp/suse10/SUSE-10.0-CD-i386-GM-CD1.iso /mnt/iso cp -R /mnt/iso/* /home/suse/cdsuse10/cd1 umount /mnt/iso mount -o loop /tmp/suse10/SUSE-10.0-CD-i386-GM-CD2.iso /mnt/iso cp -R /mnt/iso/* /home/suse/cdsuse10/cd2 umount /mnt/iso mount -o loop /tmp/suse10/SUSE-10.0-CD-i386-GM-CD3.iso /mnt/iso cp -R /mnt/iso/* /home/suse/cdsuse10/cd3 umount /mnt/iso mount -o loop /tmp/suse10/SUSE-10.0-CD-i386-GM-CD4.iso /mnt/iso cp -R /mnt/iso/* /home/suse/cdsuse10/cd4 umount /mnt/iso mount -o loop /tmp/suse10/SUSE-10.0-CD-i386-GM-CD5.iso /mnt/iso cp -R /mnt/iso/* /home/suse/cdsuse10/cd5 umount /mnt/iso # a "gambi" de copiar os rpm ocorre porque foi a nica que funcionou, falhou com link simbolico, #enquanto não arrumo solução melhor vai desta maneira mesmo. # pode copiar os rpm para outro local e não misturar com o CD, era um teste # como funcionou, acabou ficando assim mesmo até arrumar tempo para organizar melhor. cp -R /home/suse/cdsuse10/cd1/suse/i586/* /home/suse/aptsuse10/rpmcd1/suse/RPMS.cd1586 cp -R /home/suse/cdsuse10/cd1/suse/i686/* /home/suse/aptsuse10/rpmcd1/suse/RPMS.cd1686 cp -R /home/suse/cdsuse10/cd1/suse/noarch/* /home/suse/aptsuse10/rpmcd1/suse/RPMS.cd1noa cp -R /home/suse/cdsuse10/cd2/suse/i586/* /home/suse/aptsuse10/rpmcd2/suse/RPMS.cd2586 cp -R /home/suse/cdsuse10/cd2/suse/i686/* /home/suse/aptsuse10/rpmcd2/suse/RPMS.cd2686 cp -R /home/suse/cdsuse10/cd2/suse/noarch/* /home/suse/aptsuse10/rpmcd2/suse/RPMS.cd2noa cp -R /home/suse/cdsuse10/cd3/suse/i586/* /home/suse/aptsuse10/rpmcd3/suse/RPMS.cd3586 cp -R /home/suse/cdsuse10/cd3/suse/noarch/* /home/suse/aptsuse10/rpmcd3/suse/RPMS.cd3noa cp -R /home/suse/cdsuse10/cd4/suse/i586/* /home/suse/aptsuse10/rpmcd4/suse/RPMS.cd4586 cp -R /home/suse/cdsuse10/cd4/suse/noarch/* /home/suse/aptsuse10/rpmcd4/suse/RPMS.cd4noa cp -R /home/suse/cdsuse10/cd5/suse/i586/* /home/suse/aptsuse10/rpmcd5/suse/RPMS.cd5586 cp -R /home/suse/cdsuse10/cd5/suse/noarch/* /home/suse/aptsuse10/rpmcd5/suse/RPMS.cd5noa cd /home/suse/aptsuse10/rpmcd1/suse genbasedir `pwd` cd /home/suse/aptsuse10/rpmcd2/suse genbasedir `pwd` cd /home/suse/aptsuse10/rpmcd3/suse genbasedir `pwd` cd /home/suse/aptsuse10/rpmcd4/suse genbasedir `pwd` cd /home/suse/aptsuse10/rpmcd5/suse genbasedir `pwd` chmod -R 755 /home/suse/* # link no servidor web. ln -s /home/suse/aptsuse10 /srv/www/htdocs/
Prontinho, teste chamando o synaptic e consulte a lista de pacotes instalados e disponíveis, tem que listar alguns pacotes não marcados, são os não instalados que podem instalar a partir deste repositório, teste também acessando via navegador.
Pode testar na própria maquina, instale o pacote apt, inclua o exemplo da estação logo abaixo, atualize o banco de dados e tente instalar algum pacote, comandos executados no servidor;
smart install apt -y # edite /etc/apt/souces.list e inclua o exemplo da estação (exemplo abaixo) apt-get update apt-cache search ssh
#Nas estações, endereços do apt, acrescente em /etc/apt/souces.list das estações que usarão este repositório.
rpm http://192.168.1.3/aptsuse10/rpmcd1/ suse cd1586 cd1686 cd1noa rpm http://192.168.1.3/aptsuse10/rpmcd2/ suse cd2586 cd2686 cd2noa rpm http://192.168.1.3/aptsuse10/rpmcd3/ suse cd3586 cd3686 cd3noa rpm http://192.168.1.3/aptsuse10/rpmcd4/ suse cd4586 cd4686 cd4noa rpm http://192.168.1.3/aptsuse10/rpmcd5/ suse cd5586 cd5686 cd5noa
Sempre que alterar o sources.list precisa atualizar a base de dados do apt, execute; apt-get update
Prontinho, teste chamando o synaptic e consulte a lista de pacotes instalados e disponíveis, quando OK vai listar alguns pacotes não marcados, estes são os disponíveis para instalar a partir deste repositório, teste também acessando via navegador, tem que navegar pelos diretórios com rpm sem problemas, caso falhe pode ser erro no link ou servidor web.
Espaço ocupado; como não cabe em um DVD, qualquer dia vou separar os rpm para caber em DVD.
du -k /home/suse/aptsuse10 3406513 /home/suse/aptsuse10 du -k /home/suse/cdsuse10 3545172 /home/suse/cdsuse10
Aproveite para criar um DVD ou copiar para outras redes o repositório do apt está em /home/suse/aptsuse10, pode incluir seus rpm ou download dos rpm mais utilizados e que não estão nos repositórios oficiais, como exemplo o próprio smart.
Pesquise no google por: "Smart Package Manager"