Smart

Z openSUSE wiki
Wskazówka.png Wskazówka: Do zarządzania pakietami w openSUSE zaleca się używać YaST lub zyppera.

Nieaktualny.png Ten artykuł dotyczy starszej wersji oprogramowania, informacje w nim zawarte są nieaktulne.


Spis treści

Co to jest Smart?

SMART z nakładką graficzną
Smart Package Manager jest programem do zarządzania pakietami oprogramowania w linuksie. Określa się go również mianem menedżera programów. Potrafi on zawiadywać między innymi zasobami RPM, deb, yum, apt, urpmi, slackware. Celem programistów jest jego ponadplatformowe zastosowanie. Smart jest w stanie automatycznie rozwiązywać zależności, będące utrapieniem zwłaszcza wielu użytkowników zaczynających swoją przygodę z Linuksem. Można go w prosty sposób używać w konsoli, ale istnieje również nakładka graficzna, pomocna zwłaszcza dla początkujacych. Właściwy dobór repozytoriów sprawia, iż znalezienie i instalacja programu jest zadaniem bezproblemowym.


Instalacja Smart

Smart nie jest instalowany automatycznie podczas instalacji openSUSE. Znajduje się jednak na nośniku instalacyjnym w postaci pakietu rpm (SuSE 10.1 i 10.2). W pierwszej kolejności należy zainstalować pakiet smart (konsola) oraz smart-gui (nakładka graficzna) (najprościej poprzez YaST). Ponieważ na płycie nie znajdują się zazwyczaj najnowsze wersje, można bezpośrednio ściągnąć pakiety stąd:

Najnowsze wersje pakietów SMART (architektura: 32bit)(30.08.2007)

20:02 c16:~ > rpm -qa |grep smart
smart-ksmarttray-0.51-5.guru.suse102
smart-addons-0.51-5.guru.suse102
smart-0.51-5.guru.suse102
smart-gui-0.51-5.guru.suse102
21:26 c16:~ > 

znajdują się w repozytorium

21:28 c16:~ > smart query smart --show-channel
Loading cache...
Updating cache...     ################ [100%]

smart-0.49.1-40.guru.suse102@i686 [Guru]
smart-0.50-1.guru.suse102@i686 [Guru]
smart-0.51-5.guru.suse102@i686 [Guru, rpm-sys]


21:28 c16:~ >   

.. jak widać [Guru]

Po ściągnięciu pakietów do dowolnego katalogu (na przykład /home/NAZWA_USERA/Desktop/smart), można prosto zainstalować je z konsoli (jako root)

