dominik bułaj

php developer & web designer

Archiwum kategorii ‘Linux’ Category

Samba i linki symboliczne

Ostatnio Ubuntu zaktualizowaÅ‚o SambÄ™ i przestaÅ‚y dziaÅ‚ać linki symboliczne (błąd dostÄ™pu: access denied), a wÅ‚aÅ›nie w ten sposób do home’a podpiÄ™ty mam /var/www/, czyli aplikacje webowe. NastÄ™pnie, w ramach potrzeby, w Windows mapuje do dysku swój katalog domowy z linuxa. W ten sposób spod drugiego systemu mogÄ™ pracować na tych samych plikach i w tym samym Å›rodowisku.

Rozwiązanie owego problemu zajęło mi kilka (dłuższych) chwil. Co ciekawe, okazało się ono dziecinnie proste.
Poniższe trzy linijki należy wpisać do pliku konfiguracyjnego (/etc/samba/smb.conf) w sekcji global:

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Następnie restartujemy sambę:

sudo /etc/init.d/samba restart

lub drugim sposobem (gdy mamy zainstalowany sysvconfig):

sudo service samba restart

PiszÄ™ to z dwóch powodów. Po pierwsze – ku pamiÄ™ci. Po drugie dlatego, iż jednemu koledze już udzieliÅ‚em powyższej rady. WiÄ™c widać problem jest dość czÄ™sto spotykany.

NatrafiÅ‚em na ciekawy wpis na blogu Chrisa Morella odnoÅ›nie podpowiadania komend Zend Framework w Å›rodowisku bash. W systemach bazujÄ…cych na Unix/Linux dziaÅ‚a system podpowiedzi (bash completion); wpisujemy np. gr i wciskamy [TAB], w rezultacie podpwiedziane zostanÄ… nam wszelkie komendy zaczynajÄ…ce siÄ™ od “gr” (np. grub, grep, etc.).

Na blogu, Chris, udostÄ™pniÅ‚ skrypt, który bÄ™dzie w stanie podpowiadać nam skaÅ‚adowe komendy “zf” (Zend Framework – Zend_Tool). ZnalazÅ‚a siÄ™ i instrukcja jak podpiÄ…c owe podpowiadanie (jeden wpis do ~/.bashrc lub ~/.bash_profile).

Więcej na: http://cmorrell.com/web-development/zf/bash-completion-script-751

Jak informuje dziś CHIP.pl, Ubuntu 10.10 zmienia standard opisywania pojemności z base-2 na base-10.

Dotychczas obowiÄ…zujÄ…cy standard base-2 zostanie zastÄ…piony w Ubuntu przez nowszy, czyli base-10. (…) PrzejÅ›cie na prefiksy SI (base-10) oznacza, że kilobajt to tysiÄ…c bajtów, megabajt to tysiÄ…c kilobajtów, gigabajt to tysiÄ…c megabajtów, i tak dalej.

Z jednej strony łatwiej będzie liczyć, z drugiej jakoś od zawsze byliśmy przyzwyczajeni do mnożnika 1024.
Jedynie pamięć RAM ma pozostać bez zmian w base-2, wszystkie inne dane w base-10. Podobno zmiana nie będzie permanentna, tzn. użytkownik będzie mógł zmienić standard z powrotem na base-2.

Jak informujÄ… autorzy wiadomoÅ›ci, innym znanym systemem który przeszedÅ‚ na base-10 jest Mac OS X Snow Leopard. Czyli mamy do czynienia z kolejnÄ… próbÄ… upodobnienia Ubuntu do Mac OS – ostatnio gÅ‚oÅ›no o zmianie poÅ‚ożenia przycisków w tytule okna:

PS to jest post numer 200 na blogu ;)

