<?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>Блогът на Анатолий Дилов &#187; Операционни Системи</title>
	<atom:link href="http://blog.adilov.net/category/os/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.adilov.net</link>
	<description>(не)одушевеното около мен</description>
	<lastBuildDate>Sat, 12 Nov 2011 22:26:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Къде FreeBSD пази port config</title>
		<link>http://blog.adilov.net/technical/os/kade-freebsd-pazi-port-config</link>
		<comments>http://blog.adilov.net/technical/os/kade-freebsd-pazi-port-config#comments</comments>
		<pubDate>Sun, 12 Sep 2010 15:15:48 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[port]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=2074</guid>
		<description><![CDATA[Какъв е сценарият и защо може да ни интересува къде FreeBSD пази избраните опции от make config на даден порт? Ами, най-добре ще се обясни с един прост пример. Имаме 2 jail-а, в които искаме да вкараме apache (но искаме да се компилира &#8211; дали било заради дипендънсита или някаква друга причина&#8230;). Искаме конфигурациите да [...]]]></description>
			<content:encoded><![CDATA[<p>Какъв е сценарият и защо може да ни интересува къде FreeBSD пази избраните опции от make config на даден порт? Ами, най-добре ще се обясни с един прост пример.</p>
<p>Имаме 2 jail-а, в които искаме да вкараме apache (но искаме да се компилира &#8211; дали било заради дипендънсита или някаква друга причина&#8230;). Искаме конфигурациите да са 1:1, но винаги нещо се пропуска в бързината, така че &#8211; прибягваме до &#8220;побългаряването&#8221; &#8211; копираме build конфигурацията от единия в другия jail. FreeBSD пази тази конфигурация под формата на текстов файл, който се намрира в /var/db/ports/apache22/options (естествено ако говорим за apache 2.2.x) в обкръжението на съответния jail. Излизаме от jail-а и &#8220;cat&#8221;-ваме съдържанието на файла от единия в другия jail.конфогурацията е готова, сега следва само да се компилира и инсталира. Това е, готово!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/os/kade-freebsd-pazi-port-config/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows 7 and AuthenTec&#8217;s fingerprint reader</title>
		<link>http://blog.adilov.net/technical/os/windows-7-and-authentecs-fingerprint-reader</link>
		<comments>http://blog.adilov.net/technical/os/windows-7-and-authentecs-fingerprint-reader#comments</comments>
		<pubDate>Thu, 14 Jan 2010 12:08:59 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[authentec]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[fingerprint]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=1672</guid>
		<description><![CDATA[Днес Windows 7 ъпдейтна драйвера за fingerprint reader-а. Рестартирах машината и лизнах с пръст четеца, но логването беше безуспешно. Ето какво направих, за да подкарам добрият и стар мързелив метод с четенето на пръстови отпечатъци. В Control Panel има раздел Biometric Devices. Изтрих старите данни за отпечатъците (Delete your fingerprint data) и минах отново през [...]]]></description>
			<content:encoded><![CDATA[<p>Днес Windows 7 ъпдейтна драйвера за fingerprint reader-а. Рестартирах машината и лизнах с пръст четеца, но логването беше безуспешно. Ето какво направих, за да подкарам добрият и стар мързелив метод с четенето на пръстови отпечатъци.<span id="more-1672"></span></p>
<p>В Control Panel има раздел Biometric Devices. Изтрих старите данни за отпечатъците (Delete your fingerprint data) и минах отново през setup-а. След тази процедурка нямаше никакви проблеми. Дори един от предишните досадни бъгове е решен.</p>
<p>Говоря за проблема, който се появяваше след sleep на машината &#8211; ако лаптопът се събуди от StandBy, то fingerprint reader-ът не можеше да се използва заради energy saving проблеми.</p>
<p>Но вече всичко е наред :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/os/windows-7-and-authentecs-fingerprint-reader/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vista на различни езици</title>
		<link>http://blog.adilov.net/technical/os/vista-na-razlitchni-ezitsi</link>
		<comments>http://blog.adilov.net/technical/os/vista-na-razlitchni-ezitsi#comments</comments>
		<pubDate>Fri, 04 Sep 2009 17:24:23 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[hd]]></category>
		<category><![CDATA[hdd]]></category>
		<category><![CDATA[home premium]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[microsft]]></category>
		<category><![CDATA[mui]]></category>
		<category><![CDATA[premium]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[translations]]></category>
		<category><![CDATA[ultimate]]></category>
		<category><![CDATA[vaio]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=1229</guid>
		<description><![CDATA[Познат ми даде едно Vaio да му помогна в сетъпа. Машинката е супер &#8211; 500GB диск на 7.2k, 6GB RAM, готин процесор, full HD дисплей и т.н. Донесена от Германия, пускам я &#8211; тя на немски, катерицата. Отворих моя и разрових как да сменя езика на Vista-та. Стигнах тоя път и до хелп-а, после малко [...]]]></description>
			<content:encoded><![CDATA[<p>Познат ми даде едно Vaio да му помогна в сетъпа. Машинката е супер &#8211; 500GB диск на 7.2k, 6GB RAM, готин процесор, full HD дисплей и т.н. Донесена от Германия, пускам я &#8211; тя на немски, катерицата. Отворих моя и разрових как да сменя езика на Vista-та.<span id="more-1229"></span></p>
<p>Стигнах тоя път и до хелп-а, после малко гугъл и каво се оказа &#8211; има какви ли не пакети с езици, но не мога да ги използвам. Защо? Ами, за да мога да използвам пакетите с преводи трябва да upgrade-на до Ultimate (съответно и Enterprise версията поддържа този иначе толкова невероятен фиичър).</p>
<p>Деам, тия ненормални ли са? Предлагат ми да взема друг Home Premium на английски ИЛИ да мина към Ultimate и чак тогава да си изтегля пакета. Пффф, WTF?! Егати сложната функционалност&#8230;</p>
<p>А, и да не забравям &#8211; никога не мога да махна езикът, с който ОС-то е дошло &#8211; той се използвал за генериране на security идентификатори, както и за имената на някои потребителски директории (музика, видео, снимки, етц)&#8230; О.о</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/os/vista-na-razlitchni-ezitsi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: remove all calendar and contact entries</title>
		<link>http://blog.adilov.net/technical/how-to/windows-mobile-remove-all-calendar-and-contact-entries</link>
		<comments>http://blog.adilov.net/technical/how-to/windows-mobile-remove-all-calendar-and-contact-entries#comments</comments>
		<pubDate>Mon, 10 Aug 2009 12:00:19 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[activesync]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[pda]]></category>
		<category><![CDATA[pim]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=1171</guid>
		<description><![CDATA[Как да махнем всички записи в календара и адресната книга от Windows Mobile PDA без да използваме ActiveSync? На ръка &#8211; абсурдно. Единственият начин който открих е чрез премахване на pim файла в My Device директорията. Този файл се използва от PDA-то и не може да се изтрие директно, така че трябва да се използва [...]]]></description>
			<content:encoded><![CDATA[<p>Как да махнем всички записи в календара и адресната книга от Windows Mobile PDA без да използваме ActiveSync? На ръка &#8211; абсурдно. Единственият начин който открих е чрез премахване на pim файла в My Device директорията. Този файл се използва от PDA-то и не може да се изтрие директно, така че трябва да се използва леко глупав workaround. Файлът се преименува (на pim2, например), device-ът се рестартира, създава нов чист pim файл и вече можем да изтрием стария (pim2).</p>
<p>Готово, нямаме старите записи :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/windows-mobile-remove-all-calendar-and-contact-entries/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows files attributes</title>
		<link>http://blog.adilov.net/technical/how-to/windows-files-attributes</link>
		<comments>http://blog.adilov.net/technical/how-to/windows-files-attributes#comments</comments>
		<pubDate>Tue, 23 Jun 2009 18:37:53 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[attrib]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[file attributes]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[файл]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=792</guid>
		<description><![CDATA[Наскоро се занимавах с desktop.ini файловете &#8211; след като го редактирам, той ставаше видим, въпреки че системните файлове са скрити. Погледнах атрибутите на файла след редакцията &#8211; нямаше S (System). За промяна на атрибутите на даден файл под Windows се използва attrib.exe: cmd -&#62; attrib /? C:\Users\Anatoliy Dilov\Downloads&#62;attrib /? Displays or changes file attributes. ATTRIB [...]]]></description>
			<content:encoded><![CDATA[<p>Наскоро се занимавах с desktop.ini файловете &#8211; след като го редактирам, той ставаше видим, въпреки че системните файлове са скрити. Погледнах атрибутите на файла след редакцията &#8211; нямаше <em>S</em> (<em>System</em>).</p>
<p>За промяна на атрибутите на даден файл под Windows се използва attrib.exe: cmd -&gt; attrib /?</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">C:\Users\Anatoliy Dilov\Downloads&gt;attrib /?<br />
Displays or changes file attributes.<br />
<br />
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]<br />
[drive:][path][filename] [/S [/D] [/L]]<br />
<br />
+   Sets an attribute.<br />
-   Clears an attribute.<br />
R   Read-only file attribute.<br />
A   Archive file attribute.<br />
S   System file attribute.<br />
H   Hidden file attribute.<br />
I   Not content indexed file attribute.<br />
[drive:][path][filename]<br />
&nbsp; &nbsp; Specifies a file or files for attrib to process.<br />
/S  Processes matching files in the current folder<br />
&nbsp; &nbsp; and all subfolders.<br />
/D  Processes folders as well.<br />
/L  Work on the attributes of the Symbolic Link versus<br />
&nbsp; &nbsp; the target of the Symbolic Link</div></div>
<p>Крайният резултат за един desktop.ini файл трябва да изглежда така:</p>
<div class="codecolorer-container winbatch default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="winbatch codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">attrib <span style="color: #66cc66;">+</span>h <span style="color: #66cc66;">+</span>s <span style="color: #66cc66;">+</span>a desktop.ini</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/windows-files-attributes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCP (PSCP) в Send To менюто на Windows</title>
		<link>http://blog.adilov.net/technical/how-to/scp-pscp-in-send-to-windows-menu</link>
		<comments>http://blog.adilov.net/technical/how-to/scp-pscp-in-send-to-windows-menu#comments</comments>
		<pubDate>Tue, 10 Feb 2009 22:23:20 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[send to]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[мenu]]></category>
		<category><![CDATA[меню]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=382</guid>
		<description><![CDATA[Тази тема е продължение на PSCP без парола. Без да се направи описаното в нея примерът тук няма да работи с идеята с която е замислен. Каква е ползата &#8211; селектираме един или няколко файла в Explorer, цъкаме десен бутон -&#62; Send To -&#62; My Favourite Remote Location и не пишем парола за пренасянето през [...]]]></description>
			<content:encoded><![CDATA[<p>Тази тема е продължение на <a href="/how-to/public-and-private-keys-with-pscp">PSCP без парола</a>. Без да се направи описаното в нея примерът тук няма да работи с идеята с която е замислен.</p>
<p>Каква е ползата &#8211; селектираме един или няколко файла в Explorer, цъкаме десен бутон -&gt; Send To -&gt; My Favourite Remote Location и не пишем парола за пренасянето през SCP. Как става това:<span id="more-382"></span></p>
<ol>
<li>Tрява ни скрипт, който да извиква scp и да обработва както един, така и множество файлове</li>
<li>SCP трябва да е с регистрирани public и private ключове, за да прехвърля без парола</li>
</ol>
<p><strong>Защо PSCP, а не SCP от Cygwin, например?</strong> Отговорът е прост &#8211; scp от Cygwin не приема windows пътищата и трябва да се правят извращения с промени на пътищата, за да бъдат в *nix-like формат.</p>
<p><strong>Как да настроим PSCP така, че да не въвеждаме парола при използването му? </strong><a href="/how-to/public-and-private-keys-with-pscp">PSCP без парола</a>. :)</p>
<p>От тук нататък следва по-смислената част. Да започнем с batch скрипта, който ще &#8220;хваща&#8221; макркираните файлове. При извикване на изпълним файл от Send To менюто на Windows, селектираният файл, или файлове, се подават под формата на параметри със стойност абсолютните пътища в системата до самите тях. Например ако на Desktop-а имам снимка naked-chick.tiff, цъкна с десен бутон на нея и избера нещо от Send To &#8211; то на този изпълним файл ще се подаде само един параметър в случая &#8211; %USERPROFILE%\Desktop\naked-chick.tiff. Ако са маркирани 2 файла &#8211; съответно 2 параметъра и т.н, затова нашият batch трябва да се усеща за тези разлики. Ето го и него:</p>
<div class="codecolorer-container winbatch default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="winbatch codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #66cc66;">@</span>echo <span style="color: #0080FF; font-weight: bold;">off</span><br />
<span style="color: #FF1010; font-weight: bold;">:: Path to the PSCP executable</span><br />
set path.scp=C<span style="color: #FF1010; font-weight: bold;">:\PROGRAMS\bin\pscp.exe</span><br />
<span style="color: #FF1010; font-weight: bold;">:: Path to the private key file for authentication</span><br />
set path.auth=<span style="color: #66cc66;">%</span>USERPROFILE<span style="color: #66cc66;">%</span>\.ssh\pscp.ppk<br />
<span style="color: #FF1010; font-weight: bold;">:: Remote server folder</span><br />
set path.remote=tmp<br />
<span style="color: #FF1010; font-weight: bold;">:: User name to log on the remote server</span><br />
set cred.user=my<span style="color: #66cc66;">-</span>user<br />
<span style="color: #FF1010; font-weight: bold;">:: Remote server address</span><br />
set cred.host=my<span style="color: #66cc66;">-</span>domain.com<br />
<br />
<span style="color: #FF1010; font-weight: bold;">:CP_LOOP</span><br />
<span style="color: #66cc66;">@</span>echo <span style="color: #0080FF; font-weight: bold;">on</span><br />
<span style="color: #66cc66;">%</span>path.scp<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">-</span>i <span style="color: #ff0000;">&quot;%path.auth%&quot;</span> <span style="color: #66cc66;">%</span>1 <span style="color: #66cc66;">%</span>cred.user<span style="color: #66cc66;">%@%</span>cred.host<span style="color: #66cc66;">%</span><span style="color: #FF1010; font-weight: bold;">:&quot;%path.remote%&quot;</span><br />
<span style="color: #66cc66;">@</span>echo <span style="color: #0080FF; font-weight: bold;">off</span><br />
<span style="color: #0080FF; font-weight: bold;">shift</span><br />
<span style="color: #800080;">if</span> <span style="color: #ff0000;">&quot;%1&quot;</span> == <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #800080;">goto</span> <span style="color: #800080;">END</span><br />
<span style="color: #800080;">goto</span> CP_LOOP<br />
<br />
<span style="color: #FF1010; font-weight: bold;">:END</span><br />
<span style="color: #0000FF;">pause</span></div></td></tr></tbody></table></div>
<p>Малко обяснение за скрипта:</p>
<ol>
<li>set нещо-си са променливи &#8211; трябва да се сет-нат спрямо всяка индивидуална система</li>
<li>CP_LOOP принципно е безкраен цъкъл, който обхожда всички входни параметри (благодарение на shift) и се прекъсва, след последния валиден параметър</li>
<li>echo on и off са сложени, за да видим резутата от всяко едно прехвърляне</li>
<li>pause накрая мрънка за any key to continue &#8211; целта е да видим статусите на спокойствие. Всеки, който го дразни и е сигурен в прехвърлянето може да го разкара</li>
<li>Около %path.scp% и %1 в scp командата <strong>умишелно</strong> няма кавички!</li>
</ol>
<p>Записваме този batch с някакво-смислено-име.bat по файловата система, отваряме Send To директорията и правим там shortcut към файла. Шорткътът преименуваме с името, с което искаме да се вижда в Send To менюто и сме готови :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/scp-pscp-in-send-to-windows-menu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vista не позволява да бъдат отворени повече от 15 файла наведнъж</title>
		<link>http://blog.adilov.net/technical/os/vista-ne-pozvolyava-da-badat-otvoreni-povetche-ot-15-fayla-navednazh</link>
		<comments>http://blog.adilov.net/technical/os/vista-ne-pozvolyava-da-badat-otvoreni-povetche-ot-15-fayla-navednazh#comments</comments>
		<pubDate>Sat, 07 Feb 2009 21:01:13 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[архив]]></category>
		<category><![CDATA[файл]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=375</guid>
		<description><![CDATA[Чопля си код, чета разни боламачи на SWIG и по едно време решавам да отворя с Notepad++ едно известно количество от .java файлове (40-тина). Какво направих &#8211; разархивирах архива, в който бяха те, изплюх ги в една директория, Ctrl + a, Enter. Нъц. Викам си &#8220;добре де, може би съм идиот и не става само [...]]]></description>
			<content:encoded><![CDATA[<p>Чопля си код, чета разни боламачи на SWIG и по едно време решавам да отворя с Notepad++ едно известно количество от .java файлове (40-тина). Какво направих &#8211; разархивирах архива, в който бяха те, изплюх ги в една директория, Ctrl + a, Enter. <strong>Нъц</strong>. Викам си &#8220;добре де, може би съм идиот и не става само с блъскане на Enter&#8221;. Направих си шорткът в SendTo директорията към Notepad++ и както бяха все още маркирани всички цъкам десен бутон -&gt; Send To -&gt; Notepad++ -&gt; <strong>Same shit, different asshole</strong>&#8230;<span id="more-375"></span></p>
<p>И взех да ровя&#8230; И какво намерих&#8230; К&#8217;вооо&#8230; Това бил невероятния фичър, който ме предпазва от забавяне на системата&#8230; Е добре де, аз да не съм идиот и да отида в sys32 и да шибна Enter&#8230; А пък като искам &#8211; ще го направя. Имам една торба с рам, защо ОС-то ще ми казва какво да правя и какво не&#8230;</p>
<p>Аххх&#8230; Не съм казвал защо стоя на виста (windows като цяло) на лаптопа&#8230; Единствена причина &#8211; не мога да sync-вам Windows Mobile телефона си с Thunderbird. И да &#8211; не искам да минавам през Google Calendar :)</p>
<p>Няма значение,<br />
Поздрави.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/os/vista-ne-pozvolyava-da-badat-otvoreni-povetche-ot-15-fayla-navednazh/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Copy/Paste през Remote Desktop</title>
		<link>http://blog.adilov.net/technical/how-to/copypaste-prez-remote-desktop</link>
		<comments>http://blog.adilov.net/technical/how-to/copypaste-prez-remote-desktop#comments</comments>
		<pubDate>Wed, 04 Feb 2009 14:24:54 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Интернет]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[mstsc]]></category>
		<category><![CDATA[paste]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[remote desktop]]></category>
		<category><![CDATA[директория]]></category>
		<category><![CDATA[копиране]]></category>
		<category><![CDATA[отдалечен]]></category>
		<category><![CDATA[файл]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=369</guid>
		<description><![CDATA[Наскоро исках да взема няколко файла през една Windows-ка машина до друга по възможно най-мързеливия начин &#8211; Remote Desktop. За да се постигне това ни е нужно активиране на опцията за mount-ване на дяловете на отдалечената машина върху текущата. Това става от mstsc (Remote Desktop Connection) -&#62; Options -&#62; Local Resources -&#62; Disk Drives (трябва [...]]]></description>
			<content:encoded><![CDATA[<p>Наскоро исках да взема няколко файла през една Windows-ка машина до друга по възможно най-мързеливия начин &#8211; Remote Desktop.</p>
<p>За да се постигне това ни е нужно активиране на опцията за mount-ване на дяловете на отдалечената машина върху текущата. Това става от mstsc (Remote Desktop Connection) -&gt; Options -&gt; Local Resources -&gt; Disk Drives (трябва да бъде активирано).</p>
<p>Връзваме се към remote машината и с copy/paste можем да таркаляме файлове откоято и да е нейна директория в която и да е наша директория.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/copypaste-prez-remote-desktop/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Command Prompt в контекстното меню на Windows Explorer</title>
		<link>http://blog.adilov.net/technical/how-to/command-prompt-v-kontekstnoto-menyu-na-windows-explorer</link>
		<comments>http://blog.adilov.net/technical/how-to/command-prompt-v-kontekstnoto-menyu-na-windows-explorer#comments</comments>
		<pubDate>Wed, 28 Jan 2009 22:44:35 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[command prompt]]></category>
		<category><![CDATA[explorer]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[reg]]></category>
		<category><![CDATA[regedit]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[регистри]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=356</guid>
		<description><![CDATA[Отварям Explorer, вървя по директориите и изведнъж се сещам, че точно в тази директория трябва да изпълня нещо в командния ред. За да го направя трябва да отворя cmd и да стигна до същата директория или copy/paste метода. Прекалено много време и труд се иска, за да се направят последователно толкова действия. Много удобен и [...]]]></description>
			<content:encoded><![CDATA[<p>Отварям Explorer, вървя по директориите и изведнъж се сещам, че точно в тази директория трябва да изпълня нещо в командния ред. За да го направя трябва да отворя cmd и да стигна до същата директория или copy/paste метода. Прекалено много време и труд се иска, за да се направят последователно толкова действия. Много удобен и мързелив начин е да стартираме cmd от текущата директория от контекстното меню. Какво трябва да се направи (силата на един regedit):<span id="more-356"></span></p>
<ol>
<li>Стигаме в regedit до <span>HKEY_LOCAL_MACHINE/Software/Classes/Folder/Shell</span></li>
<li><span>Създаваме key с име Command Prompt (или какъвто друг текст искате да има в item-a в контекстното меню)</span></li>
<li><span>Създаваме key в Command Prompt с име command (задължително)</span></li>
<li><span>В стойността на Default пишем &#8220;</span><span>cmd.exe /k pushd %1</span><span>&#8221; &#8211; естествено без кавичките</span></li>
</ol>
<p><span>Найс &amp; шайни. А за още по-мързелив вариант, ето съдържането на .reg файлът, който ще направи стъпките вместо нас:<br />
</span></p>
<div class="codecolorer-container reg default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="reg codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&#91;</span><span style="color: #800000;">HKEY_LOCAL_MACHINE</span>\SOFTWARE\Classes\Folder\shell\Command Prompt<span style="color: #000000;">&#93;</span><br />
<br />
<span style="color: #000000;">&#91;</span><span style="color: #800000;">HKEY_LOCAL_MACHINE</span>\SOFTWARE\Classes\Folder\shell\Command Prompt\command<span style="color: #000000;">&#93;</span><br />
<span style="">@</span><span style="color: #000000;">=</span><span style="">&quot;cmd.exe /k pushd %1&quot;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/command-prompt-v-kontekstnoto-menyu-na-windows-explorer/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Добавяне на нов обект в менюто New на Windows</title>
		<link>http://blog.adilov.net/technical/how-to/dobavyane-na-nov-obekt-v-menyuto-new-na-windows</link>
		<comments>http://blog.adilov.net/technical/how-to/dobavyane-na-nov-obekt-v-menyuto-new-na-windows#comments</comments>
		<pubDate>Sun, 23 Nov 2008 08:24:01 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[меню]]></category>
		<category><![CDATA[нов]]></category>
		<category><![CDATA[обект]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=162</guid>
		<description><![CDATA[Отваряме Windows Explorer -&#62; десен бутон -&#62; New и виждаме списък с предложения за нови файлове. Ето как можем да добавим нов тип файл (html за пример): Отваряме regedit и търсим HKEY_CLASSES_ROOT\.html. Създаваме нов Key с име ShellNew. Според MSDN Library, в него можем да управляваме създаването по няколко начина: NullFile (String Value) &#8211; създава [...]]]></description>
			<content:encoded><![CDATA[<p>Отваряме Windows Explorer -&gt; десен бутон -&gt; New и виждаме списък с предложения за нови файлове. Ето как можем да добавим нов тип файл (html за пример):</p>
<p>Отваряме regedit и търсим HKEY_CLASSES_ROOT\.html. Създаваме нов Key с име ShellNew. Според MSDN Library, в него можем да управляваме създаването по няколко начина:<span id="more-162"></span></p>
<ul>
<li>NullFile (String Value) &#8211; създава нов файл с дължина 0 байта</li>
<li>Command (String Value) &#8211; изпълнява тази команда при създаването на нов файл. Пример за такава команда е New -&gt; Shortcut (HKEY_CLASSES_ROOT\.Ink\Command)</li>
<li>FileName (String Value) &#8211; път до файла, който трябва да бъде копиран. Пример &#8211; офис документите. Тези файлове се пазят в следните директории (обхождат се в този ред):
<ol>
<li>%Userprofile%\Templates</li>
<li>%Allusersprofile%\Templates</li>
<li>%Systemroot%\ShellNew</li>
</ol>
</li>
<li>Data (Binary Value) &#8211; съдържание на файла. Игнорира се, ако NullFile или FileName съществуват</li>
</ul>
<p>След като сме готови трябва да се рестартира Windows, но предпочитам по-мързеливият начин &#8211; отварям Task Manager и убивам (всички) explorer.exe процеси. Отварям File -&gt; New Task (Run) -&gt; explorer -&gt; OK и се наслаждавам на удобството при създаване на нови типове файлове :-&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/dobavyane-na-nov-obekt-v-menyuto-new-na-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Ganymede под Windows Vista x64</title>
		<link>http://blog.adilov.net/technical/how-to/eclipse-ganymede-pod-windows-vista-x64</link>
		<comments>http://blog.adilov.net/technical/how-to/eclipse-ganymede-pod-windows-vista-x64#comments</comments>
		<pubDate>Thu, 09 Oct 2008 23:20:45 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Програмиране]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programs]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[инсталация]]></category>
		<category><![CDATA[стартиране]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=115</guid>
		<description><![CDATA[OS: Windows Vista Business x64 И както се очаква &#8211; на x64 система инсталирах x64 Java. Но като разархивирах и пуснах Eclipse се прехапах леко, защото ме наплю, че търси x86 система. Ето какво направих като решение, но преди това малко предговор за Vista x64. Vista x64 създава две директории Program Files и Program Files [...]]]></description>
			<content:encoded><![CDATA[<p>OS: Windows Vista Business x64</p>
<p>И както се очаква &#8211; на x64 система инсталирах x64 Java. Но като разархивирах и пуснах Eclipse се прехапах леко, защото ме наплю, че търси x86 система. Ето какво направих като решение, но преди това малко предговор за Vista x64. Vista x64 създава две директории Program Files и Program Files (x84) на едно и също ниво. Идеята е, че x64 софтуерът ще се намира в Program Files, a x86 &#8211; в Program Files (x86). Това е достатъчно да продължим нататък.<span id="more-115"></span></p>
<p>За момент оставяме x64 Java-та настрана &#8211; с нея ще се занимаваме след малко.</p>
<p>Инсталираме Java x86 &#8211; в Program Files (x86). Нека кажем, че пътят до директорията й е C:\Program Files (x86)\Java\jdk1.6.0_07. Отваряме директорията където е разархивиран Eclipse Ganymede, а след това и файла eclipse.ini. В него добавяме &#8220;-vm &#8220;C:\Program Files (x86)\Java\jdk1.6.0_07\bin\javaw.exe&#8221;" (без външните кавички), записваме и пускаме Eclipse. Готово, вече е запален и до колкото е възможно работи ;)</p>
<p>Да се върнем на x64 Java-та. В Eclipse: Window -&gt; Preferences -&gt; Java -&gt; Installed JREs. Тук би трябвало да се вижда Java-та с която е стартиран Eclispe, а именно x86 версията. За улеснение Ще променим името, за да знаем за в бъдеще с коя версия работим. Edit и на name слагаме само x86 (или какъвто и да е друг стинг &#8211; няма значение) и след това Finish. Добавяме и x64 версията: Add -&gt; Standard VM -&gt; Next -&gt; Directory и тук намираме директорията, в която е разархивирана Java x64 (Например C:\Program Files\Java\jdk1.6.0_07). При името добавяме отново едно стрингче, за да виждаме разликата между версиите &#8211; например x64. Finish. Отметката се слага на Java-та по подразбиране &#8211; когато се създава нов проект коя от всички версии да се използва. Аз ще сложа отметка на x64. Готови сме.</p>
<p>ПС: В системните промнливи съм сетнал x64 версията, ето output:</p>
<p>JAVA_HOME=C:\Program Files\Java\jdk1.6.0_07<br />
JDK_HOME=C:\Program Files\Java\jdk1.6.0_07<br />
JRE_HOME=C:\Program Files\Java\jdk1.6.0_07\jre<br />
PATH=C:\Program Files\Java\jdk1.6.0_07\bin</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/eclipse-ganymede-pod-windows-vista-x64/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cygwin под Windows Vista</title>
		<link>http://blog.adilov.net/technical/how-to/cygwin-pod-windows-vista</link>
		<comments>http://blog.adilov.net/technical/how-to/cygwin-pod-windows-vista#comments</comments>
		<pubDate>Thu, 09 Oct 2008 20:15:58 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[инсталация]]></category>
		<category><![CDATA[стартиране]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=111</guid>
		<description><![CDATA[Операционната система е Windows Vista Business x64, а wrapper-a на executable-ите е Cygwin. При успешната му инсталация ако създам файл или директория, то тя е със статус Shared. Това лесно може да се оправи само с добавянето на един запис в системните променливи. Ето как става това: Computer -&#62; Properties (или Win key + Pause [...]]]></description>
			<content:encoded><![CDATA[<p>Операционната система е Windows Vista Business x64, а wrapper-a на executable-ите е Cygwin. При успешната му инсталация ако създам файл или директория, то тя е със статус Shared. Това лесно може да се оправи само с добавянето на един запис в системните променливи. Ето как става това: Computer -&gt; Properties (или Win key + Pause key) -&gt; Advanced system settings -&gt; Advanced (tab) -&gt; Environment Variables -&gt; New (@ System Variables group box). За name пишем CYGWIN, а за value &#8211; nontsec. OK по джамчетата и вече Cygwin създава файлове/директории, принадлежащи на текущия user.</p>
<p>Още малко инфо: по същия начин е под Ultimate и Business на x86 i x64 архитектури. На по-скромните версии на Виста &#8211; не съм се сблъсквал.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/cygwin-pod-windows-vista/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD + PF (Packet Filter) за /NAT/ router</title>
		<link>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router</link>
		<comments>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router#comments</comments>
		<pubDate>Thu, 09 Oct 2008 15:05:12 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[packet filter]]></category>
		<category><![CDATA[pf]]></category>
		<category><![CDATA[provider]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ttl]]></category>
		<category><![CDATA[доставчик]]></category>
		<category><![CDATA[Интернет]]></category>
		<category><![CDATA[конфигурация]]></category>
		<category><![CDATA[провайдер]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=96</guid>
		<description><![CDATA[Идеята на темата не е една. Всеки може да реши да прави подобно нещо по различни поводи. Аз ще спомена моите &#8211; те са два. Първо &#8211; имам повече от една машина, която се нуждае от пакети от външния свят ;) и второ &#8211; нуждата да насочвам определени рикуести да отиват на определени места. За [...]]]></description>
			<content:encoded><![CDATA[<p>Идеята на темата не е една. Всеки може да реши да прави подобно нещо по различни поводи. Аз ще спомена моите &#8211; те са два. Първо &#8211; имам повече от една машина, която се нуждае от пакети от външния свят ;) и второ &#8211; нуждата да насочвам определени рикуести да отиват на определени места. За втората причина няма да говоря сега, ще опиша как с FBSD платформа да имаме интернет на машините във вътрешната мрежа, въпреди, че isp-ът го забранява.<span id="more-96"></span></p>
<p>Проблемът в моя случай беше, че TTL-ът на върнатите от доставчика пакети беше 1 и след като минат през рутера не достигат машината към която трябва да отидат.</p>
<p>Дифолтния кърнел на FreeBSD няма съпорт за pf, затова трябва да се <a href="http://www.freebsd.org/doc/en/books/handbook/kernelconfig-building.html">прекомпилира кърнела</a> с 3 допълнителни значещи реда реда:<br />
#Packet Filter<br />
device pf                       # Support for OpenBSD&#8217;s Packet Filter<br />
device pflog                  # Enables logging the network traffic<br />
device pfsync                # Monitor &#8220;State Changes&#8221;</p>
<p>След като сме готови можем да напишем малко инфо какво и с кого да прави pf-a. Отваряме за едит /etc/rc.conf и вътре за pf ни трябва:<br />
pf_enable=&#8221;YES&#8221;<br />
pf_rules=&#8221;/etc/pf.conf&#8221;<br />
pf_flags=&#8221;"<br />
pflog_enable=&#8221;YES&#8221;<br />
pflog_logfile=&#8221;/var/log/pflog&#8221;<br />
pflog_flags=&#8221;"</p>
<p>Следващата стъпка е основното &#8211; правилата в /etc/pf.conf. Тук е малко по-особеното &#8211; трябва да се деасемблират пакетите, да се сетне нужната ни дължина, да се асемблират обратно и тогава да се изпратят. Дадените примери са за една машина, която ще се връзва и един ethernet interface, но не е проблем да са повече лан-картите, или пък от една лан-карта да отива кабел в switch, друг router или някакъво друго мрежо-capable дивайсче (Само за пример: в моя случай имам 2 лан-карти на FBSD машината, които се NAT-ват &#8211; за едната е закачена друга машина, а към втората има switch, за който са свързани още един рутер и wifi access point).</p>
<p>Ето какво ни трябва (без да влизам в подробности с обяснението кое за какво и как се използва) в /etc/pf.conf:<br />
#######################################<br />
## PACKETS MODIFYING #######################<br />
scrub in on $ext_if all min-ttl 25 max-mss 1400 fragment reassemble<br />
scrub out on $ext_if all min-ttl 65 max-mss 1400 fragment reassemble</p>
<p>scrub in<br />
scrub in all fragment reassemble<br />
scrub in on $ext_if all no-df fragment reassemble</p>
<p>#######################################<br />
## NAT ##################################<br />
# Internal Machines rules<br />
nat on $all_if from &lt;int_machines&gt; to any -&gt; ($ext_if)</p>
<p>Последните 2 реда са за пример &#8211; за всеки запис &#8211; нов нат като предходните. Ето краткото обяснение на горенаписаното:</p>
<p>scrub-овете служат да си поиграем с пакетите. Накратко какво става: на изходящите пакети слагаме TTL 65, а на входящите &#8211; 25. Така сме сигурни, че входящите пакети ще пристигнат до машината, която ги чака и няма да бъдат загубени по трасето.</p>
<p>nat-овете map-ват пакетите и след като се получи отговор се пращат до машината, която ги е изпратила първоначално. Идеята с няколко думи е, че ако машина М1 изпрати пакет до сървър S1, mинаващ през рутер R1, то nat-ът на R1 изпраща пакета &#8220;от негово име&#8221; като прави таблица, в която се пази информацията, че резултатът ще се препрати обратно до М1. S1 отговаря на R1 и nat-ът пренасочва пакета към M1.</p>
<p>И за променливите: $ext_if е лан-картата с жицата от доставчика. $all_if &#8211; списък с всички интерфейси, с които искам да работя. Изглежда по този начин: all_if=&#8221;{ rl0 re0 lo0 }&#8221;. int_machines&gt; е таблица с IP-тата на всички машини от вътрешната мрежа. Ето как се създава подобна таблица:<br />
table  {\<br />
&lt;ip -na pc/router/access-point/etc&gt;,\<br />
&lt;ip -na pc/router/access-point/etc&gt;\<br />
}<br />
Трябва да се обърне внимане на предпоследния ред &#8211; няма запетая накрая ;)<br />
също е таблица, изглежда по същия начин като  (с други ип-та вътре естествено :&gt;). За мое улеснение в таблицата с IP-тата на машините във вътрешната мрежа не съм набил IP-тата вътре. Предварително са създадени променливи с името на всяка от машините и нейното IP и после тези променливи са написани в таблицата. Още един плюс за таблиците &#8211; динамично може да се вкарват IP-та, но това е тема на друг разговор&#8230;</p>
<p>Бием един рестарт заради кърнела и сме готови :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/freebsd-pf-packet-filter-za-nat-router/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVN под FreeBSD</title>
		<link>http://blog.adilov.net/technical/how-to/svn-under-freebsd</link>
		<comments>http://blog.adilov.net/technical/how-to/svn-under-freebsd#comments</comments>
		<pubDate>Mon, 29 Sep 2008 20:49:07 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[инсталация]]></category>
		<category><![CDATA[конфигурация]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=83</guid>
		<description><![CDATA[Ползата от version-control е ясна и няма да говоря за нея тук. Целта на това how-to е как за 5-10 минути да setup-нем SVN под FreeBSD. Да спомена преди стъпките на каква система ще го правя. OS: FreeBSD 7.1 Prerelease с ъпдейтнати до current портове. 1. Къде се намира директорията в порт-дървото, която ни трябва: [...]]]></description>
			<content:encoded><![CDATA[<p>Ползата от version-control е ясна и няма да говоря за нея тук. Целта на това how-to е как за 5-10 минути да setup-нем SVN под FreeBSD.</p>
<p>Да спомена преди стъпките на каква система ще го правя. OS: FreeBSD 7.1 Prerelease с ъпдейтнати до current портове.</p>
<p>1. Къде се намира директорията в порт-дървото, която ни трябва: <em>/usr/ports/devel/subversion</em>. В момента версията на svn-а е 1.5.2<span id="more-83"></span></p>
<p>2. Как да се инсталира. Тук има различни подходи, избрах да не използвам Berckley DB, ами да разчитам на файловата система. Просто BDB в случая не ми трябва, файловата система има доста по-oпростена структура, дори и в този случай е с по-голямо бързодействие (поне такива са статистиките). Още един от параметрите, който ще използвам е за wrap-ване на SVN user-a. Става въпрос за променя стандартният umask на изпълнимите файлове от 022 на 002. Крайният резултат е <em>make -DWITH_SVNSERVE_WRAPPER -DWITHOUT_BDB install clean</em>.</p>
<p>3. До тук добре &#8211; инсталирано е, сега трябва да се сетнат малко променливи. Отваряме <em>/etc/rc.conf</em> и вътре слагаме:</p>
<ol>
<li><em>svnserve_enable=&#8221;YES&#8221;</em></li>
<li><em>svnserve_flags=&#8221;-d &#8211;listen-port=3690&#8243;</em></li>
<li><em>svnserve_data=&#8221;/reps&#8221;</em></li>
<li><em>svnserve_user=&#8221;svn&#8221;</em></li>
<li><em>svnserve_group=&#8221;svn&#8221;</em></li>
</ol>
<p>Ето и кой параметър какво представлява:</p>
<ol>
<li>Да се стартира при стартиране на системата</li>
<li>Да запали в deamon-mode и да слуша на порт 3690 (това е стандартния порт за svn)</li>
<li>Къде е хранилището (при мен svn-ът е пуснат във jail, който използва mount-ната от хост-системата директория. По-важното е да се знае как да се направи директория за repository-тата &#8211; <em>mkdir /reps; chown svn:svn /reps</em>)</li>
<li>и 5. Потребител и парола под които да се стартира subversion и да се достъпват съхранените файлове по файлвата система.</li>
</ol>
<p>4. Стартирането на SVN-a се състои в две стъпки &#8211; първо трябва да копираме един бинарен файл: <em>cp /usr/local/bin/svnserve.bin /usr/local/bin/svnserve</em> &#8211; без тази стъпка потребителите няма да могат да достъпват хранилищата. И после &#8211; самото стартиране: <em>/usr/local/etc/rc.d/svnserve start.</em></p>
<p>5. Следва създаването на първото хранилище &#8211; логваме се като svn user: <em>su &#8211; svn</em>. Отиваме в <em>/reps </em>и използваме svnadmin за създаване на първото хранилище: <em>svnadmin create &lt;rep-name&gt;</em>, където <em>&lt;rep_name&gt;</em> е произволно име на хранилище. Нека кажем, че ще използваме за име <em>test-rep</em>.</p>
<p>6. Конфигуриране на хранилището &#8211; единственото което трябва да се направи е да забием на ръка потребител и парола. В току-що създаденото хранилище ни интересува съдържанието на директорията <em>conf</em>: authz, passwd и svnserve.conf. Започвам с authz &#8211; тук се описва кой потребител какви права има. Най-елементарното е да дадем на измислен от нас потребител пълни права. Нужни са два реда. Първият е <em>&#8220;[/]</em>&#8221; &#8211; главната директория на repository-то, а вторият &#8211; &#8220;<em>test-rep-admin = rw</em>&#8220;, където test-rep-admin е името на потребителя, а <em>rw</em> са read/write права (без кавичките и на първия, и на втория ред). Следва passwd файла &#8211; също 2 реда. Първи: &#8220;<em>[users]</em>&#8220;, a вторият &#8211; &#8220;<em>test-rep-admin = mega-secret</em>&#8221; (без кавичките отново). Тук първият ред означава, че даваме права за потребители, а не за групи, а вторият &#8211; кой потребител каква парола има (в plain-text). Третият файл &#8211; svnserve.conf. Тук редовете са малко повече, но също така елементарна конфигурация (без кавички). Първи ред: &#8220;<em>[general]</em>&#8220;, втори ред: &#8220;<em>anon-access = none</em>&#8220;, трети: &#8220;<em>passwd-db = passwd</em>&#8220;, четвърти: &#8220;<em>authz-db = authz</em>&#8220;, пети: &#8220;<em>realm = This is just a test repository</em>&#8220;. Тук само последният ред е интересен &#8211; става въпрос за разпознаване на хранилищата. Всяко хранилище (нормално) има раличен realm. Благодарение на това име хранилищата могат да разпознават кои auths и passwd файлове да използват, svn-клиентът кешира правилно и т.н. Още нещо &#8211; при искане на User/password обикновено се изписва това име и по този начин потребителят може да е сигурен къде се логва.</p>
<p>6. Тестване дали хранилището работи (в моя случай от windows-ка машина, извън вътрешната мрежа, като за целта ще използвам tortoise svn за клиент) &#8211; създаваме една нова директория някъде (не говоря в момента как се използва клиента) и стигаме до момента, в който трябва да въведем URL. Взимаме домейна (или IP-то) на FreeBSD машината и адресът се образува по следня начин <em>svn://&lt;domain/ip&gt;/test-rep. </em>Например в моя случай трябва да въведа <em>svn://adilov.net/test-rep. </em>Потребител/парола взимам от горе-споменатите (test-rep-admin:mega-secret)</p>
<p>7. Вече можем да си sync-ваме :)</p>
<p>Нещо интересно, което пропуснах да спомена. Да вземем за пример пак test-rep хранлището. Ако в <em>/reps</em> създам директория <em>examples</em>, в нея друга &#8211; <em>tmp</em> и чак тогава изпълня стъпките за създаване на repository, URL-ът се променя спрямо пътя във файловата система и ще стане <em>svn://&lt;domain/ip&gt;/examples/tmp/test-rep</em>. По този начин много лесно могат да бъде създадена един вид йерархия.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/svn-under-freebsd/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Стандартен Explore във File Types на Windows</title>
		<link>http://blog.adilov.net/technical/how-to/standarten-explore-vav-file-types-na-windows</link>
		<comments>http://blog.adilov.net/technical/how-to/standarten-explore-vav-file-types-na-windows#comments</comments>
		<pubDate>Wed, 17 Sep 2008 11:04:18 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[Операционни Системи]]></category>
		<category><![CDATA[default]]></category>
		<category><![CDATA[explore]]></category>
		<category><![CDATA[explorer]]></category>
		<category><![CDATA[file types]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=27</guid>
		<description><![CDATA[Един ден реших да правя извращения с File Types на една Windows-ка машина (в Explorer: Tools &#62; Folder Options &#62; File Types) и след като си тествах и постигнах това, което исках се оказа, че като кликна на някоя директория ми се отваря сърч-a, не както обичайното Explore. Проблемът всъшност се състоеше в това, че [...]]]></description>
			<content:encoded><![CDATA[<p>Един ден реших да правя извращения с File Types на една Windows-ка машина (в Explorer: Tools &gt; Folder Options &gt; File Types) и след като си тествах и постигнах това, което исках се оказа, че като кликна на някоя директория ми се отваря сърч-a, не както обичайното Explore. Проблемът всъшност се състоеше в това, че не можех да направя Explore функционалостта да ми отваря директорията в същото джамче&#8230;<br />
Потърсих по интернетите (винаги ми става забавно като кажа тази дума :&gt;) какво казват по този проблем и намерих едно скриптче (<a href="http://www.dougknox.com">тук</a>), което оправи проблема. Ето го и скрипта:<span id="more-27"></span></p>
<div class="codecolorer-container vbnet default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="vbnet codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #FF8000;">Set</span> WshShell <span style="color: #008000;">=</span> WScript.<span style="color: #0600FF;">CreateObject</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;WScript.Shell&quot;</span><span style="color: #000000;">&#41;</span><br />
p1 <span style="color: #008000;">=</span> <span style="color: #808080;">&quot;HKEY_CLASSES_ROOT\Directory\shell\&quot;</span><br />
p2 <span style="color: #008000;">=</span> <span style="color: #808080;">&quot;none&quot;</span></div></td></tr></tbody></table></div>
<p>WshShell.RegWrite p1, p2</p>
<p>p1 = &#8220;HKEY_CLASSES_ROOT\Drive\shell\&#8221;<br />
WshShell.RegWrite p1, p2</p>
<p>X = WshShell.Run(&#8220;REGSVR32 /I /S SHELL32.DLL&#8221;,4,True)<br />
Set WshShell = Nothing</p>
<p>MyBox = MsgBox(&#8220;Folders will now Open when double clicked&#8221;, 4096, &#8220;Finished!&#8221;)</p>
<p>И как можем да го използваме:<br />
Правим един файл и в него пействаме скрипта. Записваме с разширение .vbs и прилагаме метода &#8220;цък&#8221;. Вече Explore в Explorer работи с нормалното си поведение при придвижване по директориите.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/how-to/standarten-explore-vav-file-types-na-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

