Днес исках да си инсталирам една игра 😀 но ми трябваха малко Windows библиотеки. Реших да ги попълня с winetricks и когато стартирах скрипта получих следното ведро съобщение –

$ ./winetricks
 ------------------------------------------------------
 wineserver not found!
 ------------------------------------------------------

Доста забавна ситуация и същевременно крайно очевидна. Winetricks не намира wineserver binary файлът.  Общо взето нормално понеже ползвам x64 Debian Linux и пакетите който ползвам не са от официалния източник. Решението е елементарно в 2 стъпки

1. Намираме пътя на wineserver

$ locate wineserver
/usr/lib32/wine-unstable/wineserver
/usr/share/man/de.UTF-8/man1/wineserver.1.gz
/usr/share/man/fr.UTF-8/man1/wineserver.1.gz
/usr/share/man/man1/wineserver.1.gz

И създаваме символична врзка към /usr/local/bin/wineserver където въпросния скрипт търси файлът по подразбиране но в моя случай е /usr/lib32/wine-unstable/wineserver

#ln -s /usr/lib32/wine-unstable/wineserver /usr/local/bin/wineserver

В последните няколко дни водим разговор с един приятел сис админ тип яйцето или кокошката – Debian vs Slackware. Както обикновено когато дебатираме с него няма победител аз си обичам моята религия той неговата, и двамата имаме достатъчно причини да го правим. Но покрай всичките бръщолевци ми отново се запитах защо. Защо използвам Debian на сървъри десктоп и декстоп машини ( дори си бях пуснал chroot на android-а ми). Тук се сещам и за твъдението на един мой бивш шеф:

Знаеш ли кой е най добрият Linux?

– Този който си успял да си инсталираш пръв.

В интерес на истината Slackware 9 мисля че беше първата ми дистрибуция която сам си инсталирах 😀 Но нещата се променят. Та ето някой от моите причини защо Debian:

1. Защото се поддържа лесно – зависимостите между пакетите. Дам това е отявления минус на slackware или плюс зависи как е погледнато. Зависимостите между пакетите е „екстра“ която улеснява кардинално инсталацията поддръжката и менаджирaнаето на една система. Когато искам да си инсталирам php не е необходимо да знам дали имам и останалите библиотеки необходими за да запали нормално. Спомням си един случай преди няколко години когато инсталирах на един web server и всички мъки докато попълня зависимостите да се компилират необходимите модули по php-то. Дам от друга страна получаваш двоичен пакет компилиран с някакви опции които може да не работят правилно за твоя случай или пък просто да липсва необходими опции. Еми за тия случай си има apt-get source дърпаш си сорска от който е билднат пакета плюс всички кръпки които са сложени. Модификации и модерации винаги са възможни по личен вкус и усмотрение.

2. Защото има netinstall cd – минимален image с основни пакети. Малко се чудя това колко би било полезно за нови потребители но за всеки системен администратор минималната инсталация си е преимущество. Инсталират се по малко пакети по малко сервизи. Изгражда се системата почти от 0. Така имаш сигурността че ще работи точно по начина по които очакваш – ни по малко ни повече. Преди няколко дни исках да сваля slackware cd1 за x64 система и бях неприятно изненадан че съществува само dvd вариант на х64 варианта им. Само за х86 има опция да се свали cd1 досататъчно за минимална инсталация. Не че е болка за умиране по време на инсталацията ще се изберат необходимите пакети но все пак цяло dvd за скелета на един сървър 😀 WTF??? Debian netinstall image ти предлага възможността пак за избор на какви допълнителни пакети да се издърпат от интернет като позитива е, че ще бъдат последната версия в огледалото stable/testing/unstable.

3. Защото има супер елементарен инсталатор – конзолата не е плашеща. Тук нещата са малко 50/50 защото и Slackware също е с изключително лесен инсталатор с единственото изключение което е ключово разделянето на диска се налага да се напишат малко команди в конзолата което е плашещо за някои потребители. fdisck или cfdisk не са толкова страшни но факта че не е вградено в инсталатора само по себе си е недостатък. Веднъж създаден дяла после се форматира от инсталатора но до тогава трябва да си почел малко. При Debian нещата са улеснени в това отношение по подразбиране инсталатора ти помага за това , но ако държиш да процеса да го контролираш по от близо винаги можеш да извикаш shell-а.

4. Защото debian екипа са отворени към странни идеи. Хммм някой слакър тука би ми се изсмял грубо, че такива изрудщини като кръстосан linux с BSD ядро не е необходим, но пък защо не. Хората преди са се смеели и на твърдението че, земята е кръгла. 😀 Ако не се лъжа Debian работи на  най- голяма колекция от хардуер 😉

5. По подразбиране не е с KDE – много мразим KDE. А както е всеизвестно Патрик е голям радетел на KDE и винаги това е била подразбиращата се графична среда в Slack-а. Още при първата ми среща с KDE разбрах че това не е моя тип GUI освен всичко друго много ми напомняше и за Windows

http://www.youtube.com/watch?v=10k3JwZUXlc

Debian OpenLogo

Миналия ден един приятел ми писа че имал проблем с Debian server-a си. По точно не му пазел сессиите повече от 30 минути независимо колко се настройва session.gc_maxlifetime. В общи линии проблема е че Debian са решили да пренапишат поведението на сесиите като вместо garbage collector-а се стартира един cron на всяка 9-та и 39-та минута който почиства старите сесии. Тои се намира в /etc/cron.d/php5

като цяло семпличък скрипт който стартира от своя страна  /usr/lib/php5/maxlifetime и в него се намира променливата колко време да е живота на кукито който е 1440 секунди или 24 минути 😉 От тук нататък има 2 варианта или да се спре крон-а и по този начин се прекратява автоматичното чистене което може по късно да се пренастрой от php.ini или направо в самия скрипт да се промени продължителноста на живота на сесиите с променливата max. Аз лично предпочитам втория вариант. Доста по чист е като цяло но има и недостатък – ако се презапише файлът промените ни ще се изгубят което си е неприятен факт.

ps. Сега като се замисля вероятно ако се дефинира друго място където да се съхранява сеиината информация чрез самото php би трябвало да излезе извън обхвата на скрипта и по този начин да се използва пак по нормален сесията без да прекъсва грубо.

ini_set('session.gc_maxlifetime', 14400);
 ini_set('session.gc_probability', 1);
 ini_set('session.gc_divisor', 100);
 session_save_path(APP_PARENT_DIR . '/sessions');

Enhanced by Zemanta