V tomto článku bych rád sesumíroval mé poznámky k instalaci Ubuntu na mém pracovním stroji. Plno z instalačních postupů jsem dostal do vínku od mých kolegů, za což jsem jim nesmírně vděčný. V závěru článku uvádím seznam aplikací, které jsem prozatím vytipoval jako zástup mých oblíbených Windows nástrojů, na které jsem byl po celá léta zvyklý. Přechod bolel méně než jsem čekal – ve většině oblastí jsem našel plnohodnotné (a někde i lepší) alternativy pro Linux.

Při čtení tohoto článku, prosím, nezapomínejte, že jsem v Linuxu úplný začátečník a proto mě nechytejte za slovíčka. Tento článek je především návodem pro další úplné začátečníky, jako jsem já – a případně i pro mne samotného, až se zase rozhodnu reinstalovat. Rozhodně se nechci pasovat na nějakého Ubuntu experta – zapisuji jen to, co pro mne zafungovalo a co by tedy mohlo fungovat i ostatním.

Obsah:

Základní instalace
Osvědčené aplikace

Základní instalace
Složková struktura Ubuntu
Poměrně přehledně popsaná zde:
http://www.comptechdoc.org/os/linux/usersguide/linux_ugfilestruct.html

Nicméně neobsahuje popis některých složek jako je například /opt a další:
http://greeennotebook.com/2010/06/a-quick-guide-to-the-ubuntu-linux-directory-structure/

Pro instalaci vlastních programů se hodí složka /usr/local (ale ta už ze základní instalace obsahuje nějaké složky a soubory) nebo /opt (ta je prázdná a tam jsem se rozhodl své aplikace instalovat já). Obě dvě složky vlastní root a proto pro nakopírování nové aplikace budete potřebovat provádět operace jako root (sudo). Abyste mohli aplikace spouštět je třeba spustitelné soubory (*.sh) označit jako spustitelné všemi, popřípadě je pomocí příkazu (chown) převlastnit na uživatele / skupinu, do které patříte vy a nastavit spustitelné skupinou / vlastníkem.
Nastavení proměnných prostředí
Blíže popsáno na Wiki Ubuntu.

Proměnná PATH (tj. cesty na kterých se hledají spustitelné soubory, pokud nejsou nalezeny v aktuálním adresáři) se nastavuje v souboru /etc/environment editovatelném jen s ROOT oprávněními:
sudo gedit /etc/environment
Soubor obsahuje něco podobného (lehce se dají doplnit další složky):
PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-sun/bin:/data/_dev/java/_libs/apache-maven-2.2.1/bin“
Nicméně proměnné je lepší přidávat do uživatelských (session) proměnných systému, které se nacházejí v souboru /home/[vas_domovsky_aresar]/.bashrc (respektive je možné je dát i do jiných – viz. odkazovaná dokumentace, ale tohle funguje docela spolehlivě) – v mém případě tedy:
sudo gedit /home/novoj/.bashrc
Jsem doplnil následující proměnné:
export CVS_RSH=ssh
export JAVA_HOME=/opt/Java/jdk1.6.0
export MAVEN_HOME=/opt/Apache/maven
export ANT_HOME=/opt/Apache/ant

export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin
Připojení síťových disků
Konfigurace síťových disků se nachází v souboru /etc/fstab, který se dá upravit opět pouze jen pod rootem. Formát nastavení je popsán v tomto dokumentu na ABC Linuxu

Pro každého bude nastavení asi specifické – uvedu tedy jen hrubý příklad jednoho mého řádku z fstab:
//sitova-cesta-windows$ /mnt/mojeSlozka cifs credentials=/root/.credentials,rw,users,dir_mode=0777,file_mode=0666
Kde do souboru /root/.credentials (samozřejmě editovatelné jen pod rootem) je nutné uvést přihlašovací jméno a heslo do Windows domény:
username=login
password=heslo
Změna klávesnice
Tohle je velmi zajímavá kapitolka. Je dost možné, že nebudete potřebovat řešit to co já, ale pro mě to byla otázka zásadního charakteru. Byl jsem zvyklý na rozložení české QWERTY klávesnice ve Windows a Ubuntu má pro tento typ klávesnice trošku jiné rozložení znaků na vedlejších klávesách. Jednalo se především o pravou část klávesnice, kde jsem byl přes pravý alt (popř. shift) schopný a zvyklý psát tak důležité znaky jako: []{}$’/?

Naštěstí se dá (asi jako snad cokoliv) v Ubuntu s jistým úsilím změnit i rozložení klávesnice. Velmi zajímavě je to popsáno v článku: Klávesnice v X na ABC Linuxu