TytuÅ‚ może na pierwszy rzut oka być nieco mylÄ…cy. Nie chodzi o jakÄ…Å› lukÄ™ bezpieczeÅ„stwa. Po prostu możemy zainstalować Pythona we wÅ‚asnym katalogu domowym – na przykÅ‚ad wtedy, gdy na serwerze oferowana jest starsza wersja a admini nie sÄ… skorzy do upgrade ;)
WÅ‚aÅ›nie zaczÄ…Å‚em zagłębiać siÄ™ w ten jÄ™zyk programowania, napisaÅ‚em pierwszÄ… aplikacjÄ™ którÄ… chciaÅ‚em odpalić na serwerze, ale tam byÅ‚ Python 2.5 (a potrzebowaÅ‚em 2.6). Admini stwierdzili, że w używanej dystrybucji Debiana jako najnowsza jest 2.5 i nie zrobiÄ… upgrade (swojÄ… drogÄ…, chyba stary nieco ten Debian)… Tyle tytuÅ‚em wstÄ™pu.

Z pomocą przyszedł kolega Zbiju, który podpowiedział że da się zainstalować Pythona na serwerze nie mając praw superużytkownika (bez użycia sudo). Podesłał też link do opisu takiej instalacji. Autorem opisu jest niejaki bobince.

Utwórzmy katalog (np. .local) w domowym (u mnie: /home/webit/.local/), a następnie przejdźmy do niego (cd .local/).
Pobierzmy Pythona i wypakujmy z archiwum tarball (.tgz) źródła:

wget http://python.org/ftp/python/2.6.4/Python-2.6.4.tgz; tar -xf Python-2.6.4.tgz

Przejdźmy do katalogu ze źródłami:

cd Python-2.6.4/

Teraz pozostaje nam kompilacja ze źródeÅ‚ – wykonujemy w tym celu po kolei:

./configure --prefix=/home/webit/.local
make
make install

Gotowe!.
Aby skorzystać z właśnie zainstalowanego Pythona należy wykonać polecenie:

/home/webit/.local/bin/python

gdyż właśnie w tym miejscu znajduje się binarka.

Warto zapamiętać, że skrypt wykonywalny w powłoce także powinien używać tej ścieżki. System musi wiedzieć, że ma skorzystać z naszego interpretera, a nie domyślnie dostępnego w systemie. W tym celu w pierwszej linii skryptu wpiszemy:

#!/home/webit/.local/bin/python

Pozostaje życzyć miłego kodowania ;)

Stało się dziś w korpo tak, że od rana nie było sieci na głównym łączu. Backupowe działało, ale serwery (dostępne w sieci lokalnej) nie były skonfigurowane do korzystania drugiej bramy. Nie wnikam.
W każdym razie, admin zaproponował mi dopisanie domeny do pliku hosts, dzięki czemu cały ruch odbył by się w obrębie sieci lokalnej.

ZnajÄ…c sprawÄ™ sprzed lat, kiedy jeszcze używaÅ‚em Windowsa (a tak konfigurowaÅ‚em sobie domeny, aby móc korzystać z lokalnej instancji Apache‘a), zaczÄ…Å‚em od wyszukania pliku. Zazwyczaj znajduje siÄ™ on w katalogu drivers dostÄ™pnym w folderze zawierajÄ…cym system (np: C:\Windows\System32\drivers\etc\hosts). Co ciekawe w XP x64 nie widać zawartoÅ›ci katalogu drivers!
Poguglowałem i znalazłem opis sytuacji na na stronach Microsoft.

W międzyczasie w linii komend udało mi się wejść do katalogu etc (mimo, że dir nie wskazywał, iż takowy w ogóle istnieje!). Co ciekawe widząc, że plik istnieje (po zmianie folderu na etc mogłem wylistować jego zawartość) mogłem bez problemu edytować go w edytorze Notepad++.

Na całą operację straciłem ok 15 min. Pod linuxem (Debian/Ubuntu) zajęłaby mi max dwie minuty. Tam wystarczy wyedytować /etc/hosts i zrestartować połączenie.

