Daniel Kolman

Jak jsem přešel na Linux a MonoDevelop

| 3 comments |

Má trpělivost se smrtící kombinací Vista+Visual Studio+ReSharper byla vyčerpána. Mám pocit, že neustále čekám alespoň na jeden prvek z této trojice. Můj upgrade na Windows7 je přitom minimálně tři měsíce daleko, a navíc si nejsem úplně jistý, že to přinese zásadní zrychlení. Rozhodl jsem se proto vyzkoušet Linux+MonoDevelop, pro začátek na nějakém malém testovacím projektíku.

Pro člověka odkojeného Windows je těžké se v bziliónu Linuxových distribucí a balíčkovacích systémů vyznat. Navíc nemám žádný hardware, který bych mohl obětovat na pokusy, takže potřebuju bootovat z 4GB USB flašky, kam se musí vejít vše. Instalace musí být persistentní, abych při rebootu nepřišel o data. Později jsem zjistil, že také potřebuju, abych mohl bez problémů (a bez kompilace jádra:-) nainstalovat nejnovější verzi Mono a MonoDevelop, to totiž na Linuxu není samozřejmost. O tom za chvíli.

Nejdříve jsem si pohrával s Live CD ze kterých jsem vytvořil persistentní Live USB flašku. Zkoušel jsem Slax, než mi došlo že na KDE asi MonoDevelop nepoběží. Pak jsem si hrál s Ubuntu a openSUSE, ale stále to nebylo ono. Live CD openSUSE vytvořené podle tohoto návodu z neznámých příčin záhadně zamrzalo. Ubuntu běželo bez problémů, jenže jsem s překvapením zjistil, že na něj nenainstaluju MonoDevelop 2.2, protože balíčky nejsou aktuální. Rozhodl jsem se proto vrátit k openSUSE, pro které poskytují zkompilované balíčky přímo tvůrci MonoDevelop. Systém jsem tentokrát nainstaloval přímo na USB flašku, jako kdyby to byl hard disk. Tady je postup:
  1. Pro jistotu jsem z notebooku vyndal hard disk, abych ho omylem nesmazal.
  2. Nabootoval jsem z openSUSE Live CD (verze 11.2 GNOME x86_64) a zvolil instalaci.
  3. V konfiguraci disk partition jsem smazal swap a ponechal jen jednu linuxovou partition. Momentálně swap nepotřebuju, protože Linux využívá zatím pouze 600MB paměti, i když používám tři desktopy a Firefox. Až budu swap potřebovat, stejně ho kvůli opotřebení nebudu chtít mít na flašce, ale na hard disku.
  4. Nainstaloval jsem systém a provedl aktualizace přes GUI nástroj. V tuto chvíli už na flašce nezbývalo moc volného místa, tak jsem odinstaloval hry, cizojazyčné lokalizace a OpenOffice. Díky tomu jsem získal kompletně nainstalovaný systém a 1GB volného místa.
  5. Do Package Repositories jsem přidal Mono (http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.2) a MonoDevelop (http://download.opensuse.org/repositories/Mono/openSUSE_11.2/)
  6. Nainstaloval jsem balíček mono-complete s aktuální verzí Mono 2.6.1. Při tom jsem musel změnit providera všech ostatních mono balíčků (protože mono už je na openSUSE nainstalované, ale z jiného zdroje). Balíčkovací mechanismus mi přijde docela robustní, sám hledá závislosti a hlídá jejich porušení, takže změnu providera vám nabídne automaticky.
  7. Nakonec jsem přidal balíček monodevelop verze 2.2.

Příjemné zjištění bylo, že MonoDevelop už v sobě obsahuje podporu ASP.NET MVC, takže stačilo založit novou solution podle šablony a Hello World byl hotový. Podobně jako VS má MonoDevelop ořezaný vývojářský web server, takže stačilo zmáčknout F5 a projekt se spustil.

Musím přiznat, že jsem si myslel že to bude jednodušší. Zvlášť úvodní tápání mezi distribucemi bylo dost zdlouhavé a chvílema jsem už začal pochybovat, jestli je možné to všechno na flašku dostat. Je to samozřejmě tím že jsem linux-lama, a doufám že se to bude časem zlepšovat;) Na druhou stranu, teď mám (skoro) kompletní vývojářské prostředí a můžu se konečně pustit do předělání tohoto blogu, jak už několik let plánuju.

Nyní přichází nejdůležitější rozhodnutí ze všech: Jak se bude můj blogovací engine jmenovat?

(3) Comments

  1. rarous said...

    Přeji hodně štěstí. Já sice neměl s instalací Mona a MonDevelopu na OS X žádné problémy, ale na ty jsem narážel později při snaze o práci s ním. Defcto jsem se nepřenesl přes nemožnost nastavit si formátování zdrojového kódu (mám rád závorky na konci řádku) a absence kvalitních barevných schémat (mám rád tmavé, ale jedno dodávané mne neoslovilo). Udělat si vlastní jde podle nějakých templatů, který byly někde na nedostupný SVNce.

    Pak se mi moc nelíbilo jakým způsobem se vyvolávají Refactoring příkazy (přes submeny v kontetové nabídce) a jejich malý počet. Zkrátka jsem moc navykl na CodeRush a Refactor! Pro :)

    Nadruou stranu klobouk dolu před podporou ASP.NET MVC v MD, ta je takřka totožná s tou ve VS včetně T4 CustomTemplates.

    28. prosince 2009 v 7:28
  2. Borek said...

    Jsem zvědav, jak se bude tvůj switch vyvíjet. Vzhledem k tomu, že tvé věčné čekání skoro určitě nebylo způsobeno Vistama (rozdíl mezi Vistama a Win7 je na lepším stroji velmi malý), jde hlavně asi o výměnu vývojových prostředí, a to mě zajímá.

    Hodně štěstí!

    28. prosince 2009 v 14:00
  3. Jirka bianco Vágner said...

    Tady ma nekdo ale OPRAVDU HODNE moc volneho casu. :)

    29. prosince 2009 v 15:09

Leave a Response