Klíčovými poznatky z tohoto článku je existence programu xev, který vám zobrazí veškeré informace o událostech z klávesnice a myši. Kódy kláves, které se vám vrátí při stisku požadovaných kombinací musíte porovnat s mapovacím souborem, který se u mne nenacházel na cestě /etc/X11/xkb/keycodes/xfree86, jak uvádí článek, ale zde: /usr/share/X11/xkb/keycodes/xfree86. Tam najdete reálný kód, který je potřeba pro definici rozložení kombinace skutečně uvádět (např. AC01, AD03 atp.).

Posledním kouskem skládanky byl potom v mém případě soubor /usr/share/X11/xkb/symbols/cz (opět editovatelné jako root), kam jsem pro mapování klávesnice QWERTY doplnil:
partial alphanumeric_keys
xkb_symbols „qwerty“ {
include „cz(basic)“
name[Group1]= „Czechia – qwerty“;

key { [ equal, percent, minus, underscore ] };
key { [ dead_acute, dead_caron, equal, plus ] };
key { [ z, Z, degree, NoSymbol ] };
key { [ y, Y, NoSymbol, NoSymbol ] };
key { [ minus, underscore, slash, question ] };
key { [ uacute, slash, bracketleft, braceleft ] };
key { [ parenright, parenleft, bracketright, braceright ] };
};
Tady snad dodám jen to, že pořadí znaků hraje roli – první je jednoduchý stisk klávesy, druhý je se Shiftem, třetí s Altem, čtvrtý s Alt+Shift. Oříšek někdy je také zjistit název znaku, který máme pro mapování použít. Zde mi trochu posloužil tento soubor:

Seznam symbolů X-windows

+ Wiki článek o diakritických znamenkách:

Popis diakritických znamének v angličtině

Pak už jen restart X-windows a je to.
Migrace Putty klíče z Windows
Pokud máte existující Putty klíč na Windows, pravděpodobně budete chtít jej přenést i na Ubuntu, abyste nemuseli na všech dalších serverech vyměňovat autorizovaný public key. Postup zprovoznění klíče z putty na linuxu je tento (díky Honzovi Čejpovi):

Pozn.:Krok 1 a 2 lze možná vynechat a exportovat klíč do open ssh již na Windows. Nezkoušel jsem. Puttygen.exe -> menu conversions -> exportOpenSSH key

instalace putty na linuxu:
sudo apt-get install putty

převod ppk klíče na open ssh:
puttygen muj_klic.ppk -O private-openssh -o id_dsa

převod open ssh kliče na klíč stravitelný pro linux
# Copy your private key to ~/.ssh/id_dsa (or id_rsa).
# Create the RFC 4716 version of the public key using ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
# Convert the RFC 4716 version of the public key to the OpenSSH format:
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub

Instalace aplikací
Instalace aplikací na Ubuntu probíhá dvěma různými způsoby. Již poměrně dlouhou dobu existuje na Linuxu něco jako AppStore – tj. místo, kde můžete vyhledávat aplikace instalovat je odtud. Kromě vlastní instalace se vám systém také stará o automatickou aktualizaci těchto aplikací, když vyjde nová verze. Tento AppStore máte v Ubuntu k dispozici v menu Aplikace -> Centrum Softwaru pro Ubuntu (lidštější verze) nebo v Systém -> Správa -> Správce balíků Synaptic (trošku systémovější), což jsou jen grafické nadstavby řádkového programu apt-get.

Druhou variantou je ruční instalace balíku staženého přímo z Internetu. V této variantě si už musíte potřebnou aktualizaci zajistit sami, ale zase máte vše pod kontrolou.

Perfektní popis najdete v tomto článku:
http://www.psychocats.net/ubuntu/installingsoftware

K výše uvednému pouze doplním – pokud instalujete ručně .deb balíky z internetu, budete potřebovat těmto balíkům po stažení nastavit oprávnění pro spuštění aktuálním uživatelem.

Pokud se vám nebude dařit najít software přes Centrum softwaru, může to být tím, že vám chybí v seznamu zdrojů software ten správný repozitář. Oproti jiným AppStorům nemá Linux jediného dodavatele repozitáře, ale tolik, kolik sami budete chtít a kolika budete důvěřovat. Bližší informace jsou popsány opět v následujícím článku:
http://www.psychocats.net/ubuntu/sources

V nejnovějším Ubuntu v menu položka zmiňovaná v článku chybí, ale lze je buď zapnout, nebo se na nastavení zdrojů dostat přes Centrum software -> menu Úpravit -> položka Zdroje software …