Wniosek
MS Windows (zwłaszcza XP x64, który IMO jest mega porażką) wcale nie jest przyjaźniejsze od Linuxa ;)

Niemal rok temu pisaÅ‚em jak zainstalować system Trac w Ubuntu. Niedawno jednak przeinstalowaÅ‚em Ubuntu “od zera” (majÄ…c oczywiÅ›cie kopie wczeÅ›niejszej wersji systemu).

Przy okazji odbudowy systemu postanowiłem przenieść repozytoria svn z /var/lib/svn (jak podałem w zeszłorocznym wpisie) na /home/subversion.
Zmiana podyktowana jest wygodÄ… i wiÄ™kszym bezpieczeÅ„stwem – po prostu /home mam na osobnej partycji, dlatego nie tracÄ™ danych przy ewentualnym padzie systemu i koniecznoÅ›ci reinstalacji.

Jak zatem “przestawić” Trac’a, aby używaÅ‚ nowej lokalizacji repozytorium svn?

Po pierwsze edytujemy konfiguracje każdego z projektów trac (/var/lib/trac/[NAZWA PROJEKTU]/conf/trac.ini).

Odszukujemy liniÄ™:

repository_dir = /var/lib/svn/[NAZWA PROJEKTU]

i zamieniamy jÄ… na:

repository_dir = /home/subversion/[NAZWA PROJEKTU]

