<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JustNick&#039;s Corner &#187; Linux</title>
	<atom:link href="http://just4nick.net/blog/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://just4nick.net/blog</link>
	<description># cat /dev/input &#62;&#62; random_thoughts</description>
	<lastBuildDate>Thu, 01 Dec 2011 19:17:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>УЕП (UES) от Infonotary на Fedora 16 и Firefox 7/8</title>
		<link>http://just4nick.net/blog/archives/1111</link>
		<comments>http://just4nick.net/blog/archives/1111#comments</comments>
		<pubDate>Tue, 22 Nov 2011 22:06:53 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Infonotary]]></category>
		<category><![CDATA[tips & trics]]></category>
		<category><![CDATA[UES]]></category>
		<category><![CDATA[Инфонотари]]></category>
		<category><![CDATA[УЕП]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=1111</guid>
		<description><![CDATA[От дълго време се каня да си извадя електронен подпис, но все го отлагах. Напоследък обаче се стигна до момент, в който това стана наложително. Понеже естествено, ще го ползвам под Linux направих кратко проучване първо онлайн, а след това и сред познати. Имаше положителни мнения както за Инфонотари, така и за Банксервиз. Аз се [...]]]></description>
			<content:encoded><![CDATA[<p>От дълго време се каня да си извадя електронен подпис, но все го отлагах. Напоследък обаче се стигна до момент, в който това стана наложително. Понеже естествено, ще го ползвам под Linux направих кратко проучване първо онлайн, а след това и сред познати. Имаше положителни мнения както за Инфонотари, така и за Банксервиз. Аз се спрях на първите по две причини &#8211; на пръв поглед по-добрата документация, и нещо доста по-тривиално, по-големият брой офиси на Инфонотари, в случая имаше такъв точно срещу моя офис.</p>
<p>От това, което прочетох се надявах да ми се падне Omnikey четец, но в избраният от мен офис на ЦКБ такива нямаше &#8211; единствената опция беше ACS. Понеже напоследък съм мързелив, а и ми трябваше спешно рискувах и го взех. Последното след попълването на един тон документация от момичето в офиса, което беше леко неориентирано, изглежда нямаше кой знае какъв опит с издаване на сертификати, но с малко помощ от приятели (с цената от две телефонни обаждания) все пак се справи.</p>
<p>И така, за мен остана да изчакам края на работния ден, да се прибера и да видя какво ще се получи. Ами смело мога да заявя, че четецът работи out of the box с <strong>ccid</strong> драйверът по подразбиране.</p>
<p>pcscd сървисът е стартиран:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>Nick<span style="color: #000000; font-weight: bold;">@</span>Pegasus ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ systemctl status pcscd.service
pcscd.service - PC<span style="color: #000000; font-weight: bold;">/</span>SC Smart Card Daemon
Loaded: loaded <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>systemd<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>pcscd.service; disabled<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Active: active <span style="color: #7a0874; font-weight: bold;">&#40;</span>running<span style="color: #7a0874; font-weight: bold;">&#41;</span> since Tue, <span style="color: #000000;">22</span> Nov <span style="color: #000000;">2011</span> <span style="color: #000000;">20</span>:<span style="color: #000000;">56</span>:<span style="color: #000000;">10</span> +0200; 2h 9min ago
Main PID: <span style="color: #000000;">8758</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>pcscd<span style="color: #7a0874; font-weight: bold;">&#41;</span>
CGroup: <span style="color: #007800;">name</span>=systemd:<span style="color: #000000; font-weight: bold;">/</span>system<span style="color: #000000; font-weight: bold;">/</span>pcscd.service
└ <span style="color: #000000;">8758</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>pcscd <span style="color: #660033;">-f</span></pre></div></div>

<p>Исталирани са следните пакети:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>Nick<span style="color: #000000; font-weight: bold;">@</span>Pegasus ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ yum list pcsc-<span style="color: #000000; font-weight: bold;">*</span>
Installed Packages
pcsc-lite.x86_64                        1.7.4-<span style="color: #000000;">6</span>.fc16                  <span style="color: #000000; font-weight: bold;">@</span>fedora
pcsc-lite-ccid.x86_64                   1.4.5-<span style="color: #000000;">1</span>.fc16                  <span style="color: #000000; font-weight: bold;">@</span>fedora
pcsc-lite-devel.x86_64                  1.7.4-<span style="color: #000000;">6</span>.fc16                  <span style="color: #000000; font-weight: bold;">@</span>fedora
pcsc-lite-libs.x86_64                   1.7.4-<span style="color: #000000;">6</span>.fc16                  <span style="color: #000000; font-weight: bold;">@</span>fedora</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>Nick<span style="color: #000000; font-weight: bold;">@</span>Pegasus ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ yum whatprovides pcsc-lite
pcsc-lite-1.7.4-<span style="color: #000000;">6</span>.fc16.x86_64 : PC<span style="color: #000000; font-weight: bold;">/</span>SC Lite smart card framework and applications
Repo        : fedora</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>Nick<span style="color: #000000; font-weight: bold;">@</span>Pegasus ~<span style="color: #7a0874; font-weight: bold;">&#93;</span>$ yum whatprovides pcsc-lite-ccid
pcsc-lite-ccid-1.4.5-<span style="color: #000000;">1</span>.fc16.x86_64 : Generic USB CCID smart card reader driver
Repo        : fedora</pre></div></div>

<p>Ето и как се разпознава самият четец (dmesg output):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">787202.753102</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: new full speed USB device number <span style="color: #000000;">13</span> using ehci_hcd
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">787202.841264</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: New USB device found, <span style="color: #007800;">idVendor</span>=072f, <span style="color: #007800;">idProduct</span>=90cc
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">787202.841267</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: New USB device <span style="color: #c20cb9; font-weight: bold;">strings</span>: <span style="color: #007800;">Mfr</span>=<span style="color: #000000;">1</span>, <span style="color: #007800;">Product</span>=<span style="color: #000000;">2</span>, <span style="color: #007800;">SerialNumber</span>=<span style="color: #000000;">0</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">787202.841269</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: Product: CCID USB Reader
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">787202.841270</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: Manufacturer: ACS
<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">789782.064529</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> usb <span style="color: #000000;">1</span>-1.5.4: USB disconnect, device number <span style="color: #000000;">13</span></pre></div></div>

<p>И малко по-подробно (lsusb -vd):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">lsusb <span style="color: #660033;">-vd</span> 072f:90cc
&nbsp;
Bus 001 Device 015: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Device Descriptor:
  bLength                <span style="color: #000000;">18</span>
  bDescriptorType         <span style="color: #000000;">1</span>
  bcdUSB               <span style="color: #000000;">1.10</span>
  bDeviceClass            <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>Defined at Interface level<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  bDeviceSubClass         <span style="color: #000000;">0</span>
  bDeviceProtocol         <span style="color: #000000;">0</span>
  bMaxPacketSize0         <span style="color: #000000;">8</span>
  idVendor           0x072f Advanced Card Systems, Ltd
  idProduct          0x90cc ACR38 SmartCard Reader
  bcdDevice            <span style="color: #000000;">1.00</span>
  iManufacturer           <span style="color: #000000;">1</span> ACS
  iProduct                <span style="color: #000000;">2</span> CCID USB Reader
  iSerial                 <span style="color: #000000;">0</span>
  bNumConfigurations      <span style="color: #000000;">1</span>
  Configuration Descriptor:
    bLength                 <span style="color: #000000;">9</span>
    bDescriptorType         <span style="color: #000000;">2</span>
    wTotalLength           <span style="color: #000000;">93</span>
    bNumInterfaces          <span style="color: #000000;">1</span>
    bConfigurationValue     <span style="color: #000000;">1</span>
    iConfiguration          <span style="color: #000000;">0</span>
    bmAttributes         0x80
      <span style="color: #7a0874; font-weight: bold;">&#40;</span>Bus Powered<span style="color: #7a0874; font-weight: bold;">&#41;</span>
    MaxPower              100mA
    Interface Descriptor:
      bLength                 <span style="color: #000000;">9</span>
      bDescriptorType         <span style="color: #000000;">4</span>
      bInterfaceNumber        <span style="color: #000000;">0</span>
      bAlternateSetting       <span style="color: #000000;">0</span>
      bNumEndpoints           <span style="color: #000000;">3</span>
      bInterfaceClass        <span style="color: #000000;">11</span> Chip<span style="color: #000000; font-weight: bold;">/</span>SmartCard
      bInterfaceSubClass      <span style="color: #000000;">0</span>
      bInterfaceProtocol      <span style="color: #000000;">0</span>
      iInterface              <span style="color: #000000;">0</span>
      ChipCard Interface Descriptor:
        bLength                <span style="color: #000000;">54</span>
        bDescriptorType        <span style="color: #000000;">33</span>
        bcdCCID              <span style="color: #000000;">1.00</span>
        nMaxSlotIndex           <span style="color: #000000;">0</span>
        bVoltageSupport         <span style="color: #000000;">7</span>  5.0V 3.0V 1.8V
        dwProtocols             <span style="color: #000000;">3</span>  <span style="color: #007800;">T</span>=<span style="color: #000000;">0</span> <span style="color: #007800;">T</span>=<span style="color: #000000;">1</span>
        dwDefaultClock       <span style="color: #000000;">4000</span>
        dwMaxiumumClock      <span style="color: #000000;">4000</span>
        bNumClockSupported      <span style="color: #000000;">0</span>
        dwDataRate          <span style="color: #000000;">10752</span> bps
        dwMaxDataRate      <span style="color: #000000;">344100</span> bps
        bNumDataRatesSupp.      <span style="color: #000000;">0</span>
        dwMaxIFSD             <span style="color: #000000;">247</span>
        dwSyncProtocols  00000000
        dwMechanical     00000000
        dwFeatures       00010030
          Auto clock change
          Auto baud rate change
          TPDU level exchange
        dwMaxCCIDMsgLen       <span style="color: #000000;">271</span>
        bClassGetResponse      00
        bClassEnvelope         00
        wlcdLayout           none
        bPINSupport             <span style="color: #000000;">0</span>
        bMaxCCIDBusySlots       <span style="color: #000000;">1</span>
      Endpoint Descriptor:
        bLength                 <span style="color: #000000;">7</span>
        bDescriptorType         <span style="color: #000000;">5</span>
        bEndpointAddress     0x81  EP <span style="color: #000000;">1</span> IN
        bmAttributes            <span style="color: #000000;">3</span>
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x <span style="color: #000000;">8</span> bytes
        bInterval              <span style="color: #000000;">16</span>
      Endpoint Descriptor:
        bLength                 <span style="color: #000000;">7</span>
        bDescriptorType         <span style="color: #000000;">5</span>
        bEndpointAddress     0x02  EP <span style="color: #000000;">2</span> OUT
        bmAttributes            <span style="color: #000000;">2</span>
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x <span style="color: #000000;">64</span> bytes
        bInterval               <span style="color: #000000;">0</span>
      Endpoint Descriptor:
        bLength                 <span style="color: #000000;">7</span>
        bDescriptorType         <span style="color: #000000;">5</span>
        bEndpointAddress     0x82  EP <span style="color: #000000;">2</span> IN
        bmAttributes            <span style="color: #000000;">2</span>
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x <span style="color: #000000;">64</span> bytes
        bInterval               <span style="color: #000000;">0</span>
Device Status:     0x0000
  <span style="color: #7a0874; font-weight: bold;">&#40;</span>Bus Powered<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>Моделът на картата ми е <strong>T&amp;S DS/2048 (L)</strong>, което налага инсталирането на два допълнителни пакета <a title="Infonotary yum repo" href="http://wiki.infonotary.com/wiki/%D0%98%D0%B7%D0%BF%D0%BE%D0%BB%D0%B7%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0%D1%82%D0%B0_%D0%BD%D0%B0_InfoNotary">от хранилището на Инфонотари</a>, a именно &#8211; <strong>bit4id-ipki</strong> и <strong>infonotary-scardmanager</strong>.</p>
<p>Остава само настройката на browser-а, който в случая е firefox. Сертификатът може да се инсталира директно от линка изпратен от Инфонотари чрез e-mail, а за улеснение на конфигурацията може да се добави следният firefox add-on &#8211; <a title="Infonotary Firefox AddOn" href="https://addons.mozilla.org/en-US/firefox/addon/infonotary-configurator-for-mo/">InfoNotary Configurator for Mozilla</a>, . Ако при отварянето на <a href="https://gate.infonotary.com/diagnostics/dumpcert.cgi">тестовият линк</a> (тестът може да бъде направен и от <strong>Preferences</strong> &#8211;&gt; <strong>Signature Test</strong> на добавката на Инфонотари), отговорът е Data Accepted, то всичко е наред и можем да подписваме на воля.</p>
<h4>Допълнителна информация:</h4>
<p>Загубих доста време да разбера какъв е точният модел на четеца. Както може да се види от output-а по-горе то се разпознава като ACR38. На капачето му обаче е изписано ACR38T, а според <a href="http://www.acs.com.hk/drivers/eng/TSP_ACR38DT_v6.01.pdf">една от техническите спецификации на сайта на производителя</a>, а и според външният му вид, то това е ACR38DT. Според същата спецификация, въпросният четец работи с ccid, само ако е с firmware 1.12, и явно моят е такъв. В противен случай вероятно ще се наложи инсталирането на <a href="http://www.acs.com.hk/index.php?pid=drivers">vendor драйверите</a>.</p>
<p>Ето как изглежда на практика:</p>
<p><a href="http://just4nick.net/blog/wp-content/uploads/2011/11/ACR38T_ACR38DT.jpg" rel="lightbox[1111]"><img class="aligncenter size-medium wp-image-1124" title="ACR38T_ACR38DT" src="http://just4nick.net/blog/wp-content/uploads/2011/11/ACR38T_ACR38DT-300x200.jpg" alt="" width="300" height="200" /></a></p>
<h4>Полезни линкове (дадени са и в текста по-горе):</h4>
<ol>
<li><a href="http://wiki.infonotary.com/wiki/%D0%98%D0%B7%D0%BF%D0%BE%D0%BB%D0%B7%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BA%D0%B2%D0%B0%D0%BB%D0%B8%D1%84%D0%B8%D1%86%D0%B8%D1%80%D0%B0%D0%BD_%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B5%D0%BD_%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81_%D0%B2_Mozilla_Firefox_%D0%B7%D0%B0_Linux">Използване на квалифициран електронен подпис в Mozilla Firefox за Linux</a></li>
<li><a href="http://wiki.infonotary.com/wiki/%D0%98%D0%B7%D0%BF%D0%BE%D0%BB%D0%B7%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0%D1%82%D0%B0_%D0%BD%D0%B0_InfoNotary">Използване на хранилищата на InfoNotary</a></li>
<li><a title="Infonotary Firefox AddOn" href="https://addons.mozilla.org/en-US/firefox/addon/infonotary-configurator-for-mo/">InfoNotary Configurator for Mozilla</a></li>
<li><a href="http://wiki.infonotary.com/wiki/%D0%98%D0%BD%D1%81%D1%82%D0%B0%D0%BB%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80%D0%B8_%D0%B7%D0%B0_%D1%87%D0%B5%D1%82%D0%B5%D1%86_%D0%B8_%D1%81%D0%BC%D0%B0%D1%80%D1%82_%D0%BA%D0%B0%D1%80%D1%82%D0%B0_%D0%B2_Linux">Инсталация на драйвери за четец и смарт карта в Linux</a></li>
</ol>
<p><del>Умишлено не посочвам линк към &#8222;Инсталация на драйвери за четец и смарт карта в Linux&#8220;. Въпреки, че статията е относително актуална, то в нея има някои неточности, които могат да доведат до объркване. Освен това е и доста Ubuntu ориентирана. Но това, не е кой знае какъв проблем, освен че имената на пакетите във Fedora са други.  Проблемът е друг, че по начинът, по който е написан краят на статията, може да се остане с впечатлението, че е нужно да се инсталира и OpenSC. <strong>Това не е необходимо!</strong> OpenSC, въпреки че разпознава правилно четеца, зарежда и използва CNS драйвера. </del> Освен това, ACS липсва от <a href="http://www.opensc-project.org/opensc/wiki/SupportedHardware">списъкa с поддържаният от проекта хардуер</a>, но пък е споменат в <a href="http://pcsclite.alioth.debian.org/ccid_extended_apdu.html">списъкът с поддържани устройства от CCID</a>.</p>
<p>И така в резюме: ACS ACR38DT от Инфонотари работи под Fedora 16 с Firefox 7, без да е необходимо да се инсталират допълните драйвери за картовия четец.</p>
<p>Рдакция /24.11.2011/: Статията във wiki-то на Инфонотари е редактирана, и е доста по-точна в момента. Така че включвам и линк-а към нея.</p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/1111/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 16 Verne</title>
		<link>http://just4nick.net/blog/archives/1105</link>
		<comments>http://just4nick.net/blog/archives/1105#comments</comments>
		<pubDate>Sat, 12 Nov 2011 17:03:35 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Verne]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=1105</guid>
		<description><![CDATA[Във вторник излезе 16-тата версия на Fedora с кодово название Verne. За разлика от предната 15-та, този път има доста промени, подобрения и нови неща, като може би най-отличителните са Grub2, както и продължаващата миграция от SysV към systemd.  Ето и някои други заслужаващи внимание новости: Chrony заменя ntpd като основен метод за синхронизация на [...]]]></description>
			<content:encoded><![CDATA[<p>Във вторник излезе 16-тата версия на Fedora с кодово название Verne. За разлика от предната 15-та, този път има доста промени, подобрения и нови неща, като може би най-отличителните са Grub2, както и продължаващата миграция от SysV към systemd.  Ето и някои други заслужаващи внимание новости:</p>
<ul>
<li>Chrony заменя ntpd като основен метод за синхронизация на време</li>
<li>ext4 отдавна е част от дистрибуцията, но сега ext4 драйвера се използва за монтирането и на ext2 и ext3 дялове.</li>
<li>1000 System accounts – преместване на границата между потребителски и системни акаунти от UID/GID 500, на UID/GID 1000</li>
<li>Gnome 3.2</li>
<li>KDE 4.7</li>
<li>Много подобрения и добавени приложения свързани със виртуализацията и облачните услуги</li>
</ul>
<p>Екипът на Fedora прави хубав жест с решението да посвети Verne  на големият Денис Ричи.</p>
<p>Повече подробности могат да бъдат намерени в<a href="http://docs.fedoraproject.org/en-US/Fedora/16/html/Release_Notes/index.html"> Release Notes</a>, <a href="https://fedoraproject.org/wiki/Releases/16/FeatureList">Feature List</a> и <a href="http://lists.fedoraproject.org/pipermail/announce/2011-November/003011.html">официалният анонс</a>.</p>
<p>По стара лична традиция upgrade-нах от 15-та към 16-та версия посредством yum. Въпреки че не е сред официално препоръчваните начини за update, си остава най-удобният за мен. Процедурата е следната:</p>
<p>Импортиране на ключа:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpm <span style="color: #660033;">--import</span> https:<span style="color: #000000; font-weight: bold;">//</span>fedoraproject.org<span style="color: #000000; font-weight: bold;">/</span>static<span style="color: #000000; font-weight: bold;">/</span>A82BA4B7.txt</pre></div></div>

<p>Update на yum:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum update yum</pre></div></div>

<p>Изчистване на кеш-а:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum clean all</pre></div></div>

<p>И самия update:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #660033;">--releasever</span>=<span style="color: #000000;">16</span> <span style="color: #660033;">--disableplugin</span>=presto distro-sync</pre></div></div>

<p>Имаше малко проблеми със счупени зависимости, та се наложи преди това да премахна:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yum <span style="color: #660033;">-y</span> remove kino, libnih, libmtp-hal</pre></div></div>

<p>След това всичко мина гладко и можеше да се насладя на добрата работа на <a href="https://fedoraproject.org/wiki/F16_Artwork">Artwork тима</a>.</p>
<p style="text-align: center;"><a href="https://fedoraproject.org/wiki/File:F16-alpha-wallpaper-wide.png" rel="lightbox[1105]"><img class="aligncenter" title="Fedora 16 Verne" src="https://fedoraproject.org/w/uploads/thumb/5/5a/F16-alpha-wallpaper-normalish.png/750px-F16-alpha-wallpaper-normalish.png" alt="Verne" width="450" height="360" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/1105/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kannel daily svn snapshot rpm</title>
		<link>http://just4nick.net/blog/archives/1078</link>
		<comments>http://just4nick.net/blog/archives/1078#comments</comments>
		<pubDate>Fri, 28 Oct 2011 14:17:48 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[In English]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[epel]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[kannel]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=1078</guid>
		<description><![CDATA[Currently the current kannel version in epel is 1.4.3 /which according to kannel.org is the latest stable release/. However if you want to use sqlbox and smppbox, the only option is to use svn. So I decided to build my custom kannel rpm by using the source tarball from the daily svn snapshot. My kannel.spec [...]]]></description>
			<content:encoded><![CDATA[<p>Currently the current kannel version in epel is 1.4.3 /which according to kannel.org is the latest stable release/. However if you want to use sqlbox and smppbox, the only option is to use svn. So I decided to build my custom kannel rpm by using the<a href="http://www.kannel.org/download/kannel-snapshot.tar.gz"> source tarball from the daily svn snapshot</a>. My <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/kannel.spec_.txt">kannel.spec</a> is based on the file from the <a href="http://pkgs.fedoraproject.org/gitweb/?p=kannel.git;a=blob;f=kannel.spec;h=244c33d9a18d9295f42520222683b042d786040a;hb=el6">epel rpm for 1.4.3 version</a>. The changes are minimal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">---</span> kannel.epel.spec    <span style="color: #000000;">2011</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">29</span>:<span style="color: #000000;">01.000000000</span> +0300
+++ kannel.spec <span style="color: #000000;">2011</span>-<span style="color: #000000;">10</span>-<span style="color: #000000;">28</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">31</span>:<span style="color: #000000;">48.000000000</span> +0300
<span style="color: #000000; font-weight: bold;">@@</span> -<span style="color: #000000;">1</span>,<span style="color: #000000;">18</span> +<span style="color: #000000;">1</span>,<span style="color: #000000;">18</span> <span style="color: #000000; font-weight: bold;">@@</span>
 Summary: WAP and SMS gateway
 Name: kannel
-Version: 1.4.3
-Release: <span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>?dist<span style="color: #7a0874; font-weight: bold;">&#125;</span>
+Version: 1.5.0
+Release: <span style="color: #000000;">20111028</span><span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>?dist<span style="color: #7a0874; font-weight: bold;">&#125;</span>
 License: BSD
 Group: System Environment<span style="color: #000000; font-weight: bold;">/</span>Daemons
 URL: http:<span style="color: #000000; font-weight: bold;">//</span>www.kannel.org<span style="color: #000000; font-weight: bold;">/</span>
-Source0: http:<span style="color: #000000; font-weight: bold;">//</span>www.kannel.org<span style="color: #000000; font-weight: bold;">/</span>download<span style="color: #000000; font-weight: bold;">/%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>version<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>gateway-<span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>version<span style="color: #7a0874; font-weight: bold;">&#125;</span>.tar.bz2
+Source0: http:<span style="color: #000000; font-weight: bold;">//</span>www.kannel.org<span style="color: #000000; font-weight: bold;">/</span>download<span style="color: #000000; font-weight: bold;">/</span>kannel-snapshot.tar.gz
 Source1: kannel.logrotate
 Source2: kannel.init
 Source3: kannel.conf
 Source4: gw-config
 <span style="color: #666666; font-style: italic;"># TODO: a corresponding configure.in patch could be upstreamable?</span>
-Patch0: gateway-1.4.3-ssldetect.patch
-Patch1: gateway-1.4.1-typesh.patch
+<span style="color: #666666; font-style: italic;">#Patch0: gateway-1.4.3-ssldetect.patch</span>
+<span style="color: #666666; font-style: italic;">#Patch1: gateway-1.4.1-typesh.patch</span>
 BuildRoot: <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_tmppath<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>name<span style="color: #7a0874; font-weight: bold;">&#125;</span>-<span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>version<span style="color: #7a0874; font-weight: bold;">&#125;</span>-<span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>release<span style="color: #7a0874; font-weight: bold;">&#125;</span>-root
 BuildRequires: <span style="color: #c20cb9; font-weight: bold;">bison</span>, byacc, <span style="color: #c20cb9; font-weight: bold;">flex</span>, ghostscript
 BuildRequires: libxml2-devel, openssl-devel, zlib-devel, pcre-devel
<span style="color: #000000; font-weight: bold;">@@</span> -<span style="color: #000000;">69</span>,<span style="color: #000000;">9</span> +<span style="color: #000000;">69</span>,<span style="color: #000000;">9</span> <span style="color: #000000; font-weight: bold;">@@</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">%</span>prep
-<span style="color: #000000; font-weight: bold;">%</span>setup <span style="color: #660033;">-q</span> <span style="color: #660033;">-n</span> gateway-<span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>version<span style="color: #7a0874; font-weight: bold;">&#125;</span>
-<span style="color: #000000; font-weight: bold;">%</span>patch0 <span style="color: #660033;">-p1</span> <span style="color: #660033;">-b</span> .ssldetect
-<span style="color: #000000; font-weight: bold;">%</span>patch1 <span style="color: #660033;">-p1</span> <span style="color: #660033;">-b</span> .typesh
+<span style="color: #000000; font-weight: bold;">%</span>setup <span style="color: #660033;">-q</span> <span style="color: #660033;">-n</span> kannel-snapshot
+<span style="color: #666666; font-style: italic;">#%patch0 -p1 -b .ssldetect</span>
+<span style="color: #666666; font-style: italic;">#%patch1 -p1 -b .typesh</span>
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>__chmod<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">-x</span> gwlib<span style="color: #000000; font-weight: bold;">/</span>html-entities.def <span style="color: #666666; font-style: italic;"># for -debuginfo, as of 1.4.3</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">@@</span> -<span style="color: #000000;">147</span>,<span style="color: #000000;">6</span> +<span style="color: #000000;">147</span>,<span style="color: #000000;">7</span> <span style="color: #000000; font-weight: bold;">@@</span>
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_bindir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>seewbmp
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_bindir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>wmlsc
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_bindir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>wmlsdasm
+<span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_bindir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>decode_emimsg
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_sbindir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/*</span>
 <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_mandir<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">man</span>?<span style="color: #000000; font-weight: bold;">/*</span>
 <span style="color: #000000; font-weight: bold;">%</span>attr<span style="color: #7a0874; font-weight: bold;">&#40;</span>0750,kannel,kannel<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">%</span><span style="color: #c20cb9; font-weight: bold;">dir</span> <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>_var<span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>kannel<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">@@</span> -<span style="color: #000000;">164</span>,<span style="color: #000000;">6</span> +<span style="color: #000000;">165</span>,<span style="color: #000000;">9</span> <span style="color: #000000; font-weight: bold;">@@</span></pre></div></div>

<p>I assumed that the two patches applied to version 1.4.3 are not necessary, because they probably are part of the svn code.</p>
<p>There was a build error on the first run:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">RPM build errors:
Installed <span style="color: #7a0874; font-weight: bold;">&#40;</span>but unpackaged<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #c20cb9; font-weight: bold;">file</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>s<span style="color: #7a0874; font-weight: bold;">&#41;</span> found: <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>decode_emimsg</pre></div></div>

<p>so I had to add &#8222;%{_bindir}/decode_emimsg&#8220; in the %files section.<br />
The spec file expect the availability of the following files in the SOURCE directory: <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/kannel.logrotate.txt">kannel.logrotate</a>, <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/kannel.init_.txt">kannel.init</a>, <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/kannel.conf_.txt">kannel.conf</a>, <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/gw-config.txt">gw-config</a></p>
<p>The kannel.spec file can be found <a href="http://just4nick.net/blog/wp-content/uploads/2011/10/kannel.spec_.txt">here</a>.<br />
The command used to build the rpm is:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">rpmbuild <span style="color: #660033;">-ba</span> kannel.spec</pre></div></div>

<p>Another way to do the trick:<br />
<a href="http://www.blogalex.com/archives/23">http://www.blogalex.com/archives/23</a></p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/1078/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Default to open: The story of open source and Red Hat</title>
		<link>http://just4nick.net/blog/archives/1064</link>
		<comments>http://just4nick.net/blog/archives/1064#comments</comments>
		<pubDate>Mon, 29 Aug 2011 21:52:28 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[free culture]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=1064</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="500" height="400"><param name="movie" value="http://www.youtube.com/v/vhYMRtqvMg8?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vhYMRtqvMg8?version=3" type="application/x-shockwave-flash" width="500" height="400" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/1064/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Какво се случва с CentOS?</title>
		<link>http://just4nick.net/blog/archives/1014</link>
		<comments>http://just4nick.net/blog/archives/1014#comments</comments>
		<pubDate>Wed, 27 Jul 2011 22:09:09 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[Scientific Linux]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=1014</guid>
		<description><![CDATA[Това е въпрос, който доста хора избрали тази дистрибуция си задаваха докато чакаха излизането на CentOS 6, което се забави повече от половин година след излизането на RHEL 6.0. Е, в крайна сметка го дочакахме &#8211; CentOS 6 стана факт на 10-ти юли. Каква обаче бе причината за това забавяне така и не стана ясно. [...]]]></description>
			<content:encoded><![CDATA[<p>Това е въпрос, който доста хора избрали тази дистрибуция си задаваха докато чакаха излизането на CentOS 6, което се забави повече от половин година след излизането на RHEL 6.0. Е, в крайна сметка го дочакахме &#8211; <a href="http://lists.centos.org/pipermail/centos-announce/2011-July/017645.html">CentOS 6 стана факт на 10-ти юли</a>. Каква обаче бе причината за това забавяне така и не стана ясно. Изписа се доста по темата,  както в специализираните Linux издания и <a href="http://www.centos.org/modules/newbb/viewtopic.php?topic_id=29147&amp;start=0">форуми, така и в centos-devel мейл листа</a>, както и по блогове на ползватели и разработчици, но до голяма степен повечето от казаното бяха догадки и предположения. Отдавна се каня да драсна и аз някои размисли по въпроса, та дойде и този светъл момент. Няма да се спирам подробно на това, как и защо е възникнал, или <a href="http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.0#head-fd17ce219dc1479e4222ece7e9cf668019a0f148">какво представлява CentOS</a>. Просто ще напиша какво не ми хареса на мен в цялата история.</p>
<h2>Малко откъслечни мисли</h2>
<p>Разбира се основното е забавянето от 242 дни. Както на самия CentOS 6.0 така и на Security ъпдейтите за 5.6, които също &#8222;излипсваха&#8220; за известно време в началото на 2011.  Основната теза защитавана от разработчиците на дистрибуцията е липсата на ресурс и лошо стечение на обстоятелствата (излизането на RHEL 5.6 и 6.0 за относително кратък период). В общи линии нещата бяха представени така &#8211; <a href="http://www.arrfab.net/blog/?p=292">Трябваше да избираме кое да направим първо, ние избрахме 5.6, а Scientific Linux 6.0, за това те ни изпревариха</a>. Другата основна догадка сред community-то бе, че <a href="http://www.channelregister.co.uk/2011/03/04/red_hat_twarts_oracle_and_novell_with_change_to_source_code_packaging/">стъпките предприети от RedHat с идеята да затруднят Oracle в копирането на RHEL и предлагането на support за него</a>, са попречили сериозно и на <a href="http://centosnow.blogspot.com/2011/03/how-new-kernel-srpm-distribution.html">CentOS но разработчиците точно и ясно неколкократно отрекоха това да е проблем</a>. Модифицираните от екипа на CentOS пакети са 11, премахнатите от CentOS пакети са 10 и е добавен 1, което както и да го гледаме е нищожно малко. Това не трябва да създава впечатлението обаче, че реализирането на CentOS е работа за 2 дни. Всеки пакет се build-ва от srpm-а предоставен от RedHat, така че несъмнено е времеемко и изисква адекватно внимание. Въпросът е в това, че пускането на предния major release (5.0) е отнело само 28 дни. Какво толкова се е променило през изминалите от тогава 4 години. Никой не знае. Дори и хора, <a href="http://dag.wieers.com/blog/centos-devel-ml-feels-like-devnull">като Dag Wieers не са наясно</a>  (всеки ползващ RedHat дериват би трябвало да е наясно кой е той). В това и за мен се крие основния проблем &#8211; липсата на информация. Имаше неколкократни запитвания в мейл листа и официалния форум, имаше и предложения за евентуална помощ, но единственото, което се имаше насреща бяха уклончиви и на моменти дори арогантни отговори, в повечето случаи дори не от пряко ангажирани с процеса хора. Чат пат се включваше и <a href="http://www.karan.org/blog/index.php/2011/05/19/rhel-6-1-and-centos-6-x">Karanbir Singh</a>, но без някаква кой знае каква конкретика.  Това е нещото, което ме подразни много повече от самото забавяне (за щастие нямах планирани машини за пускане в production, освен една миграция, която спокойно можех да забавя). Да не говорим че се започнаха дори и подигравки, когато се случеше поредното &#8222;побутване&#8220; с 2 седмици на полу-официалния <a href="http://qaweb.dev.centos.org/qa/calendar">schedule</a> (още по-лошото е, че дори нямаше history, просто се сменяше датата).</p>
<p>Силно се надявам хората стоящи зад проекта сериозно да се замислят над това случващото се и да поемат подадената им ръка, без да подхождат с високомерие, каквото на моменти се демонстрираше. Когато си вдигнал летвата толкова високо, нивото се поддържа доста трудно, особено когато ресурсът е ограничен, но е по-добре да кажеш че се нуждаеш от помощ, отколкото системно да отклоняваш адекватни въпроси с фрази от рода &#8222;Не бързайте, ще стане&#8220;.</p>
<h2>Графично представяне, с което да обоснова горното</h2>
<p>Инспириран от <a href="http://www.linux-bg.org/cgi-bin/y/index.pl?page=news&amp;key=436911458">тази статия</a> и наличната информация във Wikipedia и announce мейл листите на RedHat и дистрибуциите базирани на него направих сравнителна табличка и графика за забавянията (в дни) спрямо Redhat release-ите (започва от 4.4, понеже тогава е първият Oracle Unbreakable release).</p>
<p>За пресмятането на разликата в дните ползвах ето този one-line perl script:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">perl <span style="color: #339933;">-</span>e <span style="color: #ff0000;">'use Date::Calc qw(Delta_Days); printf &quot;%d\n&quot;, Delta_Days(first_date,second_date);'</span></pre></div></div>

<p>където датите са във формат &#8211; &#8222;yyyy,mm,dd&#8220;</p>
<p>Таблицата:</p>
<table border="0" frame="VOID" rules="NONE" cellspacing="0">
<colgroup>
<col width="150" />
<col width="143" />
<col width="120" />
<col width="124" />
<col width="173" />
<col width="173" />
<col width="155" />
<col width="173" /></colgroup>
<tbody>
<tr>
<td align="CENTER" bgcolor="#000080" width="150" height="20"><strong><span style="font-size: small;">Release Version</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="143"><strong><span style="font-size: small;">CentOS delay</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="120"><strong><span style="font-size: small;">SL delay</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="124"><strong><span style="font-size: small;">Oracle delay</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="173"><strong><span style="font-size: small;">RHEL release date </span></strong></td>
<td align="CENTER" bgcolor="#000080" width="173"><strong><span style="font-size: small;">CentOS release date</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="155"><strong><span style="font-size: small;">SL release date</span></strong></td>
<td align="CENTER" bgcolor="#000080" width="173"><strong><span style="font-size: small;">Oracle release date</span></strong></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.4</span></td>
<td align="CENTER"><span style="font-size: small;">20</span></td>
<td align="CENTER"><span style="font-size: small;">60</span></td>
<td align="CENTER"><span style="font-size: small;">77</span></td>
<td align="CENTER"><span style="font-size: small;">08/10/06</span></td>
<td align="CENTER"><span style="font-size: small;">08/30/06</span></td>
<td align="CENTER"><span style="font-size: small;">10/09/06</span></td>
<td align="CENTER"><span style="font-size: small;">10/26/06</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.5</span></td>
<td align="CENTER"><span style="font-size: small;">16</span></td>
<td align="CENTER"><span style="font-size: small;">55</span></td>
<td align="CENTER"><span style="font-size: small;">16</span></td>
<td align="CENTER"><span style="font-size: small;">05/01/07</span></td>
<td align="CENTER"><span style="font-size: small;">05/17/07</span></td>
<td align="CENTER"><span style="font-size: small;">06/25/07</span></td>
<td align="CENTER"><span style="font-size: small;">05/17/07</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.6</span></td>
<td align="CENTER"><span style="font-size: small;">30</span></td>
<td align="CENTER"><span style="font-size: small;">117</span></td>
<td align="CENTER"><span style="font-size: small;">24</span></td>
<td align="CENTER"><span style="font-size: small;">11/16/07</span></td>
<td align="CENTER"><span style="font-size: small;">12/16/07</span></td>
<td align="CENTER"><span style="font-size: small;">03/12/08</span></td>
<td align="CENTER"><span style="font-size: small;">12/10/07</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.7</span></td>
<td align="CENTER"><span style="font-size: small;">51</span></td>
<td align="CENTER"><span style="font-size: small;">41</span></td>
<td align="CENTER"><span style="font-size: small;">12</span></td>
<td align="CENTER"><span style="font-size: small;">07/24/08</span></td>
<td align="CENTER"><span style="font-size: small;">09/13/08</span></td>
<td align="CENTER"><span style="font-size: small;">09/03/08</span></td>
<td align="CENTER"><span style="font-size: small;">08/05/08</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.8</span></td>
<td align="CENTER"><span style="font-size: small;">95</span></td>
<td align="CENTER"><span style="font-size: small;">71</span></td>
<td align="CENTER"><span style="font-size: small;">8</span></td>
<td align="CENTER"><span style="font-size: small;">05/18/09</span></td>
<td align="CENTER"><span style="font-size: small;">08/21/09</span></td>
<td align="CENTER"><span style="font-size: small;">07/28/09</span></td>
<td align="CENTER"><span style="font-size: small;">05/26/09</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">4.9</span></td>
<td align="CENTER"><span style="font-size: small;">14</span></td>
<td align="CENTER"><span style="font-size: small;">64</span></td>
<td align="CENTER"><span style="font-size: small;">8</span></td>
<td align="CENTER"><span style="font-size: small;">02/16/11</span></td>
<td align="CENTER"><span style="font-size: small;">03/02/11</span></td>
<td align="CENTER"><span style="font-size: small;">04/21/11</span></td>
<td align="CENTER"><span style="font-size: small;">02/24/11</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5</span></td>
<td align="CENTER"><span style="font-size: small;">28</span></td>
<td align="CENTER"><span style="font-size: small;">51</span></td>
<td align="CENTER"><span style="font-size: small;">104</span></td>
<td align="CENTER"><span style="font-size: small;">03/14/07</span></td>
<td align="CENTER"><span style="font-size: small;">04/12/07</span></td>
<td align="CENTER"><span style="font-size: small;">05/04/07</span></td>
<td align="CENTER"><span style="font-size: small;">06/26/07</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.1</span></td>
<td align="CENTER"><span style="font-size: small;">25</span></td>
<td align="CENTER"><span style="font-size: small;">70</span></td>
<td align="CENTER"><span style="font-size: small;">19</span></td>
<td align="CENTER"><span style="font-size: small;">11/07/07</span></td>
<td align="CENTER"><span style="font-size: small;">12/02/07</span></td>
<td align="CENTER"><span style="font-size: small;">01/16/08</span></td>
<td align="CENTER"><span style="font-size: small;">11/26/07</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.2</span></td>
<td align="CENTER"><span style="font-size: small;">34</span></td>
<td align="CENTER"><span style="font-size: small;">36</span></td>
<td align="CENTER"><span style="font-size: small;">12</span></td>
<td align="CENTER"><span style="font-size: small;">05/21/08</span></td>
<td align="CENTER"><span style="font-size: small;">06/24/08</span></td>
<td align="CENTER"><span style="font-size: small;">06/26/08</span></td>
<td align="CENTER"><span style="font-size: small;">06/02/08</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.3</span></td>
<td align="CENTER"><span style="font-size: small;">69</span></td>
<td align="CENTER"><span style="font-size: small;">58</span></td>
<td align="CENTER"><span style="font-size: small;">8</span></td>
<td align="CENTER"><span style="font-size: small;">01/20/09</span></td>
<td align="CENTER"><span style="font-size: small;">03/31/09</span></td>
<td align="CENTER"><span style="font-size: small;">03/19/09</span></td>
<td align="CENTER"><span style="font-size: small;">01/28/09</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.4</span></td>
<td align="CENTER"><span style="font-size: small;">49</span></td>
<td align="CENTER"><span style="font-size: small;">63</span></td>
<td align="CENTER"><span style="font-size: small;">7</span></td>
<td align="CENTER"><span style="font-size: small;">09/02/09</span></td>
<td align="CENTER"><span style="font-size: small;">10/21/09</span></td>
<td align="CENTER"><span style="font-size: small;">11/04/09</span></td>
<td align="CENTER"><span style="font-size: small;">09/09/09</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.5</span></td>
<td align="CENTER"><span style="font-size: small;">44</span></td>
<td align="CENTER"><span style="font-size: small;">49</span></td>
<td align="CENTER"><span style="font-size: small;">7</span></td>
<td align="CENTER"><span style="font-size: small;">03/31/10</span></td>
<td align="CENTER"><span style="font-size: small;">05/14/10</span></td>
<td align="CENTER"><span style="font-size: small;">05/19/10</span></td>
<td align="CENTER"><span style="font-size: small;">04/07/10</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">5.6</span></td>
<td align="CENTER"><span style="font-size: small;">85</span></td>
<td align="CENTER"><span style="font-size: small;">159</span></td>
<td align="CENTER"><span style="font-size: small;">9</span></td>
<td align="CENTER"><span style="font-size: small;">01/13/11</span></td>
<td align="CENTER"><span style="font-size: small;">04/08/11</span></td>
<td align="CENTER"><span style="font-size: small;">06/21/11</span></td>
<td align="CENTER"><span style="font-size: small;">01/22/11</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">6</span></td>
<td align="CENTER"><span style="font-size: small;">242</span></td>
<td align="CENTER"><span style="font-size: small;">113</span></td>
<td align="CENTER"><span style="font-size: small;">93</span></td>
<td align="CENTER"><span style="font-size: small;">11/10/10</span></td>
<td align="CENTER"><span style="font-size: small;">07/10/11</span></td>
<td align="CENTER"><span style="font-size: small;">03/03/11</span></td>
<td align="CENTER"><span style="font-size: small;">02/11/11</span></td>
</tr>
<tr>
<td align="CENTER" height="20"><span style="font-size: small;">6.1</span></td>
<td align="CENTER"><span style="font-size: small;">60</span></td>
<td align="CENTER"><span style="font-size: small;">60</span></td>
<td align="CENTER"><span style="font-size: small;">13</span></td>
<td align="CENTER"><span style="font-size: small;">05/19/11</span></td>
<td align="CENTER"><span style="font-size: small;">TBD</span></td>
<td align="CENTER"><span style="font-size: small;">TBD</span></td>
<td align="CENTER"><span style="font-size: small;">06/01/11</span></td>
</tr>
</tbody>
</table>
<p>И графично представяне на горното (клик за по-голям размер):</p>
<p style="text-align: center;"><a href="http://just4nick.net/blog/wp-content/uploads/2011/07/CentOS_delay.png" rel="lightbox[1014]"><img class="aligncenter size-medium wp-image-1040" title="CentOS_delay" src="http://just4nick.net/blog/wp-content/uploads/2011/07/CentOS_delay-300x222.png" alt="" width="300" height="222" /></a></p>
<p>От друг ъгъл и с малко transparency (клик за по-голям размер):</p>
<p><a href="http://just4nick.net/blog/wp-content/uploads/2011/07/CentOS_delay1.png" rel="lightbox[1014]"><img class="aligncenter size-medium wp-image-1048" title="CentOS_delay1" src="http://just4nick.net/blog/wp-content/uploads/2011/07/CentOS_delay1-300x217.png" alt="" width="300" height="217" /></a></p>
<p>Както се вижда основно от графиките, забавянията напоследък са постоянни и при CentOS бележат регрес, чиито апогей бе забавянето на 6-цата. Докато при SL и особено Oracle се отбелязва прогрес. Не знам колко е голям екипа на Oracle, естествено на тях им и плащат за това, но не може да им се отрече че що се касае до време се справят добре. SL е горе-долу на едно ниво с CentOS, с изключение на последните няколко release-а, където бие по точки. Техният тим е <a href="http://www.scientificlinux.org/about/credit">обявен на сайта им</a>, и никак не е голям. Те също са на заплата в CERN, но по стечение на обстоятелствата мисля, че дистрибуцията не им е сред топ приоритетите. Паралелно си поддържат и около 9000 сървъра и 3000 декстоп станции по <a href="http://www.facebook.com/CERNjobs/posts/162501230474997">техни думи.</a></p>
<p>Та въпроса, какво става с CentOS си виси на дневен ред и си го задавам не само аз:</p>
<p>Matt Simmons е написал много добър пост темата <a href="http://www.standalone-sysadmin.com/blog/2011/07/centos-6-great-but-for-how-long/">тук</a>. Понеже нямах физическата възможност да следя всеки threads в CentOS-devel мейл листа (по груби спомени бяха няколко хиляди) преди малко попаднах на ето <a href="http://lists.centos.org/pipermail/centos/2011-May/111541.html">този мейл там</a>, в което е написано следното /което и донякъде отговаря на въпроса за забавянето само по себе си/:</p>
<blockquote>
<pre>This is NOT the case with 6.0.  First off, we can not use any of the
existing infrastructure to build on because we can not build on a CentOS
4 or CentOS 5 machine because of the changing of MD5SUM in the RPMs
themselves.

Secondly, the distribution will not build on the Beta (much like the 3.x
release and UNLIKE the 4.0 and 5.0 releases).  Not only that, but
upstream used many "non released" packages to build on ... packages we
can not see or get.

Now, because of those things and because we choose to stop work on 6.0
to build out 5.6 and 4.9, the 6.0 release is late.</pre>
</blockquote>
<p>Но няколко мейла по-натам <a href="http://lists.centos.org/pipermail/centos/2011-May/111852.html">Dag Wieers прави доста ценно включване</a>, което и обяснява неговото оттегляне, както чувството за безизходица обзело крайните потребители след отговори от рода на &#8222;Ще стане, когато стане&#8220;, и объркването <a href="http://lists.centos.org/pipermail/centos/2011-May/111652.html">от липсата на заявка за помощ от безспорно &#8222;силната&#8220; CentOS общност</a>:</p>
<blockquote>
<pre>On Mon, 16 May 2011, Johnny Hughes wrote:

&gt;<em> It will be released when it is released, if you don't like it then leave. </em>
Before I leave this list let me take you back about 7 years to the
Whitebox mailinglist. You may not remember that Whitebox had a list of
issues of its own, no timely updates, no community effort, lack of good
communication. It was mostly a one-man-effort.

And the people on that list who were not pleased, included Johnny and
Karanbir. And it's striking (and ironic) how similar the discussions went
7 years ago. Johnny said:

   [WBEL-users] WBEL Vs Centos ? :-S
   <a href="http://beau.org/pipermail/whitebox-users/2004-December/004761.html">http://beau.org/pipermail/whitebox-users/2004-December/004761.html</a>

   "If timely updates are not a key factor for you, then WBEL is a great
   distro.  If timely updates are the most important thing you consider
   about the distro you want, then WBEL might not be a fit for you.  That
   is all I have ever said ... and I have never said it meanly."

or:

   [WBEL-users] WBEL Vs Centos ? :-S
   <a href="http://beau.org/pipermail/whitebox-users/2004-December/004740.html">http://beau.org/pipermail/whitebox-users/2004-December/004740.html</a>

   "I just think people should not have the expectation the WBEL is
   community operated, it is not.  It's NOT like debian or gentoo where
   others can get involved.  I know, I tried really hard to do so many
   times.

Karanbir said:

   [WBEL-users] WBEL ...dead?
   <a href="http://beau.org/pipermail/whitebox-users/2004-December/004684.html">http://beau.org/pipermail/whitebox-users/2004-December/004684.html</a>

   "Be a lil difficult to sell that to the IT Manager / CTO : Hang tight
   dude, its comming. Anytime now."

or:

   [WBEL-users] WBEL ...dead?
   <a href="http://beau.org/pipermail/whitebox-users/2004-December/004709.html">http://beau.org/pipermail/whitebox-users/2004-December/004709.html</a>

   "Why ? the other RHEL recompiles dont have this 'its coming, hang on'
   attitude do they ?

   If there is a security issue out there, you can put in a fairly good
   idea as to when its possible to deploy with them. Whats the scene with
   WBEL ?"

The only difference I see is that back then Whitebox had only a fraction
of users, and even less using it for critical mission, while nowadays
people rely even more on timely security updates and releases coming from
CentOS. And people expect to help and contribute to the process to make
that happen.

Which, contrary to what is stated now, was an essential part in the start
and growth of the CentOS project.</pre>
</blockquote>
<h2>Какви са опциите?</h2>
<ul>
<li>оставаме си с CentOS</li>
<li>миграция към SL</li>
<li>ползване на support и съответно RHEL</li>
<li>ползване на Fedora (няма long time support)</li>
<li>ползване на друга популярна сървърна дистрибуция (не- Redhat / RPM базирана)</li>
</ul>
<p>Моят избор за момента е да остана с CentOS &#8211; е, освен ако не почна работа във фирма, която си плаща за RHEL :)  С CentOS все пак са и доста <a href="http://w3techs.com/technologies/details/os-linux/all/all">други</a> (в това число Facebook, Amazon EC2, Tumblr). Но понеже горчивия привкус от тази история остава, при първа въмозжност ще хвърля един поглед на SL.</p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/1014/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CentOS 6.0 remote install via VNC</title>
		<link>http://just4nick.net/blog/archives/994</link>
		<comments>http://just4nick.net/blog/archives/994#comments</comments>
		<pubDate>Fri, 15 Jul 2011 16:15:20 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[tips & trics]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=994</guid>
		<description><![CDATA[Отдавна ми предстоеше една нова инсталация, но реших да изчакам излизането на CentOS 6. Голямо чакане падна, но в началото на седмицата чудото се случи. А днес успях да отделя и време за въпросната машина. За да не я вземам при мен, реших да заложа на netinstall директно в сървърното, но за съжаление Anaconda нещо [...]]]></description>
			<content:encoded><![CDATA[<p>Отдавна ми предстоеше една нова инсталация, но реших да изчакам излизането на CentOS 6. Голямо чакане падна, но в началото на седмицата чудото се случи. А днес успях да отделя и време за въпросната машина. За да не я вземам при мен, реших да заложа на netinstall директно в сървърното, но за съжаление Anaconda нещо не се разбра с конзолата на ATEN. Не ми се занимаваше да debug-вам какъв е проблема, a и нямаше как да ползвам text install понеже в CentOS 6 той е <a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-guimode-x86.html#id3192729">доста орязан</a> и не може да се правят следните неща:</p>
<div>
<blockquote>
<ul>
<li lang="en-US">
<div>configuring advanced storage methods such as LVM, RAID, FCoE, zFCP, and iSCSI.</div>
</li>
<li lang="en-US">
<div>customizing the partition layout</div>
</li>
<li lang="en-US">
<div>customizing the bootloader layout</div>
</li>
<li lang="en-US">
<div>selecting packages during installation</div>
</li>
<li lang="en-US">
<div>configuring the installed system with firstboot</div>
</li>
</ul>
</blockquote>
</div>
<div>По този начин се наложи да се насоча към друг вариант &#8211; отдалечена инсталация посредством VNC, <a href="http://fedoraproject.org/wiki/Anaconda/Options">опция която е възможна с Anaconda</a>. За тази цел обаче е нужно да имаме текущо инсталирана операционна система на машината, на която искаме да инсталираме. За мое щастие аз имах. И така:</div>
<div>
<ul>
<li><strong>Логваме се на машината и сваляме initrd и vmlinuz за новата версия, в случая 6.</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>boot
curl http:<span style="color: #000000; font-weight: bold;">//</span>centos.skknet.net<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">6.0</span><span style="color: #000000; font-weight: bold;">/</span>os<span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span>pxeboot<span style="color: #000000; font-weight: bold;">/</span>vmlinuz <span style="color: #660033;">-o</span> vmlinuz.centos6.pxe
curl http:<span style="color: #000000; font-weight: bold;">//</span>centos.skknet.net<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">6.0</span><span style="color: #000000; font-weight: bold;">/</span>os<span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>images<span style="color: #000000; font-weight: bold;">/</span>pxeboot<span style="color: #000000; font-weight: bold;">/</span>initrd.img <span style="color: #660033;">-o</span> initrd.img.centos6.pxe</pre></div></div>

<p>Разбира се, може да използваме и друг произволен CentOS mirror. Както и x86_64 вместо i386, ако искаме да инсталираме 64bit версия на CentOS.</p>
</div>
<div>
<ul>
<li><strong>Update-ваме Grub (/boot/grub/menu.lst).</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">title Centos Remote Install <span style="color: #7a0874; font-weight: bold;">&#40;</span>PXE<span style="color: #7a0874; font-weight: bold;">&#41;</span>
root <span style="color: #7a0874; font-weight: bold;">&#40;</span>hd0,<span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
kernel <span style="color: #000000; font-weight: bold;">/</span>vmlinuz.centos6.pxe vnc <span style="color: #007800;">vncpassword</span>=PASSWD headless <span style="color: #007800;">ip</span>=IPADDR <span style="color: #007800;">netmask</span>=NETMASK <span style="color: #007800;">gateway</span>=GATEWAYIP <span style="color: #007800;">dns</span>=8.8.8.8 <span style="color: #007800;">ksdevice</span>=eth0 <span style="color: #007800;">method</span>=http:<span style="color: #000000; font-weight: bold;">//</span>centos.skknet.net<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">6.0</span><span style="color: #000000; font-weight: bold;">/</span>os<span style="color: #000000; font-weight: bold;">/</span>i386 <span style="color: #007800;">lang</span>=en_US <span style="color: #007800;">keymap</span>=us
initrd <span style="color: #000000; font-weight: bold;">/</span>initrd.img.centos6.pxe</pre></div></div>

<p>Където:</p>
<pre>vnc
vncpassword={парола за достъп до vnc сървъра, не по-малка от 6 символа}
headless
ip={IP адрес на отдалечената машина}
netmask={мрежова маска на отдалечената машина}
gateway={default gateway на отдалечената машина}
dns={IP адрес на DNS сървъра}
ksdevice={използваният мрежов интерфейс}
method={URL до директорията съдържаща images/install.img}
lang={proper language code}
keymap={proper country code}</pre>
<p>Трябва да се има предвид обаче, че настройките по-горе са специфични в зависимост от текущата инсталация, наличието на отделен /boot дял, естествено IP адреса и default GW, мрежовия интерфейс, дали линка към посочения mirror е активен и т.н.</p>
</div>
<div>
<ul>
<li><strong>Ако сме се уверили, че всичко това е наред, остава само да рестартираме машината:</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">shutdown <span style="color: #660033;">-r</span> now</pre></div></div>

<ul>
<li><strong>Остава само да се свържем към нея:</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">vncviewer IPADDR:<span style="color: #000000;">1</span></pre></div></div>

<p><a href="http://just4nick.net/blog/wp-content/uploads/2011/07/centos_remote_install_via_vnc.png" rel="lightbox[994]"><img class="aligncenter size-medium wp-image-1005" title="centos_remote_install_via_vnc" src="http://just4nick.net/blog/wp-content/uploads/2011/07/centos_remote_install_via_vnc-300x158.png" alt="" width="300" height="158" /></a></p>
<p>Допълнителна информация:</p>
<p><a href="http://www.redhat.com/magazine/024oct06/features/kickstart/">1. Redhat Magazine</a><br />
<a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Installation_Guide/index.html#pt-Advanced_installation_options">2. Redhat Installation Guide</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/994/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domains Expiration Script</title>
		<link>http://just4nick.net/blog/archives/950</link>
		<comments>http://just4nick.net/blog/archives/950#comments</comments>
		<pubDate>Tue, 22 Feb 2011 18:57:53 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[expire]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tips & trics]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=950</guid>
		<description><![CDATA[Понеже ми се събраха доста домейни под моя юрисдикция, някои от които регистрирани преди доста време се огледах за shell script, който проверява за изтичането на даден домейн. Можеше да си играя да пиша и сам, но след като има готови, които вършат работа нямаше нужда. Единственото, което трябваше да се направи е проверка и [...]]]></description>
			<content:encoded><![CDATA[<p>Понеже ми се събраха доста домейни под моя юрисдикция, някои от които регистрирани преди доста време се огледах за shell script, който проверява за изтичането на даден домейн. Можеше да си играя да пиша и сам, но след като има готови, които вършат работа нямаше нужда. Единственото, което трябваше да се направи е проверка и за .bg домейни. Скриптът, който ползвах за основа може да бъде намерен <a href="http://www.cyberciti.biz/files/scripts/domain-check-2.txt">тук</a> /като цяло <a href="http://www.cyberciti.biz">cyberciti.biz</a> е чуден блог за unix/linux tips &amp; tricks/</p>
<p>Кодът, който съм добавил е съобразен с output-а, който връща към момента whois.register.bg:<br />
<code><br />
DOMAIN NAME: digsys.bg<br />
requested on: 08/09/1991 00:00:00 EEST<br />
processed from: 08/09/1991 00:00:00 EEST<br />
activated on: 08/09/1991 00:00:00 EEST<br />
expires at: 01/01/2012 00:00:00 EET<br />
registration status: Registered<br />
REGISTRANT:<br />
Digital Systems Ltd.<br />
VARNA, 9000<br />
BULGARIA<br />
</code></p>
<p>И в частност полетата<strong> &#8222;REGISTRANT&#8220;</strong> и <strong>&#8222;expires at&#8220;</strong>.</p>
<p>Като към скрипта, аз съм добавил следното:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #660033;">-c</span> check.domain.expired_orig.sh check.domain.expired.sh
<span style="color: #000000; font-weight: bold;">***</span> check.domain.expired_orig.sh        <span style="color: #000000;">2011</span>-02-<span style="color: #000000;">22</span> <span style="color: #000000;">17</span>:02:<span style="color: #000000;">27.000000000</span> +0200
<span style="color: #660033;">---</span> check.domain.expired.sh     <span style="color: #000000;">2011</span>-02-<span style="color: #000000;">22</span> <span style="color: #000000;">20</span>:02:<span style="color: #000000;">27.000000000</span> +0200
<span style="color: #000000; font-weight: bold;">***************</span>
<span style="color: #000000; font-weight: bold;">***</span> <span style="color: #000000;">235</span>,<span style="color: #000000;">240</span> <span style="color: #000000; font-weight: bold;">****</span>
<span style="color: #660033;">---</span> <span style="color: #000000;">235</span>,<span style="color: #000000;">243</span> <span style="color: #660033;">----</span>
      <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span>  == <span style="color: #ff0000;">&quot;in&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #666666; font-style: italic;"># India</span>
      <span style="color: #000000; font-weight: bold;">then</span>
          <span style="color: #800000;">${WHOIS}</span> <span style="color: #660033;">-h</span> <span style="color: #ff0000;">&quot;whois.registry.in&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #800000;">${WHOIS_TMP}</span>
+     <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span>  == <span style="color: #ff0000;">&quot;bg&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #666666; font-style: italic;"># Bulgaria</span>
+     <span style="color: #000000; font-weight: bold;">then</span>
+         <span style="color: #800000;">${WHOIS}</span> <span style="color: #660033;">-h</span> <span style="color: #ff0000;">&quot;whois.register.bg&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #800000;">${WHOIS_TMP}</span>
      <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span>  == <span style="color: #ff0000;">&quot;uk&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #666666; font-style: italic;"># United Kingdom</span>
      <span style="color: #000000; font-weight: bold;">then</span>
          <span style="color: #800000;">${WHOIS}</span> <span style="color: #660033;">-h</span> <span style="color: #ff0000;">&quot;whois.nic.uk&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #800000;">${WHOIS_TMP}</span>
<span style="color: #000000; font-weight: bold;">***************</span>
<span style="color: #000000; font-weight: bold;">***</span> <span style="color: #000000;">265</span>,<span style="color: #000000;">270</span> <span style="color: #000000; font-weight: bold;">****</span>
<span style="color: #660033;">---</span> <span style="color: #000000;">268</span>,<span style="color: #000000;">276</span> <span style="color: #660033;">----</span>
      <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span> == <span style="color: #ff0000;">&quot;jp&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
      <span style="color: #000000; font-weight: bold;">then</span>
          <span style="color: #007800;">REGISTRAR</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #800000;">${WHOIS_TMP}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #800000;">${AWK}</span> <span style="color: #ff0000;">'/Registrant/ &amp;amp;&amp;amp; $2 != &quot;&quot;  { REGISTRAR=substr($2,1,17) } END { print REGISTRAR }'</span><span style="color: #000000; font-weight: bold;">`</span>
+     <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span> == <span style="color: #ff0000;">&quot;bg&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
+     <span style="color: #000000; font-weight: bold;">then</span>
+         <span style="color: #007800;">REGISTRAR</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #800000;">${WHOIS_TMP}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #800000;">${AWK}</span> <span style="color: #ff0000;">'/REGISTRANT:/ &amp;amp;&amp;amp; $0 != &quot;&quot;  { getline; REGISTRAR=substr($0,1,17) } END { print REGISTRAR }'</span><span style="color: #000000; font-weight: bold;">`</span>
      <span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
      <span style="color: #666666; font-style: italic;"># If the Registrar is NULL, then we didn't get any data</span>
<span style="color: #000000; font-weight: bold;">***************</span>
<span style="color: #000000; font-weight: bold;">***</span> <span style="color: #000000;">308</span>,<span style="color: #000000;">313</span> <span style="color: #000000; font-weight: bold;">****</span>
<span style="color: #660033;">---</span> <span style="color: #000000;">314</span>,<span style="color: #000000;">341</span> <span style="color: #660033;">----</span>
                <span style="color: #000000; font-weight: bold;">esac</span>
              <span style="color: #007800;">tday</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #800000;">${tdomdate}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'/'</span> -f3<span style="color: #000000; font-weight: bold;">`</span>
            <span style="color: #007800;">DOMAINDATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$tday</span>-<span style="color: #007800;">$tmonth</span>-<span style="color: #007800;">$tyear</span><span style="color: #000000; font-weight: bold;">`</span>
+     <span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${TLDTYPE}</span>&quot;</span> == <span style="color: #ff0000;">&quot;bg&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #666666; font-style: italic;"># for .bg dd/mm/yyyy 05/03/2011</span>
+     <span style="color: #000000; font-weight: bold;">then</span>
+             <span style="color: #007800;">tdomdate</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #800000;">${WHOIS_TMP}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'/expires at/ { print $3 }'</span><span style="color: #000000; font-weight: bold;">`</span>
+             <span style="color: #007800;">tyear</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #800000;">${tdomdate}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'/'</span> -f3<span style="color: #000000; font-weight: bold;">`</span>
+             <span style="color: #007800;">tmon</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #800000;">${tdomdate}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'/'</span> -f2<span style="color: #000000; font-weight: bold;">`</span>
+                <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #800000;">${tmon}</span> <span style="color: #000000; font-weight: bold;">in</span>
+                      <span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">|</span>01<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=jan <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">|</span>02<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=feb <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;">|</span>03<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=mar <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">4</span><span style="color: #000000; font-weight: bold;">|</span>04<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=apr <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;">|</span>05<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=may <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">6</span><span style="color: #000000; font-weight: bold;">|</span>06<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=jun <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">7</span><span style="color: #000000; font-weight: bold;">|</span>07<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=jul <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">8</span><span style="color: #000000; font-weight: bold;">|</span>08<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=aug <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">9</span><span style="color: #000000; font-weight: bold;">|</span>09<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=sep <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">10</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #007800;">tmonth</span>=oct <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">11</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=nov <span style="color: #000000; font-weight: bold;">;;</span>
+                      <span style="color: #000000;">12</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=dec <span style="color: #000000; font-weight: bold;">;;</span>
+                       <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #007800;">tmonth</span>=<span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">;;</span>
+                 <span style="color: #000000; font-weight: bold;">esac</span>
+             <span style="color: #007800;">tday</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #800000;">${tdomdate}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">cut</span> <span style="color: #660033;">-d</span><span style="color: #ff0000;">'/'</span> -f1<span style="color: #000000; font-weight: bold;">`</span>
+             <span style="color: #007800;">DOMAINDATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$tday</span>-<span style="color: #007800;">$tmonth</span>-<span style="color: #007800;">$tyear</span><span style="color: #000000; font-weight: bold;">`</span>
      <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #666666; font-style: italic;"># .com, .edu, .net and may work with others</span>
            <span style="color: #007800;">DOMAINDATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #800000;">${WHOIS_TMP}</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #800000;">${AWK}</span> <span style="color: #ff0000;">'/Expiration/ { print $NF }'</span><span style="color: #000000; font-weight: bold;">`</span>
      <span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

<p>Готовият скрипт с поддръжка на .bg домейни, може да бъде намерен <a href="http://just4nick.net/blog/wp-content/uploads/2011/02/domains-check-2.txt">тук</a>.</p>
<p>Примерен output:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>check.domain.expired.sh <span style="color: #660033;">-d</span> digsys.bg</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Domain                              Registrar         Status   Expires     Days Left
<span style="color: #660033;">-----------------------------------</span> <span style="color: #660033;">-----------------</span> <span style="color: #660033;">--------</span> <span style="color: #660033;">-----------</span> <span style="color: #660033;">---------</span>
digsys.bg                           Digital Systems L Valid    01-jan-<span style="color: #000000;">2012</span>   <span style="color: #000000;">313</span></pre></div></div>

<p>Може да го ползваме в cronjob, и ако домейна изтича в рамките на месец да получим известяване по email.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>check.domain.expired.sh <span style="color: #660033;">-a</span> <span style="color: #660033;">-d</span> example.org  <span style="color: #660033;">-q</span> <span style="color: #660033;">-x</span> <span style="color: #000000;">30</span> <span style="color: #660033;">-e</span> mail<span style="color: #000000; font-weight: bold;">@</span>example.net</pre></div></div>

<p>Има възможност и за подаване на повече от един домейн чрез текстов файл (всеки домейн на нов ред).<br />
Въобще всички възможни опции:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Usage: .<span style="color: #000000; font-weight: bold;">/</span>check.domain.expired.sh <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> email <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-x</span> expir_days <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-q</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-a</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-h</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
          <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> domain_namee <span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #660033;">-f</span> domainfile<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
  <span style="color: #660033;">-a</span>               : Send a warning message through email 
  <span style="color: #660033;">-d</span> domain        : Domain to analyze <span style="color: #7a0874; font-weight: bold;">&#40;</span>interactive mode<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #660033;">-e</span> email address : Email address to send expiration notices
  <span style="color: #660033;">-f</span> domain <span style="color: #c20cb9; font-weight: bold;">file</span>   : File with a list of domains
  <span style="color: #660033;">-h</span>               : Print this <span style="color: #c20cb9; font-weight: bold;">screen</span>
  <span style="color: #660033;">-s</span> <span style="color: #c20cb9; font-weight: bold;">whois</span> server  : Whois sever to query <span style="color: #000000; font-weight: bold;">for</span> information
  <span style="color: #660033;">-q</span>               : Don<span style="color: #ff0000;">'t print anything on the console
  -x days          : Domain expiration interval (eg. if domain_date &lt; days)</span></pre></div></div>

<p>Вероятно по-натам на базата на това, ще направя и скрипт за директна проверка в nagios.</pre>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/950/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Micronokia a.k.a. Elopocalypse</title>
		<link>http://just4nick.net/blog/archives/923</link>
		<comments>http://just4nick.net/blog/archives/923#comments</comments>
		<pubDate>Sun, 13 Feb 2011 12:28:37 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Others]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[MeeGo]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Symbian]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=923</guid>
		<description><![CDATA[Миналата година някъде по същото време, в седмиците покрай MWC се случиха някои наистина изненадващи неща в света на мобилните технологии. Първо Nokia &#8222;освободиха&#8220; Symbian: This is a major breakthrough for the Foundation that shows our commitment to open source and the wider community while enabling the symbian ecosystem to make business as usual. We have tried [...]]]></description>
			<content:encoded><![CDATA[<p>Миналата година някъде по същото време, в седмиците покрай MWC се случиха някои наистина изненадващи неща в света на мобилните технологии. Първо <a href="http://just4nick.net/blog/archives/788">Nokia &#8222;освободиха&#8220; Symbian</a>:</p>
<blockquote><p>This is a major breakthrough for the Foundation that shows our  commitment to open source and the wider community while enabling  the symbian ecosystem to make business as usual. We have tried to lower  the adoption barrier to a bare minimum, fostering HW innovation and  empowering developers to port the platform to all kind of devices,  beyond that of pure personal communication devices… netbooks, perhaps?…</p></blockquote>
<p>След това <a href="http://just4nick.net/blog/archives/798">обявиха създаването на MeeGo</a>:</p>
<blockquote><p>MeeGo is an open source, Linux project which brings together the Moblin  project, headed up by Intel, and Maemo, by Nokia, into a single open  source activity. MeeGo integrates the experience and skills of two  significant development ecosystems, versed in communications and  computing technologies. The MeeGo project believes these two pillars  form the technical foundations for next generation platforms and usages  in the mobile and device platforms space.</p></blockquote>
<p>Бъдещето изглеждаше толкова ясно. Но какво се случи за една година, за да се стигне до новината от петък. Отговорът е <a href="http://en.wikipedia.org/wiki/Stephen_Elop"> Stephen Elop</a>, първият нефинландец оглавяващ Nokia. Промяна направена с идеята да се застигне изоставането на Nokia от Apple и Google в областта на смартфоните, продукт, който донякъде всъщност е отроче именно на Nokia. Да, по това време Nokia все още бе производител номер 1, но на устройства от доста по-ниския клас, залагаха основно на  количество. Но появата на iPhone и на по-късен етап на Android сериозно застраши позициите на финландците. Цените падат, а от другите получаваш много повече в един телефон, отколкото получаваш от Nokia. Нещо, което Стивън казва на служителите си чрез email в прав текст (<a href="http://www.engadget.com/2011/02/08/nokia-ceo-stephen-elop-rallies-troops-in-brutally-honest-burnin/">цялото писмо може да се прочете тук</a>):</p>
<blockquote><p>In 2008, Apple&#8217;s market share in the $300+ price range was 25 percent;  by 2010 it escalated to 61 percent. They are enjoying a tremendous  growth trajectory with a 78 percent earnings growth year over year in Q4  2010. Apple demonstrated that if designed well, consumers would buy a  high-priced phone with a great experience and developers would build  applications. They changed the game, and today, Apple owns the high-end  range.</p>
<p>And then, there is Android. In about two years, Android created a  platform that attracts application developers, service providers and  hardware manufacturers. Android came in at the high-end, they are now  winning the mid-range, and quickly they are going downstream to phones  under €100. Google has become a gravitational force, drawing much of the  industry&#8217;s innovation to its core.</p>
<p>Let&#8217;s not forget about the low-end price range. In 2008, MediaTek  supplied complete reference designs for phone chipsets, which enabled  manufacturers in the Shenzhen region of China to produce phones at an  unbelievable pace. By some accounts, this ecosystem now produces more  than one third of the phones sold globally &#8211; taking share from us in  emerging markets.</p>
<p>While competitors poured flames on our market share, what happened at  Nokia? We fell behind, we missed big trends, and we lost time. At that  time, we thought we were making the right decisions; but, with the  benefit of hindsight, we now find ourselves years behind.</p>
<p>The first iPhone shipped in 2007, and we still don&#8217;t have a product that  is close to their experience. Android came on the scene just over 2  years ago, and this week they took our leadership position in smartphone  volumes. Unbelievable.</p>
<p>We have some brilliant sources of innovation inside Nokia, but we are  not bringing it to market fast enough. We thought MeeGo would be a  platform for winning high-end smartphones. However, at this rate, by the  end of 2011, we might have only one MeeGo product in the market.</p>
<p>At the midrange, we have Symbian. It has proven to be non-competitive in  leading markets like North America. Additionally, Symbian is proving to  be an increasingly difficult environment in which to develop to meet  the continuously expanding consumer requirements, leading to slowness in  product development and also creating a disadvantage when we seek to  take advantage of new hardware platforms. As a result, if we continue  like before, we will get further and further behind, while our  competitors advance further and further ahead.</p></blockquote>
<p>За всички е ясно, че Nokia са 4 години зад тренда и конкуренцията, така че Elop решава, че имат нужда от бързи резултати. В писмото се говори за успехите на iPhone и Android, и се очаква MeeGo като с магическа пръчка да е готов за една година. Elop дали се е поинтересувал, колко време е замислян и разработван iPhone. Дори и първият телефон с Android не може да се нарече кой знае какъв успех, докато не излязоха моделите на HTC и Samsung да го подкрепят. MeeGo имаше бъдеще (и все още го има), но Nokia решиха да заложат на WP7, толкова по-зле за тях. Предполагам, някой ще си помисли, че хейтът по Nokia е нормална реакция за феновете на open source. Но изглежда, че не само те мислят така. Доста анализатори отчитат прилягането на Nokia на M$ като грешка. Бизнеса изглежда също е на това мнение, 16% спад на акциите само за ден, не може да значи нещо друго. Какви всъщност бяха опциите пред Nokia:</p>
<ul>
<li>да следва предварително обявения план от миналата година &#8211; Symbian за low-end устройствата, и MeeGo за смартфони</li>
<li>да заложи на Android (може би дори на WebOS)</li>
<li>да заложи на Microsoft &#8211; въпреки слуховете в последната седмица, едва ли някой всъщност го е очаквал</li>
</ul>
<p>Безспорно от &#8222;сватбата&#8220; не печели Nokia. С един удар да затриеш два проекта, в които е вложен толкова много труд и да заложиш на операционна система, която никак не е на почит сред мобилните у-ва е меко казано странно. От тази сделка, Nokia може само да загуби (<a href="http://www.asymco.com/2011/02/11/in-memoriam-microsofts-previous-strategic-mobile-partners/">както са губили и други преди това</a>), а Microsoft може само да спечели. Ако стане добре дошло, ако не&#8230;какво им пука. <a href="http://talk.maemo.org/showthread.php?t=69745">И в този ред на мисли, CEO-то на Nokia все още държи доста солиден дял акции на Microsoft.</a></p>
<p>Защо всъщност пиша всичко това. Отговорът е прост, защото съм разочарован &#8211; наистина очаквах много от MeeGo и възможността за телефон с Qt. Защото има нужда от конкуренция за Android. А и защото съчувствам на <a href="http://blog.mardy.it/2011/02/committed-to-linux.html">хората, които са вложили доста работа</a> и в двата проекта, а на края получават нож в гърба. <a href="http://piacentini.blog.br/2011/02/elop-is-after-me/">За съжаление в бизнеса, няма място за принципи и романтика</a>.</p>
<p>Това, все пак вдъхва някакви надежди:</p>
<blockquote><p>“The Linux Foundation is disappointed in Nokia’s decision today  to choose Microsoft as the primary platform for its mobile phones.  Tough times give birth to difficult decisions that we don’t always agree  with, but open source is — at its core — about choice. We believe that  open source software is more than a sum of its parts, and the market is  currently bearing that out. The Linux Foundation is here to enable  collaboration among its members and the Linux community, and we invite  participation in MeeGo and any of our other many projects and programs.  In its 20th anniversary year, Linux is a significant underpinning in  every computing segment. Full steam ahead.”</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/923/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP upload &#8211; connection timed out</title>
		<link>http://just4nick.net/blog/archives/910</link>
		<comments>http://just4nick.net/blog/archives/910#comments</comments>
		<pubDate>Wed, 09 Feb 2011 08:55:05 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[ftp timedout media converter tcpdump hexdump bit stuffing data img iso eps]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=910</guid>
		<description><![CDATA[Миналата седмица се сблъсках с много интересен проблем. Всичко започна тривиално. Трябваше да осигуря ftp достъп за клиент. Имам си изграден навик да проверявам дали всичко работи след като създам акаунта, защото ми се е случвало да забравям по нещо (я права на директория, я нещо друго). Логнах се с акаунта на клиента, upload-нах няколко [...]]]></description>
			<content:encoded><![CDATA[<p>Миналата седмица се сблъсках с много интересен проблем. Всичко започна тривиално. Трябваше да осигуря ftp достъп за клиент. Имам си изграден навик да проверявам дали всичко работи след като създам акаунта, защото ми се е случвало да забравям по нещо (я права на директория, я нещо друго). Логнах се с акаунта на клиента, upload-нах няколко pdf-а, които ми бяха под ръка &#8211; всичко бе наред. Не знам защо този път реших да upload-на и някой по-голям файл, по стечение на обстоятелствата бях в / и тръгнах да upload-вам rhinstall-stage2.img. В началото всичко изглеждаше наред, но след 18MB скоростта започна да пада прогресивно, и в края последва connection timed out. Първоначално помислих, че е имало някакъв проблем по трасето, но след повторен опит, нещата бяха същите. И така започнах да отмятам възможни проблеми един по един.</p>
<p>Топологията от моята страна, която в случая е client е следната:<br />
client side: LAN &#8211;&gt; linux gateway &#8211;&gt; Cisco Router<br />
Топологията от среща:<br />
ISP &#8211;&gt; linux gateway &#8211;&gt; servers (public IPs) (static routing)</p>
<p>Какво проверих:<br />
client side:</p>
<ul>
<li>смяна на ftp client-a &#8211; Тествах  upload с ncftp, curl, netcat &#8211; без никаква промяна, проблема беше налице</li>
<li> active / passive ftp &#8211; всеки, който е пускал FTP server и е имал клиенти зад NAT, знае че това е един от най-често срещаните проблеми &#8211; Но моят проблем, не зависеше от това</li>
<li> upload от друга машина с публично IP, която не е зад локалния linux gateway (за да избегна NAT-a) &#8211; проблемът все още си е налице</li>
<li> upload със спрян SACK &#8211; <a href="http://www.ringlet.net/~roam/">Петър Пенчев</a> направи <a href="http://twitter.com/#!/mrrmot/status/33107172132913154">добро предложение в twitter</a> &#8211; но и това не помогна</li>
<li> upload с промяна на keepalive &#8211; търсене в Google за подобни проблеми ме доводе до този пост в <a href="http://serverfault.com/questions/84310/how-to-prevent-tcp-connection-timeout-when-ftping-large-file/84996#84996">serverfault</a> и съответно си поиграх с tcp keepalives &#8211; но отново без успех</li>
<li> upload при по-ниско MTU &#8211; друг често срещан проблем с <a href="http://www.znep.com/~marcs/mtu/">MTU / PMTU-D</a> &#8211; промяна на стойностите от моя страна отново не доведе до успех</li>
<li> upload от мрежи на други доставчици, до които имам достъп &#8211; мина без проблеми. На по-късен етап се оказа, че съм се заблудил (ще опиша защо малко по-надолу)</li>
<li>download на файл от сървъра &#8211; без проблеми</li>
<li> upload от самия cisco router &#8211; единственото у-во, което не бях проверил от моя страна бе cisco router-а, за това пробвах upload и от него &#8211; успешно upload-нах IOS файла.</li>
</ul>
<p>Едновременно с това, накарах няколко приятели и познати администратори да тестват и от техни мрежи. Някои успяха да upload-нат файл, други не. Така че, въпреки успеха от рутера, нямаше логика проблема да е в него. Хората, които също не успяха да upload-нат файлове на FTP сървъра нямаха в мрежите си Cisco рутери. Освен това upload до други 10 ftp server-а от моя страна протичаха без никакъв проблем.</p>
<p>server side:</p>
<ul>
<li>смяна на ftp server-a (pure-ftpd, vsftpd) &#8211; проблемът си остана</li>
<li> firewall &#8211; passive / active проблеми от страна на сървъра, спиране на филтрация по IP, отваряне на портове за passive mode и т.н., дори спиране на firewall-а &#8211; не доведе до никаква промяна</li>
<li>промяна на idle time и timeout на връзките на ftp server-а също не доведе до никаква промяна.</li>
<li> upload директно до машината която играе ролята на gateway за другите зад нея &#8211; проблемът беше налице и там</li>
<li> пускане на ftp server-а на друг порт &#8211; без промяна</li>
<li> на мрежовите интерфейси няма грешки или колизии</li>
<li> download на същия файл обратно, т.е. сървъра е клиент &#8211; без проблеми, така че проблемът бе само и единствено с upload-а</li>
</ul>
<p>Същевременно с това, всичко с други протоколи си бе наред &#8211; icmp, smtp, ssh (файлът се upload-ваше по scp без никакъв проблем). Реших да направя tcpdump да видя какво става. На пръв поглед нещата изглеждаха нормално, макар че личеше, че има проблем. Нещата протичаха по следния начин:</p>
<p>Last Fragment Lost &#8211;&gt; TCP Dup &#8211;&gt; TCP Fast Retransmission &#8211;&gt; TCP Dup &#8211;&gt; TCP Fast Retransmission &#8211;&gt; TCP Out of Order &#8211;&gt; TCP Tetransmission &#8211;&gt; TCP Window Full &#8211;&gt; Connection Timed Out</p>
<p>С оглед на всичко това, в крайна сметка нещата сочеха за проблем с мрежово устройство по пътя, който се проявява само за FTP. След като бях проверил всичко при мен, оставаше да звънна на доставчика. Преди това обаче реших да попитам и други хора, работещи в областта на мрежите. И така, <a href="http://hardwarebg.com/forum/showthread.php?t=193403">колегите от HWBG</a> ме насочиха към евентуален проблем с media converter.</p>
<p>Всичко изглеждаше логично, но ме глождеше едно, как така от някои мрежи успявам да upload-на файл. Ако проблемът в конвертора, то няма логика да работи избирателно. Това можеше да значи, че проблемът не е със самия конвертор на място, а някъде по пътя между мен и него, нормално от други мрежи пътя е друг и upload-а върви. Реших да направя няколко последни теста и установих, че по-рано съм направил грешно предположение. За съжаление не винаги ползвах един и същи тестов файл ( това би ми спестило един ден &#8222;блъскане&#8220;), но късметът не е бил на моя страна. Естествено, бях се сетил, че проблемът всъщност може да е във файла, но това че други хора също не успяваха да качат големи файлове, значеше, че проблемът не е в самия файл. Оказа се обаче, че проблемът съществува само за точно определени файлове/разширения:</p>
<ul>
<li>с големи .avi .zip .rar &#8211; всичко бе ОК</li>
<li>с големи .iso .img .eps &#8211; проблемът бе налице</li>
</ul>
<p>Това, а и факта, че upload-а спираше винаги на точно едно и също място, значеше че конверторите имат проблем с точно определени символи, вероятно заради <a href="http://www.stuartcheshire.org/papers/COBSforSIGCOMM/">data stuffing</a>. Ето hexdump за отделните файлове.</p>
<ul>
<li><strong>.img</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Remote <span style="color: #c20cb9; font-weight: bold;">write</span> failed after <span style="color: #000000;">18808832</span> bytes had been sent: Connection timed out.
<span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #660033;">-s</span> <span style="color: #000000;">18808800</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">128</span> <span style="color: #660033;">-v</span> rhinstall-stage2.img
011effe0  b3 d1 <span style="color: #000000;">36</span> 4c 4d 4d 7a <span style="color: #000000;">32</span>  <span style="color: #000000;">92</span> <span style="color: #000000;">95</span> 1c c4 <span style="color: #000000;">93</span> 8b 9f a2  <span style="color: #000000; font-weight: bold;">|</span>..6LMMz2........<span style="color: #000000; font-weight: bold;">|</span>
011efff0  6d 9b 9a 9c 4c e4 4e <span style="color: #000000;">76</span>  f5 3e 7f <span style="color: #000000;">22</span> ff 9e d7 <span style="color: #000000;">79</span>  <span style="color: #000000; font-weight: bold;">|</span>m...L.Nv.<span style="color: #000000; font-weight: bold;">&amp;</span>gt;.<span style="color: #ff0000;">&quot;...y|
011f0000  83 d7 a2 ed 9e 69 29 93  fd fd 7a 7e 3e e1 ff 78  |.....i)...z~&amp;gt;..x|
011f0010  3e a1 3e 9a 50 df 49 a8  ef 45 af 75 f3 bc 15 6d  |&amp;gt;.&amp;gt;.P.I..E.u...m|
011f0020  33 d5 c7 92 5e 7d a3 eb  fd ea d7 dc cd e7 bc 10  |3...^}..........|
011f0030  6d 6b e5 2f 45 db 96 a8  8d 68 3b ac a6 e3 97 ff  |mk./E....h;.....|
011f0040  c4 eb 60 ad f9 36 71 17  ab d9 c8 6e 0e 71 98 63  |..`..6q....n.q.c|
011f0050  5c e0 21 5e e0 79 f6 f3  3a 9f 72 0b cb 58 ce 0a  |\.!^.y..:.r..X..|
011f0060
&nbsp;
hexdump -s 18808800 -n 128 -v rhinstall-stage2.img
11effe0 d1b3 4c36 4d4d 327a 9592 c41c 8b93 a29f
11efff0 9b6d 9c9a e44c 764e 3ef5 227f 9eff 79d7
11f0000 d783 eda2 699e 9329 fdfd 7e7a e13e 78ff
11f0010 a13e 9a3e df50 a849 45ef 75af bcf3 6d15
11f0020 d533 92c7 7d5e eba3 eafd dcd7 e7cd 10bc
11f0030 6b6d 2fe5 db45 a896 688d ac3b e3a6 ff97
11f0040 ebc4 ad60 36f9 1771 d9ab 6ec8 710e 6398
11f0050 e05c 5e21 79e0 f3f6 9f3a 0b72 58cb 0ace
11f0060</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #660033;">-s</span> <span style="color: #000000;">26968000</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">128</span> <span style="color: #660033;">-v</span> rhinstall-stage2.img
019b7fc0  2c 3d 2c 03 2c <span style="color: #000000;">23</span> 2c <span style="color: #000000;">13</span>  2c <span style="color: #000000;">33</span> 2c 0b 2c 2b 2c 1b  <span style="color: #000000; font-weight: bold;">|</span>,=,.,<span style="color: #666666; font-style: italic;">#,.,3,.,+,.|</span>
019b7fd0  2c 3b 2c 07 2c <span style="color: #000000;">27</span> 2c <span style="color: #000000;">17</span>  2c <span style="color: #000000;">37</span> 2c 0f 2c 2f 2c 1f  <span style="color: #000000; font-weight: bold;">|</span>,;,.,<span style="color: #ff0000;">',.,7,.,/,.|
019b7fe0  2c 3f ac 00 ac 20 ac 10  ac 30 ac 08 ac 28 ac 18  |,?... ...0...(..|
019b7ff0  ac 38 ac 04 ac 24 ac 14  ac 34 ac 0c ac 2c ac 1c  |.8...$...4...,..|
019b8000  ac 3c ac 02 ac 22 ac 12  ac 32 ac 0a ac 2a ac 1a  |.&amp;lt;...&quot;...2...*..|
019b8010  ac 3a ac 06 ac 26 ac 16  ac 36 ac 0e ec 5f 58 5d  |.:...&amp;amp;...6..._X]|
019b8020  58 3d 58 7d 58 03 58 43  58 23 58 63 58 13 58 53  |X=X}X.XCX#XcX.XS|
019b8030  58 33 58 73 58 0b 58 4b  58 2b 58 6b 58 1b 58 5b  |X3XsX.XKX+XkX.X[|
019b8040
&nbsp;
hexdump -s 18808800 -n 128 -v rhinstall-stage2.img
11effe0 d1b3 4c36 4d4d 327a 9592 c41c 8b93 a29f
11efff0 9b6d 9c9a e44c 764e 3ef5 227f 9eff 79d7
11f0000 d783 eda2 699e 9329 fdfd 7e7a e13e 78ff
11f0010 a13e 9a3e df50 a849 45ef 75af bcf3 6d15
11f0020 d533 92c7 7d5e eba3 eafd dcd7 e7cd 10bc
11f0030 6b6d 2fe5 db45 a896 688d ac3b e3a6 ff97
11f0040 ebc4 ad60 36f9 1771 d9ab 6ec8 710e 6398
11f0050 e05c 5e21 79e0 f3f6 9f3a 0b72 58cb 0ace
11f0060</span></pre></div></div>

<ul>
<li><strong>.eps</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #660033;">-s</span> <span style="color: #000000;">46497764</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">128</span> <span style="color: #660033;">-v</span> BACB-Standard-170x230.eps
02c57fe4  f8 <span style="color: #000000;">20</span> f8 f8 f8 <span style="color: #000000;">20</span> f8 f8  f8 f8 f8 f8 f8 f8 f8 f8  <span style="color: #000000; font-weight: bold;">|</span>. ... ..........<span style="color: #000000; font-weight: bold;">|</span>
02c57ff4  f8 f8 f8 f8 f8 f8 f8 f8  f8 <span style="color: #000000;">27</span> f8 f8 f8 <span style="color: #000000;">27</span> f8 f8  <span style="color: #000000; font-weight: bold;">|</span>.........<span style="color: #ff0000;">'...'</span>..<span style="color: #000000; font-weight: bold;">|</span>
02c58004  f8 <span style="color: #000000;">27</span> f8 f8 f8 <span style="color: #000000;">20</span> f8 f8  f8 04 f8 f8 f8 <span style="color: #000000;">26</span> f8 f8  <span style="color: #000000; font-weight: bold;">|</span>.<span style="color: #ff0000;">'... .......&amp;amp;..|
02c58014  f8 26 f8 f8 f8 04 f8 f8  f8 05 f8 04 f8 27 f8 f8  |.&amp;amp;...........'</span>..<span style="color: #000000; font-weight: bold;">|</span>
02c58024  f8 <span style="color: #000000;">26</span> f8 f8 f8 05 f8 f8  f8 <span style="color: #000000;">27</span> f8 f8 f8 <span style="color: #000000;">27</span> f8 f8  <span style="color: #000000; font-weight: bold;">|</span>.<span style="color: #000000; font-weight: bold;">&amp;</span>amp;.......<span style="color: #ff0000;">'...'</span>..<span style="color: #000000; font-weight: bold;">|</span>
02c58034  f8 f8 f8 f8 f8 <span style="color: #000000;">26</span> f8 04  f8 <span style="color: #000000;">27</span> f8 f8 f8 04 f8 f8  <span style="color: #000000; font-weight: bold;">|</span>.....<span style="color: #000000; font-weight: bold;">&amp;</span>amp;...<span style="color: #ff0000;">'......|
02c58044  f8 f8 f8 f8 f8 f8 f8 f8  f8 f8 f8 f8 f8 f8 f8 f8  |................|
02c58054  f8 f8 f8 f8 f8 f8 f8 f8  f8 f8 f8 f8 f8 f8 f8 f8  |................|
02c58064
&nbsp;
hexdump -s 46497764 -n 128 -v BAC-170x230.eps
2c57fe4 20f8 f8f8 20f8 f8f8 f8f8 f8f8 f8f8 f8f8
2c57ff4 f8f8 f8f8 f8f8 f8f8 27f8 f8f8 27f8 f8f8
2c58004 27f8 f8f8 20f8 f8f8 04f8 f8f8 26f8 f8f8
2c58014 26f8 f8f8 04f8 f8f8 05f8 04f8 27f8 f8f8
2c58024 26f8 f8f8 05f8 f8f8 27f8 f8f8 27f8 f8f8
2c58034 f8f8 f8f8 26f8 04f8 27f8 f8f8 04f8 f8f8
2c58044 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8
2c58054 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8 f8f8
2c58064</span></pre></div></div>

<ul>
<li><strong>.iso</strong></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">hexdump</span> <span style="color: #660033;">-C</span> <span style="color: #660033;">-s</span> <span style="color: #000000;">163800</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">128</span> <span style="color: #660033;">-v</span> ADRIANE-KNOPPIX_V6.2.1CD-<span style="color: #000000;">2010</span>-01-<span style="color: #000000;">31</span>-EN.iso
00027fd8  06 3a <span style="color: #000000;">66</span> <span style="color: #000000;">27</span> c1 d2 6a <span style="color: #000000;">21</span>  b9 6e fa 2f a1 <span style="color: #000000;">70</span> <span style="color: #000000;">24</span> <span style="color: #000000;">79</span>  <span style="color: #000000; font-weight: bold;">|</span>.:f<span style="color: #ff0000;">'..j!.n./.p$y|
00027fe8  1e 35 01 a1 b5 99 04 e0  60 05 6a 05 0e 8c b6 1d  |.5......`.j.....|
00027ff8  05 28 50 63 1b 45 48 6c  38 01 c1 8c 5d 26 0e aa  |.(Pc.EHl8...]&amp;amp;..|
00028008  01 14 60 6e 64 23 06 a5  20 a9 3b 1e 9d 11 e9 10  |..`nd#.. .;.....|
00028018  b6 28 ec dc c0 59 0f 3d  e8 c6 70 f7 26 20 5c 8d  |.(...Y.=..p.&amp;amp; \.|
00028028  ff 03 2b e8 ab 17 86 58  08 b4 37 00 73 ac d1 40  |..+....X..7.s..@|
00028038  0b 1f 83 35 84 36 6d 68  41 56 d5 1f e8 fe f6 51  |...5.6mhAV.....Q|
00028048  8a ac 6c 7e 55 1d b7 ef  0e 26 7d c8 d0 16 cd be  |..l~U....&amp;amp;}.....|
00028058
&nbsp;
hexdump -s 163800 -n 128 -v ADRIANE-KNOPPIX_V6.2.1CD-2010-01-31-EN.iso
0027fd8 3a06 2766 d2c1 216a 6eb9 2ffa 70a1 7924
0027fe8 351e a101 99b5 e004 0560 056a 8c0e 1db6
0027ff8 2805 6350 451b 6c48 0138 8cc1 265d aa0e
0028008 1401 6e60 2364 a506 a920 1e3b 119d 10e9
0028018 28b6 dcec 59c0 3d0f c6e8 f770 2026 8d5c
0028028 03ff e82b 17ab 5886 b408 0037 ac73 40d1
0028038 1f0b 3583 3684 686d 5641 1fd5 fee8 51f6
0028048 ac8a 7e6c 1d55 efb7 260e c87d 16d0 becd
0028058</span></pre></div></div>

<p>Вече беше 100% сигурно, че проблемът е в конвертор. Оставаше да намерим кой. След съдействие от страна на доставчика подменихме първо този на място. Разлика нямаше. След това дойде ред и на този преди него, и воала. Всичко вече работи както трябва.</p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/910/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tron: Legacy &#8211; от един различен ъгъл</title>
		<link>http://just4nick.net/blog/archives/889</link>
		<comments>http://just4nick.net/blog/archives/889#comments</comments>
		<pubDate>Sat, 18 Dec 2010 23:29:11 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tron]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://just4nick.net/blog/?p=889</guid>
		<description><![CDATA[Не успях да се класирам за премиерата, но понеже се бях настроил на Tron вълна днес се отправих към CCS. Още по времето на Avatar, реших че по-добрата 3D технология за моите очи на този етап е RealD, което донякъде определи избора ми. Може би след Нова година, когато предполагам първоначалния интерес е поотминал, ще [...]]]></description>
			<content:encoded><![CDATA[<p>Не успях да се класирам за премиерата, но понеже се бях настроил на <a href="http://www.imdb.com/title/tt1104001/">Tron</a> вълна днес се отправих към CCS. Още по времето на Avatar, реших че по-добрата 3D технология за моите очи на този етап е RealD, което донякъде определи избора ми. Може би след Нова година, когато предполагам първоначалния интерес е поотминал, ще ида да го видя и в Imax и ще направя сравнение.</p>
<p><strong>Ако все още не сте гледали филма, то се смятайте за предупредени, защото след постера има Спойлери.</strong></p>
<p style="text-align: center;"><strong><img class="aligncenter" title="Tron Legacy" src="http://upload.wikimedia.org/wikipedia/en/5/53/Tronlegacy.jpg.jpg" alt="" width="300" height="444" /><br />
</strong></p>
<p>Честно казано, когато излезе първият трейлър не бях толкова очарован. Дори (тъй като не познавах оригинала) се чудех на целия шум. Следващите трейлъри обаче ме грабнаха. Може би направих грешка че попрочетох някое друго ревю преди да ида да го гледам и изглежда попаднах в капана на свръхочакванията. За това и останах с впечатлението, че на филма нещо му липсваше, не ме грабна както очаквах. Това съвсем не означава, че не ми е харесал, дори напротив. Визуалните ефекти, както всеки може да предположи дори от трейлърите са изключителни. Саундтрака в допълнение към тях също. Хареса ми и Olivia Wilde (позната като 13 от House M.D.) в едно доста интересно и различно амплоа, в което бих казал че се справи много добре. Но нещото, което ме грабна най-много е използването на няколко реални unix команди. И това е и нещото, за което ще напиша малко повече.</p>
<p>Нека започнем с това, че очевидно и Kevin Flynn, и синът му Sam са фенове на свободния софтуер. Да проникнеш в собствената си компания, за да откраднеш новата версия на операционната система, която трябва да излезе на пазара и да я пуснеш онлайн е доста показателно и същевременно е интересен намек към някои компании :)</p>
<p>Точно в този момент е ѝ първата поява на Unix команда, за съжаление не си спомням, какво точно написа авторът на новата 12-та версия на Flynn OS. След това обаче, когато Sam отива в скривалището на баща си и намира прашасалата му конзола, виждаме следното:</p>
<div class="wp-caption alignnone" style="width: 510px"><a href="http://farm3.static.flickr.com/2769/4423112803_2f22e19902_o.jpg" rel="lightbox[889]"><img title="Tron: Legacy - unix commands" src="http://farm3.static.flickr.com/2769/4423112803_688b3f042d.jpg" alt="top" width="500" height="298" /></a><p class="wp-caption-text">клик за по-голям размер</p></div>
<p>Очевидно изход от командата<strong> top</strong>, който показва, че има 2-ма users и uptime от 9 дни (което малкo не се връзва и е една от грешките, във филма, които забелязах), 2GB RAM и 4GB Swap . Изглежда всички приложения са стартирани като root :),спокойно се виждат <strong>watchdog</strong> и <strong><a href="http://www.tin.org/bin/man.cgi?section=9&amp;topic=ksoftirqd">ksoftirqd</a></strong> (който се появява за пръв път в ядро <a href="http://lwn.net/2000/0217/a/README.softnet.html">2.3.15 през 2000г</a>.). Сякаш има и отворен текстов редактор (навява асоциации на vi), Интересно е, че се ползва touch screen. След като позабърсва прахта, Sam използва последователно &#8222;<strong>whoami</strong>&#8222;, &#8222;<strong>uname -a</strong>&#8220; и <strong>history</strong>, след което стартира приложението, което задейства лазера и се озовава в &#8222;Мрежата&#8220;. Изхода от uname връща Solar OS 4.0.1, с generic kernel, а машината е с i386 процесор (Solar OS 4.0.1 Generic_50203&#8230;.um4 i386 Unknown.Unknown). Та хората от Sun, които загиват под крилото на Oracle може би трябва да се чувства горди :) Вижда се, че има и два sata диска &#8211; sda и sdb, каквито определено е нямало през 80-тте, когато би трябвало да  е произведена въпросната машина. Та така, в общи линии използването на реални unix команди ме зарадва много, но както се вижда не са изпипали всичко в детайли :)</p>
<p>Оценка: 7/10</p>
<p>Снимки: wikip(m)edia, <a href="http://www.flickr.com/people/rvr/">Victor Ruiz @ flickr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://just4nick.net/blog/archives/889/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

