Err: Connection timed out [110] Ludwik C. Siadlak :: blog » linux

Archiwa dla 'linux' Category

Połączenia ze Skypem bez Skype’a?

Ekiga Na to wygląda. zhink opublikował bramkę Skype to SIP. Na razie rzecz jest restricted software i kosztuje $25, ale skoro zamknięta wersja jest na rynku to może (na co gorąco liczę) wkrótce pojawią się otwarte odpowiedniki.

Na górze logo Ekigi, bo to właśnie o niej był artykuł na Mad Penguin, ktory doprowadził mnie do bramki zhinka. Więcej o Ekidze można przeczytać właśnie w w/w artykule albo po polsku, u Patrysa.

Be right back!

OxfordOstatnio mała przerwa w blogowaniu. Przerwa wynika z kilku czynników, jak np. z rozpoczętego Unitu 1 na Uczelni, który wymaga napisania kilku esejów na “dzień dobry”. Nawiasem mówiąc jest to pierwsza uczelnia, która wymaga włożenia prawdziwej pracy w naukę, a nie tylko obecności na zajęciach. Spotyka mnie to pierwszy raz w mojej formalnej edukacji. :)

Drugi czynnik to na pewno zbliżające się wybory, a jako, że jestem bardzo nieodporny na kłamstwa wyznawców Kaczyzmu - za bardzo się denerwuję i wolę przemilczeć ten okres :)

CzLUG logo Niemniej mam już kilka serwisów Web2.0 i spraw, które chcę opisać na łamach tego bloga. CzLUG (którego zostałem sekretarzem, podczas ostatniego Walnego Zebrania) ma obecnie w planach dynamiczny rozwój i kilka konferencji. Wszystkie będę tutaj relacjonował i podsumowywał.

Część z Was pewnie już zauważyła, że ostatnio bloguję częściej (pomijając ostatnią ciszę) na swoim anglojęzycznym blogu Scripta manent. Nie tłumaczę wpisów ani w jedną, ani w drugą stronę. Branża IT ma to do siebie, że wszyscy znają angielski, więc nie widzę potrzeby dublowania treści. Na razie różnica tematyczna nie wyklarowała się do końca, ale wkrótce powinno się to zmienić. Zapraszam do zasubskrybowania feedu: www.siadlak.eu/feed

Wordpress i dostęp do awstats

ApacheDo każdej domeny, podpietej do konta na dreamhost (200 GB za parę gorszy) instalowane są statystyki Analog. Awstats jest perlowym skryptem, który oferuje statstyki szersze niż Analogowe. W wiki jest obszerny i przystępny poradnik dot. instalacji skryptu.

Działa z marszu, jednak problem pojawia się w przypadku korzystania z mod_rewrite, a ten wykorzystuje wiele CMS’ów - między innymi Wordpress. Temat wielokrotnie poruszany na wielu forach: “Awstats - not accessible!!!” Rozwiazanie jest proste i samo się nasuwa:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(awstats|stats|failed_auth\.html)/?(.*)$ [NC]
RewriteRule ^.*$ - [L]
</IfModule> 

Dzięki wpisowi w .htaccess mamy dostęp zarówno do awstats jak i analog (umieszczanego w katalogu domain.com/stats/).
Tylko jedna uwaga. Taka reguła musi być wykonana przed resztą reguł CMS’a. Inaczej dostęp do statystyk nie będzie nadal możliwy.

Ku pamięci :)

Ubuntu, tapetka i fragment ogrodu

Moja siostra była ostatnio w parku, miała aparat. Choć nie “Zorkę 5″, to zrobiła kilka zdjęć :)
Enjoy!

Ubuntu is coming...

(Licencja CC by-nc.)

D-link DWL-G650 i ArchLinux

Linux jest z natury systemem trudnym w użytkownaniu, beznadziejnie wyglądającym i oczywiście nic tu nie działa. To chyba każdy wie i nie ma co dyskutować na ten temat.

Jako, że mój laptop nie ma wbudowanej bezprzewodowej karty sieciowej, przy okazji Świąt postanowiłem się w takową zaopatrzyć. Wybór padł na D-Link DWL-G650. O taką:DWL-G650

Niestety, Vista (w wersji Business) nie widzi tej karty, a dostarczane przez producenta sterowniki są zgodne tylko z archaicznym systemem Windowsxp. Jestem masohistą, więc postanowiłem sprawdzić czy przypadkiem nie współpracuje z Archem. Na pierwszy ogień poszedł pakiet madwifi:

[root@orwell ludwikc]# pacman -S madwifi
Targets: madwifi-utils-0.9.2.1-1 madwifi-0.9.2.1-5
Total Package Size:   0.3 MB
Proceed with upgrade? [Y/n] Y
:: Retrieving packages from extra…
 madwifi-utils-0.9.2.1-1  [################] 100%      34K    31.5K/s  00:00:01
 madwifi-0.9.2.1-5        [################] 100%     257K    49.6K/s  00:00:05

checking package integrity… done.
loading package data… done.
checking for file conflicts… done.
installing madwifi-utils… done.
installing madwifi… done.

lspci rozpoznaje kartę, dziwne…

[root@orwell ludwikc]# lspci
[...]
09:01.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller
09:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
0a:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC 

No tak, ale ifconfig już milczy na jej temat:

[root@orwell ludwikc]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:16:36:2F:30:F1
          inet addr:10.0.0.2  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::216:36ff:fe2f:30f1/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1601 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1531 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1464420 (1.3 Mb)  TX bytes:302642 (295.5 Kb)
          Interrupt:20 Base address:0xa000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1200 (1.1 Kb)  TX bytes:1200 (1.1 Kb)

Ach, ach! Załadować moduł (mając już wpa_supplicant)…

[root@orwell ludwikc]# modprobe ath_pci
[root@orwell ludwikc]# ifconfig -a
ath0      Link encap:Ethernet  HWaddr 00:15:E9:84:12:D3
          inet addr:172.25.17.52  Bcast:172.25.17.63  Mask:255.255.255.192
          inet6 addr: fe80::215:e9ff:fe84:12d3/64 Scope:Link
          UP BROADCAST NOTRAILERS MULTICAST  MTU:1500  Metric:1
          RX packets:3221 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3056 errors:14 dropped:14 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2157091 (2.0 Mb)  TX bytes:714168 (697.4 Kb)

eth0      Link encap:Ethernet  HWaddr 00:16:36:2F:30:F1
          inet addr:10.0.0.2  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::216:36ff:fe2f:30f1/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3519 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3265 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3489682 (3.3 Mb)  TX bytes:559189 (546.0 Kb)
          Interrupt:20 Base address:0xa000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1200 (1.1 Kb)  TX bytes:1200 (1.1 Kb)

wifi0     Link encap:UNSPEC  HWaddr 00-15-E9-84-12-D3-00-00-00-00-00-00-00-00-00
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:199
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:16

[root@orwell ludwikc]#

Działa?! Na Linuksie?! Nie, musiało mi się coś pomylić… :)

Dolphin - Nautilius dla KDE

Na dot.kde.org, ukazał się jakiś czas temu artykuł o Dolphinie, który przejmie rolę domyślnego managera plików w KDE 4.
Mimo, że nie korzystam z reguły z programów w fazie bardzo wczesnych alpha-testów, chciałem przyjrzeć mu się bliżej. W repozytoriach Archa znajduje się paczka dolphin-0.8.2-1 - pacman -S i działa. Co zobaczyłem? Przeportowanego do KDE Nautiliusa!

Dolphin

Dla zwolenników GNOME pewnie wygląda ładnie, ale ja nigdy nie przepadałem za wizualna stroną GTK ani funkcjonalnością Nautiliusa. Konqueror świetnie sprawdza się jako file manager zarówno do zastosowań lokalnych jak i korzystania z połaczeń ftp://, sftp:// czy smb://. Jasne, można do tego wykorzystać MidnightCommandera, Krusadera, czy nawet gFTP, ale po co studiować obsługę różnych narzędzi, skoro można mieć wszystko w jednym?

Logowanie via SSH bez hasła

Nie, to nie będzie wpis informujący o tym, że logując się przez SSH nie trzeba za każdym razem wklepywać hasła.
Mam kilka kont z dostępem do shella, a wykonywanie rutynowych czynności umożliwiających bezhasłowe logowanie (jak to zwykle z rutyną bywa) zaczęło mnie nudzić. Napisałem prosty skrypt, który na kształt kreatora wyda wszystkie niezbędne plecenia.

HOWTO

Zakładam, że masz juz swój klucz publiczny. Jeśli nie - stwórz go, wydając w konsoli polecenie

ssh-keygen -t rsa

Generator zapyta o nazwe pliku i hasła. Możesz na wszystkie pytania odpowiedzieć Enterem, pozostawiając domyślne ustawienia.

Skrypt możesz zapisać na dysku kopiując jego treść z poniższej ramki. Dla wygody umieściłem go jednak na serwerze. Teraz wystarczy wpisać:

wget http://projects.ludwikc.net/passwordless_ssh
chmod +x passwordless_ssh
./passwordless_ssh

Po kolei:

  1. nazwa użytkownika konta ssh
  2. adres hosta
  3. port serwera (dafault’owo 22)
  4. hasło (2x)

Od tego momentu wystarczy wpisac w konsoli

./yourhostname.com

żeby połączyć się z serwerem bez podawania hasła (oczywiście ssh user@host też będzie działać bez zarzutu!)

Enjoy :)