Otwierając stronę projektu w przeglądarce (http://127.0.0.1/projects/[NAZWA PROJEKTU]) zobaczymy ostrzeżenie o treści:
Warning: Can’t synchronize with the repository (The ‘repository_dir’ has changed, a ‘trac-admin resync’ operation is needed.). Look in the Trac log for more information.

Wszystko powinno być jasne. Przechodzimy do konsoli i wykonujemy następujące polecenie (będąc w /var/lib/trac):

trac-admin [NAZWA PROJEKTU] resync

Gotowe!

Dziś szybki wpis odnośnie problemów z flashem pod Firefoxem. Otóż od dłuższego czasu, każda strona zawierająca flash strasznie powoli ładowała się, a w dodatku użycie CPU (procesora) skakało na 100%, uniemożliwiając normalną pracę.

Poszukałem rozwiązania na forum Ubuntu i tak oto trafiłem na bardzo prosty sposób (skuteczny!) naprawienia problemu.

Jak pisze autor, Johnny B, wystarczy pobrać ze strony Adobe archiwum zawierające bibliotekę libflashplayer.so.
Następnie wystarczy skopiować dołączony do wpisu kod do pliku shellowego, nadać prawa uruchamiania i odpalić go jako będąc zalogowanym na super użytkownika (root). Skrypt usuwa stare biblioteki, kopiuje ściągnięty plik w odpowiednią lokalizację, tworzy linki symboliczne oraz plik konfiguracji. Jednym słowem w pełni zautomatyzowana operacja.

Kod skryptu znajdziesz na http://ubuntuforums.org/showpost.php?p=8085812&postcount=14.

Właśnie ukazał się Zend Framework w wersji 1.8 Beta 1. jest to kolejna wersja testowa przed finalną zapowiedzianą na koniec miesiąca.

Z głownych nowości:

  • Zend_Application (wsparcie dla bootstrapu)
  • Zend_Tool (generowanie projektów i komponentów)
  • Zend_CodeGenerator (IMHO narzÄ™dzie nieprzydatne)
  • Zend_Navigation (generowanie sitemap’ów i drzew linków)
  • Zend_Reflection (rozszerzenie możliwoÅ›ci php’owego reflection)
  • Zend_Tag (praca z tagami (etykietami))
  • dodatki i usprawnienia w Zend_Validate i Zend_Filter
  • usprawnienia w Zend_Search_Lucene i Zend_Pdf
  • nowa obsÅ‚uga uploadowanych plików w Zend_Form_Element_File

.

NajnowszÄ… wersjÄ™ można pobrać z oficjalnej strony framework‘a.

Dziś także ukazuje się nowa wersja Ubuntu. Ubuntu 9.04 nazwane Jaunty Jackalope.

Co zrobić jeśli nie chcemy udostępniać konta gościa (funkcjonalność dostępna w Ubuntu 8.10 wzwyż)?

Należy wykonać prostą komendę:

sudo apt-get remove gdm-guest-session

A następnie zrestartować środowisko GDM (Ctrl+Alt+Backspace). I gotowe!

Ubuntu 9.10 “Karmic Koala”

Październikowe wydanie Ubuntu, oznaczone numerkiem 9.10, bÄ™dzie nosiÅ‚o nazwÄ™ Karmic Koala. Developerzy planujÄ… wprowadzić tzw. “cloud computing” do wersji serwerowej, przyÅ›pieszyć start w wersji desktopowej oraz kontynuować wsparcie dla netbooków. Twórca Ubuntu, Mark Shuttleworth, zapowiedziaÅ‚ także caÅ‚kiem nowy wyglÄ…d wersji desktopowej.

Plan rozwoju dystrybucji poznamy dopiero w maju, po Ubuntu Developer Summit, które odbędzie się w Barcelonie. Karmic Koala nie będzie dystrybucją długiego wsparcia (LTS). Support będzie oferowany przez 18 kolejnych miesięcy od daty wydania.

Dla przypomnienia już w kwietniu ukaże się Ubuntu 9.04 Jaunty Jackalope.

Ubuntu przewodnik kieszonkowy

Ubuntu Pocket Guide (cover)Ukazała się nowa, bardzo ciekawa, książka o Ubuntu. Ubuntu przewodnik kieszonkowy, bo taki nosi tytuł, jest udostępniona w wersji elektronicznej (PDF) za darmo.
Napisana jest po angielsku i liczy 170 stron (146 samej treści).
Książka dostępna jest także w wersji tradycyjnej (w sklepie amazon.com) i kosztuje $9.49.

W książce znajdziemy informacje na temat:

  • instalacji i konfiguracji systemu – ustawienia klawiatury i myszy, grafiki, dźwiÄ™ku, ustawieÅ„ sieci, drukowania, etc.
  • obsÅ‚uga desktopu (Å›rodowisko X) – logowanie, omówienie paneli, wirtualne pulpity oraz personalizacja Å›rodowiska graficznego
  • użytkownicy i system plików – wprowadzenie do systemu plików w Ubuntu, zarzÄ…dzania użytkownikami
  • linia komend – podstawy, prawa root, opis praw dostÄ™pu, zarzÄ…dzanie procesami
  • zarzÄ…dzanie programami – wszystko o instalowaniu pakietów i repozytoriach
  • zabezpieczenie systemu – aktualizacje, konfiguracja firewalla, instalacja programu antywirusowego, szyfrowanie plików i folderów

Książka wydaje się obowiązkową lekturą dla początkujących Ubuntowców, ale nie tylko. Opisano w niej mnóstwo tricków, które zapewne ułatwią pracę także zaawansowanym użytkownikom systemu.

Lekturę można pobrać ze strony: http://www.ubuntupocketguide.com/download2.html

Wiadomo, że od pewnego czasu Adobe ostro pracuje nad Flash Playerem dla Linuxa (zatrudniło w tym celu nawet nowych programistów).

DziÅ›, caÅ‚kiem przez przypadek, zauważyÅ‚em że aplikacja dedykowana Å›rodowisku Linux ma najwyższy numerek (10.0.15.3), podczas gdy wersje Windows i Mac majÄ… niższy numer wydania (10.0.12.36). Nie wspominajÄ…c o Solarisie – wersja 9.0.151.0.

Flash (numery wersji)

Howto: Flash w Operze (Ubuntu)

Do surfowania po sieci głownie używam Firefoxa. Jednak ostatnio zauważyłem, że pod linuxem (Ubuntu) znacznie szybciej radzi sobie Opera. I nie chodzi tu tylko o czas ładowania stron, sam start aplikacji jest dużo sprawniejszy.

Opery używam tylko jak potrzebuje coś szybko znaleźć i nie chce czekać na załadowanie ulubionej przeglądarki. Ostatnio dostałem od kolegi linka do YouTube. Jakież było moje rozczarowanie, gdy zauważyłem poniższy komunikat:

PoszukaÅ‚em rozwiÄ…zania problemu na oficjalnych forach Ubuntu. RozwiÄ…zanie okazaÅ‚o siÄ™ równie proste co zaskakujÄ…ce…

Aby włączyć obsługę flash w Operze (oczywiście mając już zainstalowany player, nieważne czy to firmy adobe czy przygotowany przez środowisko open-source) wystarczy otworzyć Narzędzia > Preferencje. Następnie wybrać w lewym okienku Zawartość a w prawym zaznaczyć Włącz obsługę wtyczek.

To wszystko! Nie trzeba nawet restartować Opery. Wystarczy odświeżyć stronę.

Instalacja Trac w Ubuntu

Trac to połączenie wiki, kontroli błędów oraz systemu zarządzania projektami. Jest to open source aplikacja napisana w Pythonie, działająca jako witryna sieci web.

Jako web developer, lubiÄ™ mieć porzÄ…dek w projektach – notatki, pomysÅ‚y listÄ™ błędów i todo. To wszystko plus interfejs webowy do repozytorium SVN danego projektu daje mi Trac. Dlatego kilka dni temu postanowiÅ‚em zainstalować ten software na swoim komputerze, który biega pod kontrolÄ… Ubuntu 8.10.

Trafiłem na bardzo przejrzysty tutorial, który krok po kroku przeprowadzi nas przez proces instalacji. Jako że owy przewodnik jest w wersji angielskojęzycznej, postanowiłem się z grubsza zaprezentować howto w wersji polskiej.
(wiÄ™cej…)

Trafiłem na ciekawy artykuł, o tym jak włączyć wizualne efekty w Metacity (GNOME).
Główną ideą do napisania artykułu przez autora było zaprezentowanie alternatywy do efektów Compiza, które mogą nie działać ze słabszymi kartami graficznymi.

OsobiÅ›cie efektów Compiza nie używam, gdyż mnie – a raczej moje oczy – “mÄ™czÄ…”. Animacje może i robiÄ… wrażenie, ale nie sÄ… efektywne. Poza tym sÄ… zasobożerne.
Korzystam z dobrodziejstw Metacity z bardzo przyjemnym motywem, jakim jest Dust.

Co daje włączenie efektów w Metacity? Po pierwsze ten menadżer okien używa procesora (CPU) a nie karty graficznej, zatem będzie działał w każdych warunkach (nawet w wirtualnej maszynie). Z efektów jakie oferuje można wymienić chociażby cienie pod okienkami, przełączanie aplikacji (Alt+Tab) wyświetlające podgląd aplikacji, podobny do Compizowego OSD przy zmianie głośności lub wyciszeniu.

Aby aktywować wspomniane efekty wystarczy wykonać następującą komendę z linii poleceń:

gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true

Aby dezaktywować efekty, należy wykonać:

gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool false

Można także skorzystać z edytora konfiguracji. W tym celu otwieramy okno Uruchom program (Alt+F2), a następnie wpisujemy gconf-editor i wciskamy enter (lub klikamy Uruchom). W edytorze, po lewej stronie, rozwijamy apps->metacity->general i zaznaczamy (bądź odznaczamy) opcję compositing_manager w prawym panelu.

Ustawienia te działają z Ubuntu 8.10 i 8.04.

Poniżej przedstawiam kilka wycinków z rzutów ekranowych:

Archiwa