Třetí – výše nezmíněnou možností je instalace nativních Windows aplikací přes Wine (bridge na Windows rozhraní). V současné době je Wine už docela vyladěný a pokud máte nějakou svou Win aplikaci, bez které se nelze obejít – může te ji zkusit rozběhat právě přes Wine.
Aplikace po spuštění, další tweaky
Aplikace po spuštění se dají lehce editovat přímo z menu Systém -> Předvolby -> Aplikace spouštěné při přihlášení. Další pro mne nutnou záležitostí je přehození ikonek minimalizovat, maximalizovat, zavřít z levé části okna do pravé, tak, jak je to na Windows. K tomu poslouží utilitka nazvaná Ubuntu Tweak, která v části Nastavení GNOME umožňuje podobné legrácky nastavit.

Pokud nemáte extra optimalizovanou grafickou kartu, mohou vám připadat odezvy systému zpomalené. Jednoduše to lze otestovat tak, že nastavíte terminálu paměť třeba na 500 řádek a pustíte aplikační server s logováním do konzole. Pokud chytnete za scrollbar a při listování historií se vám překreslování obsahu „trhá“, máte stejný problém jako já. Osobně potřebuji, aby systém reagoval pružně a proto jsem vypnul veškeré grafické serepetičky přes Systém, -> Předvolby -> Vzhled -> Efekty vzhledu: Žádné. Ještě budete možná potřebovat vypnout tzv. compositing v Metacity, které mě osobně systém celý zpomalilo. Postup pro zapnutí / vypnutí compositingu najdete zde:
http://yoho.wordpress.com/2008/04/28/enabling-metacity-compositing-manager/
Má sada vybraných aplikací
Komunikace
S instalací Ubuntu již máte předinstalované 3-komunikační aplikace – Empathy (IM klient), Evolution (E-mail), Gwibber (společenské sítě jako je Twitter / FB atd.). Kromě Evolution jsem si lehce zvyknul. Evolution měla v mém případě poměrně fatální problémy s naším firemním Exchange a díky pravidelném zamrzávání procesů na pozadí byla v podstatě nepoužitelná.

Po nějaké době experimentování jsem naštěstí objevil velmi životaschopné řešení v podobě kombinace Thunderbirdu (na který jsem zvyklý z domácího počítače) a utilitky zvané DavMail. DavMail emuluje protokoly IMAP / POP3, SMTP, HTTP CalDAV a LDAP proti webovém rozhraní Exchange (OWA). Je to aplikace napsaná v Javě a její instalace je jednoduchá. Konfigurace Thunderbidu je také velmi dobře popsaná a plně zpřístupní všechny požadované funkce – tj. příjem a odesílání pošty, kalendář a kontakty. V mém případě trvala nějakou dobu úvodní incializace, kdy si Thunderbird stahoval archív pošty z Exchange, ale teď jej už mohu plnohodnotně používat.

Ve firmě také používáme VOIP telefonii a pro tyto účely se ukázal jako plně funkční (i přes VPN) a velmi uživatelsky přívětivý program QuteCom.
IDE – Nastavení IntelliJ Idea
IDE je pro mne jedna z nejdůležitějších věcí, které v systému musí OPRAVDU fungovat na jedničku. S IntelliJ Ideou nebyl žádný problém po stažení se jednoduše nainstaluje a v podstatě ihned běhá. Jediné věci, se kterými je třeba si pohrát, jsou fonty – byl jsem zvyklý na vzhled Idey na Windows a proto jsem chtěl dosáhnout stejného vzhledu i na Linuxu. Problém je ten, že na Ubuntu chybí klíčový font Tahoma a Monospaced font vypadá odlišně. Nejvěrnějšího zobrazení jsem dosáhl stažením a nainstalováním Tahoma fontu a nastavením následujících hodnot v Settings IntelliJ Idea:

Appearance -> Override default fonts by (not recommended): Tahoma, font-size: 11
Editor -> Colors & Fonts -> Font -> DejaVu Sans Mono, font-size: 15

Taktéž je vhodné časem rozšířit limit pro počet sledovaných souborů:
http://confluence.jetbrains.net/display/IDEADEV/Inotify+Watches+Limit