rpm -i /home/NAZWA_USERA/Desktop/smart/*.rpm

Konfiguracja SMARTa - tworzenie pliku z kanałami

Po "świeżej" instalacji programu nie mamy jeszcze skonfigurowanych źródeł instalacji (tzw. kanałów), czyli adresów do serwerów, na których znajduje się oprogramowanie w najnowszych wersjach. W owych repozytoriach (na serwerach na całym świecie) znajdują się setki programów oraz biblioteki konieczne do działania owych programów. Programiści zadbali, aby instalacja przebiegała bezkonfliktowo. Każdy program postawiony do dyspozycji użytkowników został sprawdzony a wymagane zależności są przez SMARTa automatycznie rozwiązywane. Wymagane biblioteki oraz programy zostaną AUTOMATYCZNIE pobrane i doinstalowane. Użytkownik nie musi wiedzieć, jakie dodatkowe pakiety zostaną doinstalowane, ponieważ informacje te znajdują się w gotowych pakietach rpm.

Takie rozwiązanie problemu umożliwia (zwłaszcza początkującemu) użytkownikowi instalację oprogramowania BEZ KONIECZNOŚCI SAMODZIELNEGO KOMPILOWANIA. NIE MA POTRZEBY instalowania gcc, kernel-source ani bibliotek developerskich. Ma to miejsce u 99,9% użytkowników.

Wskazówka.png Wskazówka: W internecie i na łamach forum można znaleźć wiele kuriozalnych repozytoriów. Nie ma również potrzeby szukania pakietów na rpmbone.net

Korzystając z tego WIKI uchronisz siebie i swój system przed niemiłymi niespodziankami. Repozytoria można podzielić na 2 grupy:

  • repozytoria podstawowe (oficjalne) - prowadzone przez openSuSE pod nadzorem firmy Novell
  • repozytoria dodatkowe (nieoficjalne) - prowadzone przez zaawansowanych użytkowników i szarlatanów ;-)
Zanim dołączysz repozytorium dodatkowe, zapoznaj się z jego zawartością!

Bardzo istotnym elementem decydującym o wyborze repozytorium jest architektura systemu (32- lub 64-bitowa). Odzwierciedla się to w oznaczeniach pakietów: odpowiednio x86 (32bity) oraz x86_64 (64bity). Przykładowe zestawienie w repozytorium możesz obejrzeć tutaj.

Lista mirrorów

Mirrory to serwery lustrzane, na których RÓWNIEŻ znajdują się opisane repozytoria. Jest to odzwierciedlenie 1:1. Ma to na celu "odciążenie" repozytoriów "standardowych" oferowanych przez najpopularniejszych dystrybutorów. Jeżeli podane adresy serwerów nie spełniają Twoich oczekiwań, ściąganie trwa długo, czy też serwer jest niedostepny, zamień adres URL. Listę znajdziesz tutaj.

Lista kanałów podstawowych dla SUSE 10.1

[suse-101-apt-base] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Base Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = base 

[suse-101-apt-extra] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Extra Repository 
disabled = yes 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = extra 

[suse-101-apt-kolab] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Kolab Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = kolab 

[packman-i686-101-apt] 
type = apt-rpm 
name = Packman 10.1 APT Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = packman-i686 

[packman-101-apt] 
type = apt-rpm 
name = Packman 10.1 APT Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = packman 

[rpmkeys-101-apt] 
type = apt-rpm 
name = SUSE Linux 10.1 APT RPMKeys Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = rpmkeys 

[suse-101-apt-security] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Security Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = security 

[suse-101-apt-update-drpm] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Update-drpm Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = update-drpm 

[suse-101-apt-update-prpm] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Update-prpm Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = update-prpm 

[suse-101-apt-update] 
type = apt-rpm 
name = SUSE Linux 10.1 APT Update Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = update 

[suse-101-apt-usr-local-bin] 
type = apt-rpm 
name = SUSE Linux 10.1 APT usr-local-bin Repository 
baseurl = http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.1-i386 
components = usr-local-bin

Lista kanałów podstawowych dla SUSE 10.2

Wskazówka.png Wskazówka: TYLKO i WYŁĄCZNIE te 3 repozytoria są repozytoriami oficjalnymi. Oznacza to, że WYŁĄCZNIE kernele zawarte w tych repozytoriach są oficjalne.
25.08.2007 root:~ > smart query kernel-default --show-channel
Loading cache...
Updating cache...                                  ################################# [100%]

kernel-default-2.6.18.8-0.1@i586 [openSuse-update]
kernel-default-2.6.18.8-0.3@i586 [openSuse-update]
kernel-default-2.6.18.8-0.5@i586 [openSuse-update]
[openSUSE-10.2]
type = yast2
name = openSUSE-10.2
baseurl = http://download.opensuse.org/distribution/10.2/repo/oss/

[openSUSE-update]
type = rpm-md
name = openSUSE-update
baseurl = http://download.suse.com/update/10.2

[openSUSE-10.2-non-oss]
type = yast2
name = openSUSE-10.2-non-oss
baseurl = http://download.opensuse.org/distribution/10.2/repo/non-oss/

Lista kanałów dodatkowych dla SUSE 10.2

Multimedia i rozszerzenia dla SUSE 10.2

Wskazówka.png Wskazówka: Programy z multimediami i bibliotekami do nich (głównie Packman) nie znajdują się ze względów prawnych i licencyjnych w repozytoriach oficjalnych. Repozytorium Guru zawiera setki dodatkowych programów zoptymalizowanych dla architektur i686 oraz x86_64. Oba repozytoria należą do "obowiązkowych" dla każdego użytkownika openSuSE i można dodawać je bez obaw.
[Packman]
type = rpm-md
name = Packman
baseurl = ftp://ftp5.gwdg.de/pub/linux/misc/packman/suse/10.2

[Guru]
type = rpm-md
name = Guru
baseurl = http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.2/RPMS/
Uwaga.png Uwaga: Programy z multimediami i bibliotekami w repzytorium VLC mogą powodować konflikty. Nie zaleca się dodawać tego repozytorium do automatycznej aktualizacji całego systemu. Zalecane podczas instalacji konkretnych aplikacji.
[VLC VideoLan Client]
type = rpm-md
name = VLC VideoLan Client
disabled = yes
baseurl = http://download.videolan.org/pub/vlc/SuSE/10.2

OpenOffice dla SUSE 10.2

Wskazówka.png Wskazówka: OpenOffice jest projektem rozwijanym niezależnie od openSuSE, stąd też uaktualnienia mogą pojawiać się niezależnie od uaktualnień dystrybucji SuSE. Nie są one wprawdzie oficjalnie patronowane, jednakże współpracują w 99% bezproblemowo z aktualną wersją openSuSE.
[OpenOffice]
type = rpm-md
name = OpenOffice
baseurl = http://download.opensuse.org/repositories/OpenOffice.org:/STABLE/openSUSE_10.2/

[OpenOffice.org:EXTRAS]
type = rpm-md
name = OpenOffice.org add-ons
baseurl = http://download.opensuse.org/repositories/OpenOffice.org:/EXTRAS/openSUSE_10.2

Środowiska graficzne KDE oraz Gnome dla SUSE 10.2

Wskazówka.png Wskazówka: Projekty środowisk graficznych KDE oraz Gnome są również projektami rozwijanymi niezależnie od openSuSE, stąd też uaktualnienia mogą pojawiać się niezależnie od uaktualnień dystrybucji SuSE.


Uwaga.png Uwaga: Dołączenie tych repozytoriów oraz kompletna aktualizacja środowiska graficznego może prowadzić do kłopotów z systemem. Bezwzględnie należy przestrzegać spełnienia wszystkich zależności. W razie problemów istnieje konieczność ręcznego wyboru kilkudziesięciu pakietów celem przywrócenia poprzedniej wersji. N.p. uaktualnienia KDE pojawiają się ok. 1 raz na tydzień.
[KDE3]
type = rpm-md
name = KDE3
disabled = yes
baseurl = http://software.opensuse.org/download/KDE:/KDE3/openSUSE_10.2/

[GNOME-Stable]
type = rpm-md
name = GNOME-Stable
disabled = yes
baseurl = http://software.opensuse.org/download/GNOME:/STABLE/openSUSE_10.2/

[KDE-Community]
type = rpm-md
name = KDE-Community
disabled = yes
baseurl = http://software.opensuse.org/download/KDE:/Community/openSUSE_10.2/

[GNOME-Community]
type = rpm-md
name = GNOME-Community
disabled = yes
baseurl = http://software.opensuse.org/download/GNOME:/Community/openSUSE_10.2/

[KDE-QT]
type = rpm-md
name = KDE-QT
disabled = yes
baseurl = http://software.opensuse.org/download/KDE:/Qt/openSUSE_10.2/

[KDE-Backports]
type = rpm-md
name = KDE-Backports
baseurl = http://software.opensuse.org/download/KDE:/Backports/openSUSE_10.2/

Przeglądarki internetowe oraz komunikatory dla SUSE 10.2

Wskazówka.png Wskazówka:
  • Projekt Mozilla dostarcza najnowsze wersje MozillaFirefox oraz Thunderbird wraz z translacjami.
  • W repo Obiego znajdują się paczki komunikatora gadu-gadu (gg2 oraz kadu).
Repozytoria zasadniczo bezproblemowe, bez następstw dla systemu.
[suse-mozilla]
type = rpm-md
name = Latest mozilla.org packages
disabled = yes
baseurl = ftp://ftp.suse.com/pub/projects/mozilla/10.2

[home:obi_gl]
name=obi_gl's Home Project (openSUSE_10.2)
type=rpm-md
disabled = yes
baseurl=http://software.opensuse.org/download/home:/obi_gl/openSUSE_10.2/

Sterowniki dla SUSE 10.2

Wskazówka.png Wskazówka: Wersje sterowników do kart graficznych umieszczone w repozytoriach są zazwyczaj nieco starsze aniżeli sterowniki w postaci binarnej. Dzieje sie tak, ponieważ producenci muszą przygotowac pakiety dla danej dystrybucji. Sterowniki do kart wifi musza pasowac do wersji kernela.

Sterowniki dla kart graficznych z chipem VIA przygotowane są wyłącznie dla standardowego kernela openSuSE 2.6.18.0-5 - za to dla obu architektur (stan: 28.08.2007).

Pamiętaj: ALBO STEROWNIKI Z REPOZYTORIUM ALBO Z PLIKÓW BINARNYCH - NIGDY RAZEM!!!
[nVidia]
type = rpm-md
name = nVidia driver
disabled = yes
baseurl = ftp://download.nvidia.com/opensuse/10.2/

[madwifi]
type = rpm-md
name = atheros chip driver
disabled = yes
baseurl = http://madwifi.org/suse/10.2/

[openchrome]
type = rpm-md
name = via chip driver
disabled = yes
baseurl = http://download.opensuse.org/repositories/X11:/Drivers:/Video:/openchrome/openSUSE_10.2/

Efekty specjalne 3D, eksperymenty z grafiką dla SUSE 10.2

Uwaga.png Uwaga: Programy z efektami specjalnymi (np. compiz) mają status ALFA - tzn. EKSPERYMENTALNY. Projekt "beryl" nie jest już rozwijany. Zabawy i eksperymenty na własne ryzyko! Wysoce prawdopodobne, że nieumiejętnie rozsypie Ci się system! WYŁĄCZNIE DLA ZAAWANSOWANYCH
[beryl+compiz+xgl]
type = rpm-md
name = Beryl+Compiz+XGL-Repository
disabled = yes
baseurl = http://software.opensuse.org/download/X11:/XGL/openSUSE_10.2/

[xorg73]
type = rpm-md
name = xorg73
disabled = yes
baseurl = http://software.opensuse.org/download/xorg73/openSUSE_10.2/

[xorg72]
type = rpm-md
name = xorg72
disabled = yes
baseurl = http://software.opensuse.org/download/xorg72/openSUSE_10.2/

Natywne gry linuksowe dla SUSE 10.2

Wskazówka.png Wskazówka:
  • WINE zawiera najnowsze wersje pakietu wine, pomocnego do uruchamiania gier z systemu z Redmond.
  • Funkcjonalność gier uzależniona jest często od karty grafiki i sterowników
[Wine]
type = rpm-md
name = Wine
disabled = yes
baseurl = http://software.opensuse.org/download/Emulators:/Wine/openSUSE_10.2/

[games:strategy:turn-based]
name=Turn-based Strategy Games (openSUSE_10.2)
type=rpm-md
disabled = yes
baseurl=http://software.opensuse.org/download/games:/strategy:/turn-based/openSUSE_10.2/

[KDE-Playground]
type = rpm-md
name = KDE-Playground
disabled = yes
baseurl = http://software.opensuse.org/download/KDE:/Playground/openSUSE_10.2/

[data-generic-games]
type = rpm-md
name = data-generic-games
disabled = yes
baseurl = http://software.opensuse.org/download/games:/data/Generic/

[Games-puzzle]
type = rpm-md
name = Games-puzzle
disabled = yes
baseurl = http://software.opensuse.org/download/games:/puzzle/openSUSE_10.2/

[Action-Games]
type = rpm-md
name = Action-Games
disabled = yes
baseurl = http://software.opensuse.org/download/games:/action/openSUSE_10.2/

Opcjonalny kernel dla SUSE 10.2

Wskazówka.png Wskazówka: jengelh jest hakerem budującym kernele na użytek przedsiębiorstw. Niesłusznie jego repo jest nazywane "eksperymentalne". Wyrzuca moduły, które uznaje za wadliwe i dodaje te, o których zespół openSUSE czasem zapomniał. Kernel chodzi ABSOLUTNIE stabilnie.
Uwaga.png Uwaga: Wyłącznie dla zaawansowanych.
[repo-jengelh_A]
type = rpm-md
priority = 2
disabled = yes
baseurl = ftp://ftp5.gwdg.de/pub/linux/misc/suser-jengelh/AnyDistro

Wersje rozwojowe SUSE 10.2

Wskazówka.png Wskazówka: Wersje rozwojowe openSuSE. Eksperymentalne. NIGDY nie aktualizuj systemu z tego repozytorium! Na 100% wszystko się posypie. Można wybiórczo instalować aplikacje i testować ich stabilność. Także kernel. Najbezpieczniej jest korzystać z repo "non-oss" które zawiera najnowsze (zazwyczaj dość dobrze działające) programy nie będące 'open source' jak real-player, opera, flash-player.
Uwaga.png Uwaga: Wyłącznie dla zaawansowanych.
[SL-OSS-factory]
type = yast2
name = SL-OSS-factory
disabled = yes
baseurl = http://ftp.opensuse.org/pub/opensuse/distribution/SL-OSS-factory/inst-source/

[SL-Factory-non-oss]
type = yast2
name = SL-Factory-non-oss
disabled = yes
baseurl = http://ftp.opensuse.org/pub/opensuse/distribution/SL-Factory-non-oss/inst-source-extra/

Ratunku!!! Nie ma paczki w repo, co robić?

Wskazówka.png Wskazówka: Istnieje narzędzie do poszukiwania pakietów poprzez dowolną przegladarkę dla dystrybucji openSuSE. Wtedy łatwiej zlokalizować pakiet i repo.

Pod tym adresem: http://benjiweber.co.uk:8080/webpin/ znajdziesz wyszukiwarkę.

Dodawanie listy kanałów do SMARTa.

Dodawanie repozytoriów do programu SMART może wydawać się uciążliwe, jeżeli chcemy dodać kilkanaście lub kilkadziesiąt kanałów. Jeżeli mamy "swieżo" zainstalowany program SMART dobrze jest rozglądnąć się po sieci lub smameu stworzyć jeden plik, w którym będą znajdowały się WSZYSTKIE kanały (repozytoria). Wystarczy utworzyć dowolny plik tekstowy i wpisać do niego listę kanałów. Następnie odpowiednia komenda w programie SMART importuje za jednym zamachem wszystkie kanały.

Dodawanie kanałów z pliku lokalnego

Należy na pulpicie utworzyć plik tekstowy o nazwie (na przykład) channel.txt Może być to dowolna inna nazwa, lecz należy pamiętać o jej zmianie na własną oraz o właściwej ścieżce dostępu. Edytujemy nasz plik dowolnym edytorem tekstu (na przykład kate, kwriter, mc....) i wklejamy do niego kanały z powyższych list stosownie do wersji systemu na jakim pracujemy. Zapisujemy plik channel.txt

Mając już gotowy plik channel.txt wraz ze stosowną zawartością, uruchamiamy konsolę i uzyskujemy uprawnienia root poleceniem
su
i po podaniu hasła wykonujemy polecenie:
smart channel --add /home/NAZWA_USERA/Desktop/channel.txt

NAZWA_USERA Twoja nazwa użytkownika!!!!

SMART pyta po kolei przy każdym repozytorium, czy chcemy je dodać. Należy wówczas zaakceptować komunikaty wyświetlane przez smarta naciskając y (lub odzucić n) oraz ENTER. Po tej operacji mamy zdefiniowaną listę kanałów.

Dodawanie kanałów bezpośrednio z pliku znajdującego się w internecie

Jeżeli lista kanałów została zdefiniowana w pliku tekstowym i znajduje się w sieci na serwerze http lub ftp można bezpośrednio zainstalować taką listę poleceniem w konsoli (to tylko nieistniejące przykłady):

smart channel --add http://przykladowa-domena.com/przykladowe-kanaly/kanaly-dla-suse.txt

lub

smart channel --add ftp://przykladowa-domena.com/przykladowe-kanaly/kanaly-dla-suse.txt
Wskazówka.png Wskazówka: Poniżej GOTOWE pliki z kanałami jak opisano powyżej (1:1)
  • Dodawane są WSZYSTKIE kanały (o ile podczas importu kanałów potwierdzisz y)
  • Kanały z opcją disabled yes są niekatywne (po instalacji trzeba postawić 'haczyk')
  • NIE AKTYWUJ BEZMYŚLNIE WYSZYTKICH KANAŁÓW JEDNOCZEŚNIE!
  • Przekopiuj całą linijkę komendy do konsoli i wciśnij Enter - gotowe!
  • openSuSE 10.1
smart channel --add http://dariuszmarek.da.funpic.de/channels/channel101.txt
  • openSuSE 10.2
smart channel --add http://dariuszmarek.da.funpic.de/channels/channel102.txt
  • openSuSE 10.3
smart channel --add WKRÓTCE :-)

Praca z managerem SMART i jego polecenia

Ponieważ opanowanie programu SMART jest kluczowe dla poprawnego zawiadywania pakietami systemu, warto zapoznać się szczegółowo z szerokimi możliwościami tego programu. Czas i wysiłek zainwestowany w jego opanowanie zwróci się w postaci stabilnego systemu i bezproblemowego dodawania praktycznie każdego programu dostępnego pod linuksem.

Zaawansowana konfiguracja SMARTa

Ponieważ dział jest obszerny, znajduje się w celu zachowania czytelności strony

~~> tutaj.

OSTRZEŻENIE DLA POCZĄTKUJĄCYCH

Uwaga.png Uwaga: Przy upgrade całego systemu pobierane jest nawet kilkaset pakietów. Trudno wówczas szczegółowo przeanalizować wersje każdego pakietu.

Pakiet kernel-default oraz (jeżeli zainstalowany)kernel-source można łatwo zaktualizować w taki sposób przy pomocy programu SMART. O ile w repozytoriach dostępne sa nowsze wersje kernela, należy umiejętnie z nich korzystać. Niesie to ze sobą jednak kilka konsekwencji. Po upgrade kernela zdarza się, że system uruchamia się w trybie tekstowym. KAŻDA aktualizacja kernela wymaga ponownej instalacji bądź konfiguracji sterownika karty graficznej. Upgrade kernela powinno się przeprowadzać OSOBNO. Dlatego też zalecane jest zablokowanie pakietów kernel-default i (jeżeli zainstalowany) kernel-source, ażeby uniknąć nieoczekiwanej aktualizacji kernela, co gorsze - eksperymentalnego.

Najprościej to zrobić poprzez konsolę. Wpisz jako root:

smart flag --set lock kernel-default
smart flag --set lock kernel-source

UWAGA! Ustawienia blokady w SMART nie działają w Yast i na odwrót.

Kilka zrzutów ekranu programu SMART

Tutaj możesz zobaczyć, jak program SMART prezentuje się graficznie.

Lista najczęściej zadawanych pytań [FAQ]

Lista najczęściej zadawanych pytań znajduje się tutaj.