Treść dla zainteresowanych:
#!/bin/sh
cd $HOME
echo "Passwordless ssh (v. 0.6)"
echo "Enter your ssh username:"
read user
echo "Host (or ip):"
read host
# Ports added in 0.4
echo "Enter ssh port: (press Enter if you don't know)"
read port
if port=NULL
then port=22
fi
echo "Wait for connection and type password for given username"
scp -P $port $HOME/.ssh/id_rsa.pub $user@$host:~/id_rsa-passwordless.pub
echo "Success: RSA key exported."
echo "Last with-password ssh login..."
ssh $user@$host -p $port "if [ -d $dotssh ]
then
echo "Success: Directory $HOME/.ssh/ exists."
else
echo -e "There is no $HOME/.ssh/ directory." && mkdir $HOME/.ssh && echo "Success: Directory $HOME/.ssh has been created"
fi &&
cat ~/id_rsa-passwordless.pub >> .ssh/authorized_keys && rm id_rsa-passwordless.pub && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys && exit"
echo "Authorization successful!"
# Added in 0.3 version - symlinks providing easier login
echo ""
if [ -d $HOME/.ssh/passwordless_login ]
then
echo "Directory $HOME/.ssh/passwordless_login has been created during last passwordless_ssh usage."
else
mkdir $HOME/.ssh/passwordless_login
fi
echo ssh $user@$host -p $port >> ~/.ssh/passwordless_login/$host
chmod +x ~/.ssh/passwordless_login/$host
ln -s ~/.ssh/passwordless_login/$host $host
echo "From now-on simply type ./$host, to log-in without password."
echo "Passwordless ssh by Ludwik C. Siadlak (http://ludwikc.net). GPL Licence. Have a nice day!"

UPDATE: v. 0.4 - Możliwość wyboru portu innego niż 22.
UPDATE: v. 0.5 - Powłoka zmieniona na /bin/sh dla kompatybilności z systemami *BSD.
UPDATE: v. 0.6 - Sprawdzanie katalogów (dzięki Jojo!) i domślny port połączenia. (Wersja passwordless_ssh-pl została zastąpiona oryginalną passwordless_ssh)

Zarządzanie pakietami (apt i pochodne)

LinuxSwego czasu prowadziłem prezentację z zakresu użytkowania Debianowego systemu zarządzania pakietami jakim jest apt-get. Oto ona.

W poniższej prezentacji postaram się przybliżyć działanie programu apt - jednego z najpopularniejszych managerów pakietów jakim dysponuje środowisko OpenSource. apt (z ang. Advanced Packaging Tool) jest domyślnym zarządcą pakietów w systemie Ubuntu Linux. Dzięki niemu, wydajac jedną komendę jesteśmy w stanie zainstalować każdy z 20 tysięcy(!) programów dostępnych w repozytoriach Ubuntu.

Spis treści


Wstęp