A to je vše, Idea pracuje jako víno.
Souborový manažer
Po nějaké době experimentování jsem se ustálil na používání tuxCommandera, který se snaží kopírovat základní funkce TotalCommanderu (ten je prostě jen těžko nahraditelným pomocníkem). TuxCommander je ale velmi rychlý a po instalaci rozšíření (modules) dokáže mapovat jako disky celou řadu protokolů (SFTP, WebDAV atd.), což je něco co jsem skutečně potřeboval. Bohužel TotalCommander jen tak něco nedokáže nahradit – zkoušel jsem ho chvíli provozovat pod Wine, ale neosvědčilo se mi to – pro Linux je skutečně nutný nativní souborový manažer (s rychlým proklikem do terminálu, možností nastavování oprávnění atd. atd.).
Síť
V Ubuntu je možné standardně provozovat Putty, která byla na Windowsech naprostou nutností – nicméně nativní SSH klient v Ubuntu je pro většinu operací víc než dostačující. Tj. teď už bych si život bez Putty dokázal bez problémů představit. Tunelování se přes řádkového klienta provádí následovně (tunelujeme port hostname:3306 na localhost:13306):
ssh -L 13308:127.0.0.1:3308 username@hostname
V Ubuntu není potřeba ani žádný dodatečný nástroj jako je PageAnt – manažer pro správu klíčů je již defaultně nahozený a hledá privátní klíče ve vaší složce /home/username/.ssh (Systém -> Převolby -> Hesla a šifrovací klíče). Jen jsem měl trošku problém s klíčem vygenerovaným Windows Putty exportovaným v OpenSSH formátu, který používal DES-EDE3-CBC šifru. Nějak se mi nepodařilo jej vůči našim serverům zprovoznit – musel jsem vygenerovat nový klíč šifrovaný AES-128-CBC (se kterým zase měl nějaký problém Maven, takže aktuálně používám oba).
WebDAV
Zprovoznění WebDAV je velmi jednoduché – stačí k tomu nainstalovat balík DAVFS2 a do fstab přidat něco takovéhoto:
sudo mkdir /mnt/vasAdresar
sudo gedit /etc/fstab

#přidejte řádek
http://server:port/slozka /mnt/vasAdresar davfs rw,noauto,user 0 0

#a pak už jen mount
sudo mount /mnt/vasAdresar
Detailnější popis instalace (s drobnými odchylkami od toho mého) je zde a zde.
Databáze
Námi nejčastěji používaná databáze – MySql se dá instalovat přímo z balíku, včetně administračních nástrojů (Administrator, Query Browser). Pro správu používám buď Navicat (bundlovaný s Wine), na který jsem byl zvyklý z Windows, nebo přenositelný (Java) nástroj SQuirrel SQL. V této oblasti jsem žádné omezení nezaznamenal.
Utilitky urychlující práci
Nepostradatelnou utilitkou je více položková schránka (clipboard) – tou se mi na Linuxu osvědčila utilitka Parcellite . Druhou důležitou utilitkou je Gnome.DO, které mi více méně dokázalo nahradit mé milované Launchy pro Windows.
Textové procesory
Místo MS Office se obecně používá Open Office, který je na většinu standardní práce dostačující. Kolegové pro extrémní formy Office dokumentů startují VirtualBox nebo VMWare s Windowsy a instalovaným Officem – některé zrůdnosti se v Open Office rozumně zobrazit nedají. Jako textový editor je poměrně rychlý a jednoduchý Leafpad, pro složitější soubory pak používám předinstalovaný GEdit.
Grafika
Po všech pokusech si na Gimp prostě nemůžu zvyknout a proto jsem se uchýlil k Pinta Image Editoru, který mi v mnohém připomíná můj oblíbený free image editor pro windows Paint.NET. Je s ním jednoduchá práce ve stadardním okením a toolbarovým rozložením a načte / uloží všechny základní formáty grafických souborů. Taktéž Google Picasa je v klonu pro Linux, což je v podstatě vše, co ke svému životu potřebuji.
Audio
Audio je v podstatě bez chybičky. Na editaci audia lze použít mnou dlouho používané a oblíbené Audacity. Pro přehrávání potom integrovaný Rhytmbox, který mne velmi překvapil v možnostech integrace s hudebními servery typu LastFM, Jamendo a Magnatune (které už dlouho znám a používám) a také možnostmi DAAP protokolu.
Závěr
V tomto článku se budu snažit schraňovat další poznatky, které na své cestě s Ubuntu v budoucnu zaznamenám – nemá smysl si je schraňovat někde v soukromém texťáku na disku, když by mohly pomoci třeba i někomu dalšímu.
Poznámky k instalaci Ubuntu 11.10
Zajímavé odkazy, které mi přišly vhod:

http://blog.smejdil.cz/2009/07/problem-s-domenou-local-v-ubuntu-904.html

http://askubuntu.com/questions/18903/how-to-enable-trim

http://www.ubuntuvibes.com/2011/10/things-you-should-do-after-installing.html

http://blog.dutchworks.nl/2011/01/09/make-intellij-idea-behave-properly-in-linux-docks/

http://jank.blog.root.cz/2011/10/23/tipy-na-upravu-prostredi-unity-v-ubuntu-11-10-oneiric-ocelot/