Apt jest nakładką na zarządce pakietów dpkg, do korzystania z którego ze względu na szerokie zastosowania apt`a nie jesteśmy praktycznie wcale zobowiązani korzystać. Dzięki repozytoriom, w którym znajduje się jak wspomniałem wyżej ok. 20 000 różnych programów możemy założyć z dużą dozą prawdopodobieństwa, że program jaki nas interesuje będzie się znajdował w jedym z nich.


Pakiety (paczki)

Najprościej rzecz ujmując pakiet to skompilowany i spakowany program, którego instalacja trwa kilka sekund. Zasadniczo cała opracja polega na pobraniu źródeł programu przez danego developera, skonfigurowaniu go, skompilowaniu (które jest procesem o wiele dłuzszym) na własnym komputerze oraz spakowaniu tak przygotowanego programu w paczkę. Tak przygotowany pakiet jest oczywiście sprawdzany przez opiekunów danego projektu, dzięki czemu jest wolny od błędów.
Większość systemów korzysta (jeśli w ogóle) z jednego z dwóch typów pakietów:

  • deb - pakiety opracowane przez twórów Debiana. Wykorzystuje je m.in. Ubuntu.

  • rpm - system paczek opracowany dla RedHata. Wykorzystywany przez Fedorę, Mandrivę, Auroksa i wiele innych.
  • tgz -


Repozytoria

Repozytoria to serwery, na których gromadzone są pakiety. Dodanie danego repozytorium do pliku sources.list pozwala nam ściągnąć każdy ze znajdujących się w nim programów. Do czynienia mamy z repozytoriami oficjalnymi (markowanymi przez Ubuntu), oraz nieoficjalnymi (repozytoria poszczególnych programów bądź grup developerskich, jak również osób które mają dostęp do szybkich i pojemnych serwerów na których udostępniają wybrane programy).
Ponadto w jednym repozytorium mogą (i często właśnie tak jest) znajdować się pakiety dla różnych wersji danej dystrybucji. I tak dla Ubuntu mamy w oficjalnych repozytoriach pakiety oznaczone “horay”, “breezy”, oraz “dapper” - odpowiednio dla wersji 5.04, 5.10 oraz 6.06.
Trzecia “zmienna” jaka jest istotna do zdefiniowania repozytorium przez plik sources.list to sekcje. Pakiety zostały posortowane w pewne działy, dzięki którym łatwiej jest je zidentyfikować. Dla Debiana są to m. in. stable, main, contrib oraz non-free (z zaznaczeniem, że non-free oznacza niewolne a nie jak mogłoby się zdawać niedarmowe - znajdują się tam takie programy jak np. wirtualna maszyna Java),a w Ubuntu main, restricted, universe oraz multiverse To od nas zależy które sekcje wybierzemy. Więcej informacji n/t sekcji znajduje się poniżej, w rozdziale sources.list.


Zależności

W programach pisanych na systemy rodziny Windows® każdy stanowi jednolitą całość. Program to nie jeden plik, ale cały zestaw plików, bibliotek i modułów. Takie biblioteki. Każda firma musi rzecz jasna napisać własne, bo źródła innych nie są wolne, nie ma do nich dostępu. 3 firmy piszą 3 biblioteki. W każdej z nich programiści popełniają błędy, bo nikt nie jest idealny. Ale każdy skupia się na swojej bibliotece i bez pomocy innych, obiektywnych programistów czy testerów nie jest w stanie odkryć wszystkich błędów jakie popełnił podczas pisania. W środowisku OpenSource jest odwrotnie. Programiści, pisząc swoje programy wykorzystują biblioteki które są wolnodostępne. Te biblioteki są współdzielone między równymi programami. Takie biblioteki czy nawet programy które wykorzystuje konkretna aplikacja, są nazywane zależnościami. Dzięki temu np. program Gimp (linuksowy odpowiednik Adobe® Photoshop™) zajmuje… 2,7 MiB!
Każda biblioteka jest współtworzona przez wielu programistów, którzy dodają własne poprawki i ulepszenia z każdą kolejną wersja.
Dzięki temu biblioteki takie są coraz szybsze, sprawniejsze, pozbawione błędów i bardziej funkcjonalne.


dpkg

Jak nadmieniłem - apt, który jest nakładką na program dpkg jest na tyle funkcjonalny, że praktycznie uwalnia nas od korzystania z samego dpkg. Jeśli zajdzie taka potrzeba - opiszę szczegółowo wykorzystanie tego programu.


apt a apt-get

apt sam w sobie jest nadal w fazie rozwoju i implementacji. Równolegle rozpoczęto rozwój modułu apt oznaczonego apt-get. Nim też będziemy się zajmować, ponieważ podręcznik programu apt wygląda tak:

NAME
       apt - Advanced Package Tool

SYNOPSIS
       apt 

DESCRIPTION
       APT  is  a  management system for software packages.  It is still under
       development; the snazzy front ends are not yet available.  In the mean‐
       time, please see apt-get(8). 

OPTIONS
       None. 

FILES
       None. 

SEE ALSO
       apt-cache(8), apt-get(8), apt.conf(5), sources.list(5)


Konfiguracja apt’a

Konfiguracja programu odbywa się za pomocą pliku /etc/apt/sources.list o którym wspomniałem na początku. To jedyny plik który musimy wyedytować aby zmienić konfigurację apt


sources.list

Na początek chciałbym przedstawić swój plik sources.list. Można go śmiało zapisać w katalogu /ect/apt (pakiety dotyczą ubuntu oraz kubuntu). Do tego można użyć komendy:

sudo mv ~/sources.list /etc/apt/sources.list

Z założeniem, że zapisaliśmy nowy plik o treści, która znajduje się poniżej w katalogu domowym.

deb http://pl.archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://pl.archive.ubuntu.com/ubuntu dapper main restricted 

deb http://pl.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://pl.archive.ubuntu.com/ubuntu dapper-updates main restricted 

deb http://security.ubuntu.com/ubuntu dapper-security main restricted
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted 

deb http://security.ubuntu.com/ubuntu dapper-security universe
deb-src http://security.ubuntu.com/ubuntu dapper-security universe 

deb http://archive.ubuntu.com/ubuntu dapper universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse 

deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse

deb http://kubuntu.org/packages/kde-latest dapper main
deb http://kubuntu.org/packages/amarok-latest dapper main
deb http://kubuntu.org/packages/koffice-latest dapper main
deb http://packages.freecontrib.org/ubuntu/plf dapper free non-free
deb-src http://packages.freecontrib.org/ubuntu/plf dapper free non-free 

deb http://wine.budgetdedicated.com/apt dapper main
deb-src http://wine.budgetdedicated.com/apt dapper main 

deb http://xgl.compiz.info/ dapper main
deb-src http://xgl.compiz.info/ dapper main 

deb http://www.beerorkid.com/compiz/ dapper main 

deb http://mirror2.ubuntulinux.nl/ dapper-seveas all
deb http://antesis.freecontrib.org/mirrors/ubuntu/plf/ dapper free non-free 

deb http://www.kadu.net/download/binary/ubuntu/repo dapper main
deb-src http://www.kadu.net/download/binary/ubuntu/repo dapper main 

deb http://morgoth.free.fr/ubuntu dapper-backports main
deb-src http://morgoth.free.fr/ubuntu dapper-backports main 

deb http://deb.svx.pl dapper main universe multiverse
deb-src http://deb.svx.pl dapper main universe multiverse 

Plik zamieściłem również na serwerze - jest dostępny do pobrania pod adresem http://files.ludwikc.net/trash/linux/sources.list. Więcej repozytoriów można znaleźć w tym wątku na forum ubuntu.pl.

W powyższym przykładzie podane są jedynie repozytoria oparte o protokół http. Należy jednak pamiętać, że program apt-get świetnie radzi sobie również z protokołami ftp czy ssh!

Wprawdzie więcej na temat tego pliku wiedzieć nam nie trzeba, ale należy się słowo komentarza. Pierwsza “kolumna” zaznacza jakiego typu jest pakiet. deb to paczki skompilowane, a deb-src to źródła tychże. Po adresie serwera repozytoriów należy koniecznie podać wersję systemu (p. niżej), a następnie sekcję poprzez sekcję należy rozumieć grupy pakietów, które są dobierane wg tabeli:

Wolne oprogramowanie Zamknięte oprogramowanie
Wspierane main restricted

Niewspierane universe multiverse

Dzięki takiemu podziałowi możemy dokładnie wybrać pakiety z których będziemy korzystać. Przykładowo ograniczając plikowi sources.list dostęp do repozytoriów do sekcji main i universe mamy 100% pewność, że nasz system jest w 100% OpenSource i w 100% legalny.

Przyjęto następującą metodę podawania wersji systemu:

Wersja Nazwa Tłumaczenie Skrót
4.10 Warty Warthog Piegowaty Guziec warthog

5.04 Hoary Hedgehog Sędziwy Jeż horay
5.10 Breezy Badger Serdeczny Borsuk breezy

6.06 Dapper Drake Wytworny Kaczor dapper
6.10 Edgy Eft Przebiegła Traszka edgy

Owy skrót jest bardzo ważny, ponieważ wraz z kolejnymi wersjami systemu mogą np. zmienić się pewne elementy systemu lub ich położenie, którego podanie jest wymagane do prawidłowego przeprowadzenia procesu instalacji.


Użytkowanie

Polecenie apt-get jest dostępne jedynie z konta roota lub dla uprawnionych użytkowników poprzez sudo. Zdecydowanie najczęściej wykorzystywanymi poleceniami programu jest komenda install, remove oraz update.


Aktualizacja

Polecenie służy do aktualizacji repozytoriów, po zamianie zawartości pliku sources.list. . Sprawdzana jest lista repozytoriów, możliwość połączenia się z nimi oraz klucze gpg.


Instalacja

Instalacja oprogramowania w systemie Ubuntu jest najprostszą z możliwych. Sprowadza się ona do wydania jednego polecenia:

apt-get install nazwa_pakietu

W ten sposób mamy dostęp do wspomnianych wyżej dwudziestu tysięcy pakietów.

apt-get za każdym razem wyświetla informację o pakietach jakie są wymagane, aktualizowane oraz sugerowane (te ostatnie nie zostaną pobrane jednak twórcy programu lub paczki zaznaczyli, że te są pomocne w użytkowaniu, choć nie są wymagane do prawidłowego funkcjonowania aplikacji).

root@ludwikc-desktop:/home/ludwikc# apt-get install gaim
Czytanie list pakietów… Gotowe
Budowanie drzewa zależności… Gotowe
Zostaną zainstalowane następujące dodatkowe pakiety:
  gaim-data libgtkspell0 liblaunchpad-integration0
Sugerowane pakiety:
  gnome-panel evolution-data-server libzephyr3
Zostaną zainstalowane następujące NOWE pakiety:
  gaim gaim-data libgtkspell0 liblaunchpad-integration0
0 aktualizowanych, 4 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 1473kB archiwów.
Po rozpakowaniu zostanie dodatkowo użyte 13,0MB miejsca na dysku.
Czy chcesz kontynuować [T/n]? n
Przerwane.
root@ludwikc-desktop:/home/ludwikc#

Na koniec podsumowania zostaje wyświetlone potwierdzenie chęci przeprowadzenia instalacji, na które trzeba odpowiedzieć klawiszem t lub n. Pytanie to jest wyświetlane jednak tylko w przypadku, gdy oprócz żądanego pakietu wymagane jest pobranie zależności badź aktualizacji innych pakietów. W momencie gdy wybieramy aplikację, która takowych nie wymaga instalacja przebiega automatycznie do samego końca.

root@ludwikc-desktop:/home/ludwikc# apt-get install wmfishtime
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Zostaną zainstalowane następujące NOWE pakiety:
  wmfishtime
0 aktualizowanych, 1 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 16,5kB archiwów.
Po rozpakowaniu zostanie dodatkowo użyte 102kB miejsca na dysku.
Pob: 1 http://archive.ubuntu.com dapper/universe wmfishtime 1:1.24-4 [16,5kB]
Pobrano 16,5kB w 5s (2941B/s)
Zaznaczenie poprzednio niezaznaczonego pakietu wmfishtime.
(Odczytywanie bazy danych … 85526 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie wmfishtime (z …/wmfishtime_1%3a1.24-4_i386.deb) …
Konfigurowanie wmfishtime (1.24-4) …
root@ludwikc-desktop:/home/ludwikc#

Od tego momentu program wmfishtime jest dostępny w systemie. Bardzo proszę o przyznanie racji osobom, które utrzymują, że instalacja oprogramowania pod linuksem jest trudna :)


Usuwanie

Proszę też takim osobom zaznaczyć, że odinstalowywanie jest jeszcze trudniejsze. Oto przykład:

root@ludwikc-desktop:/home/ludwikc# apt-get remove wmfishtime
Czytanie list pakietów… Gotowe
Budowanie drzewa zależności… Gotowe
Następujące pakiety zostaną USUNIĘTE:
  wmfishtime
0 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 0B archiwów.
Po rozpakowaniu zostanie zwolnione 102kB miejsca na dysku.
Czy chcesz kontynuować [T/n]? T
(Odczytywanie bazy danych … 85536 plików i katalogów obecnie zainstalowanych.)
Usuwanie wmfishtime …
root@ludwikc-desktop:/home/ludwikc#

I po pakiecie…
Ważna informacja: zależności nie są usuwane wraz z pakietem, nawet jeśli są wykorzystywane tylko przez usuwany pakiet! Jeśli chcemy usunąć zależności, musimy byc pewni, że nie są one wykorzystywane przez inne pakiety. Do usunięcia takich pakietów (a właściwie ich odnalezienia) przydaje sie narzędzie deborphan. Jak je znaleźć? Patrz apt-cache :)


Dodatkowe opcje

Każde z poleceń ma dodatkowe opcje. np.

  • -d - tylko pobranie pliku, bez instalacji
root@ludwikc-desktop:/home/ludwikc# apt-get -d install wmfishtime
Czytanie list pakietów… Gotowe
Budowanie drzewa zależności… Gotowe
Zostaną zainstalowane następujące NOWE pakiety:
  wmfishtime
0 aktualizowanych, 1 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Konieczne pobranie 16,5kB archiwów.
Po rozpakowaniu zostanie dodatkowo użyte 102kB miejsca na dysku.

Ukończono pobieranie w trybie samego pobierania
root@ludwikc-desktop:/home/ludwikc#
  • -s - symulacja instalacji
root@ludwikc-desktop:/home/ludwikc# apt-get -s install wmfishtime
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności... Gotowe
Zostaną zainstalowane następujące NOWE pakiety:
  wmfishtime
0 aktualizowanych, 1 nowo instalowanych, 0 usuwanych i 45 nieaktualizowanych.
Inst wmfishtime (1:1.24-4 Ubuntu:6.06/dapper)
Conf wmfishtime (1:1.24-4 Ubuntu:6.06/dapper)
root@ludwikc-desktop:/home/ludwikc#

Dwie ostatnie linijki (Inst - instalacja, Conf - konfiguracja) potwierdzają, że instalacja przebiegnie bez błędów.

  • –reinstall - usunięcie i ponowna instalacja pakietu znajdującego się juz w systemie.


Inne możliwości


apt-cache

Oprócz apt-get program apt posiada więcej wbudowanych funkcji, jaknp. bardzo przydatne apt-cache (czyt. apt-kesz), ktore na podstawie wykonanego wcześniej apt-gaet update pozwala na odczytywanie z pamięci takich informacji jak np. podsumowanie pakietu lub wyszukiwanie go spośród listy repozytoriów.


Informacje o pakiecie

Na przykładzie programu GRUB:

root@ludwikc-desktop:/home/ludwikc# apt-cache show grub
Package: grub
Priority: optional
Section: admin
Installed-Size: 748
Maintainer: Grub Maintainers <pkg-grub-devel@lists.alioth.debian.org>
Architecture: i386
Version: 0.97-1ubuntu9
Depends: libc6 (>= 2.3.4-1), libncurses5 (>= 5.4-5)
Suggests: grub-doc, grubconf
Filename: pool/main/g/grub/grub_0.97-1ubuntu9_i386.deb
Size: 362200
MD5sum: b331cdd615a96933db0dc34042cb0964
Description: GRand Unified Bootloader
 GRUB is a GPLed bootloader intended to unify bootloading across x86
 operating systems.  In addition to loading the Linux kernel,
 it implements the Multiboot standard, which allows for flexible loading
 of multiple boot images (needed for modular kernels such as the GNU Hurd).
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu

root@ludwikc-desktop:/home/ludwikc#

W kolejności wiersze oznaczają:

  • nazwę pakietu
  • priorytet
  • sekcję
  • rozmiar po zainstalowaniu
  • właściciela pakietu
  • architekurę pod jaką został zoptymalizowany
  • wersję
  • zależności
  • pliki zalecane do instalacji
  • ścieżkę na serwerze repozytorium
  • rozmiar paczki
  • sumę MD5
  • opis pakietu
  • adres pod którym można zgłaszać błędy
  • system, pod jaki został przygotowany dany pakiet


Statystyki repozytoriów

Pocecenie apt-cache stats pozwala na przejrzenie statystyk naszych repozytoriów:

root@ludwikc-desktop:/home/ludwikc# apt-cache stats
Liczba nazw pakietów : 24259 (970k)
  Zwykłych pakietów: 18854
  Czysto wirtualnych pakietów: 358
  Pojedynczych pakietów wirtualnych: 1047
  Mieszanych pakietów wirtualnych: 201
  Brakujących: 3799
W sumie różnych wersji: 20974 (1007k)
W sumie zależności: 149842 (4196k)
W sumie zależności wersja/plik: 22137 (354k)
W sumie mapowań zapewnień: 3543 (70,9k)
W sumie dopasowanych napisów: 174 (2246)
Sumaryczny rozmiar obszaru zależności od wersji: 679k
Sumaryczny rozmiar niewykorzystanego miejsca: 92,2k
Całkowity rozmiar: 6692k
root@ludwikc-desktop:/home/ludwikc#

W nawiasach podano podano liczbę tzw. pakietów wirtualnych. Ich powstanie wiązało się z tym, że dany pakiet był znany pod różnymi nazwami, więc aby uniknąć problemów z ich wyszukiwaniem postanowiono utworzyć “aliasy”, które są dzisiaj pakietami wirtualnymi.


Podsumowanie

Możemy przejrzeć krótkie podsumowanie plików znajdujących się w repozytoriach. Służy do tego polecenie

apt-cache dump

(czyt. damp).
Uwaga: Wcześniej wyświetliliśmy ilość pakietów znajdujacych się w repozytoriach. Wykonanie polecenia dump może być czasochłonne, a do tego nie bedziemy w stanie wszystkoiego odczytać. W związku z tym trzy podpowiedzi:

Jeśli chcemy wyświetlać listę “stronami” (lista jest bardzo długa!) należy polecenie dump wpuścić w potok less

apt-cache dump | less

Zapisanie listy w pliku odbywa się poprzez polecenie

apt-cache dump >> mojalista.txt

Możemy też w dowolnym momencie przerwać wykonywanie polecenia poprzez uzycie skrótu klawiaturowego

Ctrl+C

(Skrót ten działa zawsze w konsoli, niezależnie od wykonywanego polecenia!)


Zależności

Sprawdzenie zależności umożliwia polecenie depends

apt-cache depends nazwa pakietu


Wyszukiwanie

apt-cache ma dwie funkcje wyszukiwania. Pierwszą jest poszukiwanie wyrażenia w całości podsumowania pliku, a druga to sprawdzanie początków nazw paczek

apt-cache search wyrażenie

Należy jednak zwrocić uwagę, że to polecenie poszukuje ciągu znaków “wyrażenie” we wszystkich polach informacji o danym pakiecie, dlatego w komunikacie zwrotnym mogą znaleźć się paczki pozornie zupełnie z poszukiwanym ciągiem znaków nie związane. Daje nam ono jednak szanse na odnalezie programów związanych z danym tematem, np: usenet (czyt. juznet) - czyli grupami dyskusyjnymi.

apt-cache pkgnames począt

To polecenie wyszukuje nazwy pakietów wg ciągu znaków podanego jako argument polecenia. Przykładowe począt może stanowić ciąg dla wyszukiwania początek-nazwy-pakietu lub początkowe-nauczanie ale nie nauczanie-początkowe!


Aktualizacja systemu UbuntuLinux

Dzięki programowi apt możemy bezboleśnie, w kilku krokach przeprowadzić aktualizacje całego systemu. Sprowadza się to do wydania kolejno komend:

apt-get update
apt-get upgrade
apt-get dist-upgrade

Całość trwa jakiś czas, ponieważ z reguły potrzebne jest pobranie bardzo wielu pakietów. Mój rekord aktualizacji Ubunutu (z wersji breezy do dapper) to 10 godzin, bez używania płytki CD. Przy używaniu płyty czas ten skraca się do godziny.
Ze wszystkim można sobie poradzić i do wszystkiego mamy wolny dostęp - możemy aktualizować system przez godzinę lub 10. Wszystko zależy od nas.
A jak mówi dewiza jednego z linuksowych portali: Przywróć radość użytkowaniu komputerów. Używaj Linuksa!

Kubuntu 6.10. Pierwsze spojrzenie

KubuntuJako, że nadal nie znalazłem czasu, żeby przejść na jakieś lekkie środowisko*, a interfejs GNOME jest wg mnie mało atrakcyjny, pobrałem z sieci Ubuntu z prefiksem K.

Instalacja

Z premedytacją wybrałem opcję najbardziej typową dla newbies, czyli zrób sobie miejsce na dysku i się zainstaluj. Instalacja przebiegła bez problemów, choć (mimo braku większej uwagi) dopatrzyłem się kilku literówek (m.in. Przzeglądanie plików czy strefa czasowa WarszawaL).
Miejsce zrobiło się bez problemów a w Grubie pojawiła się nowa pozycja.

10 minut w nowym systemie

Tytułem wstępu: To nie jest profesjonalna recenzja nowej wersji Ubuntu. Ot, moje przemyślenia, zgodnie z disclaimerem.

Pierwsza uwaga: +: Logo podczas ładowania sytemu jest przyjaźniejsze i milsze dla oka. Szczególnie niewprawnego. Również pasek postępu jest ładniejszy. Ale tu pojawia się minus: nie mamy żadnej informacji o ładowanych modułach. Jesteśmy zostawieni na pastwę losu, dokładnie tak, jak od lat postępuje konkurencja. Oczywiście, dla początkujących użytkowników nie ma to znaczenia i nie przerażają komunikaty typu

Connecting to ntp.ubuntulinux.com — Failed

Zasadniczo jest to punkt do tyłu, choć Ubuntu z założenia jest przystosowane dla początkujących, więc pominę to w końcowej klasyfikacji. Z pewnością wielu takie rozwiązanie będzie odpowiadać.
Cieszy również nowy, gładki ekran logowania.

Zaskakująca, po uruchomieniu managera okien, jest zawartość katalogu /. Otóż mamy w nim zaledwie 2 (słownie: dwa) katalogi: /home i /media. Włączenie wyświetlania plików ukrytych, oczywiście zwraca nam resztę zawartości, z plikiem .hidden w którym możemy definiować które katalogi maja być domyślnie ukrywane, i obrazem jadra. Oczywiście - rozwiązanie bardzo wygodne dla niedoświadczonych uzytkowników, z założeniem, że system ma działać, a nie chcemy się go uczyć. Sam przyznam, że przez jakiś czas korzystałem z Kubuntu. Z czystego lenistwa i wygody jaką oferuje ten system w momencie, kiedy nie ma się kilku wolnych godzin na konfigurację Slackware czy kilku wolnych dni na instalację Gentoo.

KDE niestety nadal nie jest spolonizowane po instalacji. Oczywiście, można zrobić apt-get upgrade, ale skoro system jest zorientowany na nowoprzybyłych, winien jest zapewnić im możliwie komfortowe warunki na rozpoczęcie przygody z wolnymi systemami. Minus.

KLaptop został zastąpiony o wiele gorszym (zaznaczam, że korzystałem z systemu przez 10 minut!) PowerManagerem. Mając końcówkę baterii (która i tak wystarczyła na przeprowadzenie instalacji) po załadowaniu się systemu Bateria wskazywała pozostały czas 2:00h, a po 4-5 minutach 1:00h. Bez zmian. Aż do momentu przejścia w stan wstrzymania. Również bez ostrzeżenia, znanego mi dotąd z Klaptopa.

Podsumowanie

Podsumowania brak. Zbyt mało czasu spędziłem w tym systemie by go należycie ocenić. Moja opinia się jednak potwierdza. Ubuntu (z dowolnym prefiksem) jest systemem który jest definitywnie zorientowany na nowych, niedoświadczonych użytkowników, którzy chcą znaleźć alternatywę dla Windows. Takiej inicjatywie należy zdecydowanie przyklasnąć. Ale trzeba też mieć nadzieję, że nie przeistoczy się w drugą Mandrivę.
Jest jednak jeszcze sporo do zrobienia, a najważniejszą rzeczą jaką powinni zająć się developerzy z Canonical jest pełna lokalizacja systemu tuz po instalacji (bez aktualizowania!).


* - moje typy to fluxbox i fvwm, z naciskiem na to drugie, bo jest “mniej GTK”. A może w GNOME coś się zmieniło przez ostatnie 2 lata?

Fenomen niszowości

Zastanawiam się ostatnio… Czy nie jest tak, ze w środowisku informatycznym projekty niszowe są najlepiej przyjmowane?
Windows® przyjął się szeroko jako nowość - zastępnik DOS-a. Po kilku latach, czego efekt jest dzisiaj coraz bardziej odczuwalny, występuje szerokie zainteresowanie Linuksem. Tylko dlaczego? Czy z samego faktu luk bezpieczenstwa i stablinosci systemow z rodziny Windows® ?
Oczywiscie, ze tak. Ale zanim ponownie udzielimy sobie tej odpowiedzi, zastanówmy sie nad innymi przykladami, ukazującymi ze to co powszechne jest złe. Czy gatunek ludzki ma tak bardzo zakorzenione w sobie zachowania stadne, ze bez pomyslunku idzie za ciosem tak jak reszta spoleczenstwa w jakim zyje?
1. onet.pl - “x ma tyle wspolnego z y co ja z onetem”. Onet jest powszechnie uznawany za cos malo profesjonalnego, wręcz głupawego, chocby z racji uzytkownikow komentujacych newsy portalu (patrz JoeMonster‘owy dział Onetowcy). Czy Onet jest naprawde taki zly, a zainteresowanie Wirtualną Polską wynika z jej poziomu i jakosci?
2. Gadu-gadu - Czy tez jest tak złe, ze nalezy bezapelacyjnie przerzucic sie na Jabbera czy Tlena? Rozumiem, bo sam pisałem juz o tym, ze na gg zdarzaja sie ludzie nader uciążliwi i “mł0DoCiAn1 KlIkAjACy =] ” czesto nazywani dzis dziecmi neostrady. Ale w czym Tlen jest lepszy od gg?
3. Mandriva - juz wewnątrz samego Linuksa. Czy Mandriva, dystrybujca okrzyknięta idealną dla początkujących jest zła? Czy tak częste towarzyszenie słowa początkujący nazwie dysrybucji nie wywołuje poczucia napiętnowania u uzytkowników za fakt bycia laikiem w środowisku Starych pingwiniarzy?
Czy te 3 proste, zeby nie powiedziec najprostsze przykłady nie świadczą o pewnej zależności jaka występuje w wymienionym na samym początku środowisku informatyków? Jaka jest tego przyczyna? Dlaczego zmienilismy paremię “Małe jest piękne” na “Duże jest brzydkie” czy wręcz “Powszechne jest Złe”?
Nie jestem zwolennikiem Windows, Gadu-Gadu czy Mandrivy. Zastanawia mnie tylko fakt, dlaczego okazujemy (i ja sam się tego częstokroć dopuszczam) tak powszechny brak zaufania największym, najpopularniejszym projektom?