<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3622801626169945037</id><updated>2011-11-27T15:48:30.312-08:00</updated><category term='icq'/><category term='routetrace'/><category term='dd'/><category term='парсинг'/><category term='clive'/><category term='ping'/><category term='update-manager'/><category term='vm'/><category term='ps'/><category term='cryptsetup'/><category term='l2tp'/><category term='ntpdate'/><category term='passenger'/><category term='git'/><category term='md5sum'/><category term='gem'/><category term='PuTTY'/><category term='nginx'/><category term='rails'/><category term='GIMP'/><category term='SystemRescueCD'/><category term='EDITOR'/><category term='yota'/><category term='pwgen'/><category term='remastersys'/><category term='zenty'/><category term='crontab'/><category term='wget'/><category term='krbf'/><category term='SSH'/><category term='type'/><category term='LVM'/><category term='battery'/><category term='acer aspire one'/><category term='resquecd'/><category term='OSX'/><category term='ntp'/><category term='libxml2'/><category term='squid'/><category term='iftop'/><category term='slimrat'/><category term='ddclient'/><category term='xorg.conf'/><category term='nokogiri'/><category term='remote desktop'/><category term='mtu'/><category term='clamav'/><category term='ubuntu'/><category term='pydf'/><category term='crypto'/><category term='flyback'/><category term='google'/><category term='ruby'/><category term='xl2tpd'/><category term='OpenVZ'/><category term='rsa'/><category term='fuser'/><category term='PuttyGen'/><category term='iso'/><category term='corbina'/><category term='irb'/><category term='wine'/><category term='tor'/><category term='openoffice'/><category term='leopard'/><category term='plugin'/><category term='tuning'/><category term='dnd'/><category term='mkfs'/><category term='kvm'/><category term='repository'/><category term='приколы'/><category term='directx'/><category term='Debian'/><category term='mtr'/><category term='sftp'/><category term='sqlite'/><category term='size'/><category term='vnc'/><category term='kde'/><category term='du'/><category term='jquery'/><category term='netbook'/><category term='slideshow'/><category term='ATI'/><category term='log'/><category term='LUKS'/><category term='samba'/><category term='routing'/><category term='vpn'/><category term='LiveCD'/><category term='gmail'/><category term='DNS'/><category term='ltsp'/><category term='rsync'/><category term='dvd'/><category term='odbc'/><category term='firefox'/><category term='sshfs'/><category term='vds'/><category term='TextMate'/><category term='Bundle'/><category term='scp'/><category term='linpus'/><category term='mc'/><category term='cron'/><category term='X11'/><category term='notebook'/><category term='xen'/><category term='backup'/><category term='jabber'/><category term='photoshopCS2'/><category term='security'/><category term='sendmail'/><category term='bash'/><category term='dyndns'/><category term='X11vnc'/><category term='privoxy'/><category term='photo'/><category term='distr'/><category term='xcode'/><category term='dev'/><category term='par2'/><category term='Xming'/><category term='screenshot'/><category term='htop'/><category term='mta'/><category term='mad_vhost_alias'/><category term='DHCP'/><category term='iptraf'/><category term='wake up on lan'/><category term='kxkb'/><category term='exim4'/><category term='grub'/><category term='XP'/><category term='cd-rom'/><category term='joomla'/><category term='dnsmasq'/><category term='postfix'/><category term='benchmark'/><category term='gzip'/><category term='cdrecord'/><category term='kill'/><category term='kkbswitch'/><category term='mssql'/><category term='dstat'/><category term='console'/><category term='find'/><category term='Nvidia'/><category term='p5k'/><category term='framebuffer'/><category term='python'/><category term='script'/><category term='apt-mirror'/><category term='windows'/><category term='chmod'/><category term='rake'/><category term='pxe'/><category term='linux'/><category term='apache'/><category term='vba'/><category term='bontima'/><category term='beep'/><category term='HDD'/><category term='php'/><category term='ajax'/><category term='transparent proxy'/><category term='mount'/><category term='games'/><category term='nero'/><category term='how-to'/><category term='incremental'/><category term='VLC'/><category term='Rapidshare'/><category term='wi-fi'/><category term='dm-crypt'/><category term='nat'/><category term='eePC'/><category term='sfdisk'/><category term='DVB-S'/><category term='antivirus'/><category term='datepicker'/><category term='RegExp'/><category term='terminal'/><category term='Grub4Dos'/><category term='bacula'/><category term='MySql'/><category term='maps'/><category term='iptables'/><category term='Samsung U200'/><category term='fdisk'/><category term='netcat'/><category term='Gajom'/><title type='text'>kmb-tips</title><subtitle type='html'>полезное по линуксу и  os x
 собрано все интересное мне лично (методом copy-paste из инета и не пыхтите насчет копирайта я ссылки на источник ставлю)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default?start-index=101&amp;max-results=100'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>117</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2710052194744698060</id><published>2010-05-20T01:51:00.000-07:00</published><updated>2011-04-12T00:56:01.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='datepicker'/><title type='text'>Ruby on Rails  делаем красивые формы ( поле ввода даты)</title><content type='html'>Если хочется показывать нормальный контрол для даты а не ущербные три селекта то используем jQuery datepicker&lt;br /&gt;&lt;br /&gt;Как сделать не меняя старого кода &lt;a href="http://kmb.homelinux.net/tags/unobtrusive"&gt;http://kmb.homelinux.net/tags/unobtrusive&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://turafisha.ua/ru/country/845'&gt;отдых в малайзии&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2710052194744698060?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2710052194744698060/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2710052194744698060' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2710052194744698060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2710052194744698060'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/05/ruby-on-rails.html' title='Ruby on Rails  делаем красивые формы ( поле ввода даты)'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6234629868968034605</id><published>2010-03-29T05:47:00.000-07:00</published><updated>2010-03-29T05:50:45.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='rake'/><title type='text'>rake db:backup</title><content type='html'>&lt;blockquote&gt;#= encoding: utf-8 &lt;br /&gt;namespace :db do  desc "Backup the database to a file. Options: DIR=base_dir RAILS_ENV=production MAX=20" &lt;br /&gt;  task :backup =&gt; [:environment] do&lt;br /&gt;    datestamp = Time.now.strftime("%Y-%m-%d_%H-%M-%S")    &lt;br /&gt;    base_path = ENV["DIR"] || "db" &lt;br /&gt;    backup_base = File.join(base_path, 'backup')&lt;br /&gt;    backup_folder = File.join(backup_base, datestamp)&lt;br /&gt;    backup_file = File.join(backup_folder, "#{RAILS_ENV}_dump.sql.gz")   &lt;br /&gt;    FileUtils.mkdir_p(backup_folder)&lt;br /&gt;    db_config = ActiveRecord::Base.configurations[RAILS_ENV]&lt;br /&gt;    pass = ''&lt;br /&gt;    pass = '-p' + db_config['password'] if db_config['password']&lt;br /&gt;  &lt;br /&gt;    sh "mysqldump -u #{db_config['username']} #{pass} #{db_config['database']} -Q --add-drop-table=true --add-locks=FALSE --lock-tables=FALSE | gzip -c &gt; #{backup_file}"     &lt;br /&gt;    dir = Dir.new(backup_base)&lt;br /&gt;    all_backups = dir.entries[2..-1].sort.reverse&lt;br /&gt;    puts "Created backup: #{backup_file}" &lt;br /&gt;    max_backups = (ENV["MAX"] || 20).to_i&lt;br /&gt;    unwanted_backups = all_backups[max_backups..-1] || []&lt;br /&gt;    for unwanted_backup in unwanted_backups&lt;br /&gt;      FileUtils.rm_rf(File.join(backup_base, unwanted_backup))&lt;br /&gt;      puts "deleted #{unwanted_backup}" &lt;br /&gt;    end&lt;br /&gt;    puts "Deleted #{unwanted_backups.length} backups, #{all_backups.length - unwanted_backups.length} backups available" &lt;br /&gt;  end&lt;br /&gt;  task :restore =&gt; [:environment] do&lt;br /&gt;    base_path = ENV["DIR"] || "db" &lt;br /&gt;    backup_base = File.join(base_path, 'backup')&lt;br /&gt;    dir = Dir.new(backup_base)&lt;br /&gt;    all_backups = dir.entries[2..-1].sort.reverse&lt;br /&gt;    last_backup_dir = File.join(backup_base,all_backups[0])&lt;br /&gt;    last_backup=Dir.new(last_backup_dir).entries[2..-1]&lt;br /&gt;    backup= File.join(last_backup_dir,"#{RAILS_ENV}_dump.sql.gz")&lt;br /&gt;    if File.exist?( backup)&lt;br /&gt;      puts "Restore #{backup}"&lt;br /&gt;      db_config = ActiveRecord::Base.configurations[RAILS_ENV]&lt;br /&gt;      pass = ''&lt;br /&gt;      pass = '-p' + db_config['password'] if db_config['password']&lt;br /&gt;&lt;br /&gt;      cmd_str="gunzip &lt; #{backup} | mysql -u #{db_config['username']} #{pass} #{db_config['database']}"&lt;br /&gt;      puts cmd_str&lt;br /&gt;    else&lt;br /&gt;      puts "Backup file &lt;#{backup}&gt; not found"&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6234629868968034605?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6234629868968034605/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6234629868968034605' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6234629868968034605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6234629868968034605'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/03/rake-dbbackup.html' title='rake db:backup'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2825767417135664184</id><published>2010-03-22T05:40:00.000-07:00</published><updated>2010-03-22T05:41:40.900-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='VLC'/><title type='text'>Autoplay DVD with VLC</title><content type='html'>Autoplay DVD with VLC&lt;br /&gt;&lt;br /&gt;1) Create a script using Script Editor and paste the following:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;activate application "VLC"&lt;br /&gt;tell application "Finder" to set frontmost of process "VLC" to true&lt;br /&gt;tell application "System Events" to click menu item "Open Disc..." of menu of menu bar item "File" of menu bar of process "VLC"&lt;br /&gt;tell application "System Events" to tell process "VLC"&lt;br /&gt;  keystroke return&lt;br /&gt;end tell&lt;br /&gt;tell application "VLC"&lt;br /&gt;  fullscreen&lt;br /&gt;  next&lt;br /&gt;end tell&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;2) Compile and Save&lt;br /&gt;3) Open "System Preferences..." and select "CDs &amp; DVD's".&lt;br /&gt;4) Select "Run Script" for "When you insert a video DVD".&lt;br /&gt;5) Browse to where you saved your new script, select it and click "Choose".&lt;br /&gt;&lt;br /&gt;This will automatically play DVD using VLC.&lt;br /&gt;If you are using a localized non-English version just replace the "Open Disc..." and "File" accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2825767417135664184?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2825767417135664184/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2825767417135664184' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2825767417135664184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2825767417135664184'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/03/autoplay-dvd-with-vlc.html' title='Autoplay DVD with VLC'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-5004184646427308158</id><published>2010-03-20T11:10:00.000-07:00</published><updated>2010-03-20T11:13:22.204-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='Bundle'/><category scheme='http://www.blogger.com/atom/ns#' term='TextMate'/><title type='text'>GetBundles для TextMate</title><content type='html'>ставим  для управления всеми Bundle&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mkdir -p ~/Library/Application\ Support/TextMate/Bundles&lt;br /&gt;cd !$&lt;br /&gt;svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/&lt;br /&gt;osascript -e 'tell app "TextMate" to reload bundles'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-5004184646427308158?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/5004184646427308158/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=5004184646427308158' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5004184646427308158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5004184646427308158'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/03/getbundles-textmate.html' title='GetBundles для TextMate'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8897636544765714615</id><published>2010-03-18T03:01:00.000-07:00</published><updated>2011-04-19T13:38:23.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='mad_vhost_alias'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Делаем virtual hosts на Apache OS X Leopard</title><content type='html'>У меня работает так.&lt;br /&gt;&lt;div class="commenttext"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Шаг 1:&lt;/span&gt;&lt;br /&gt;Правим файл /etc/apache2/httpd.conf в любом редакторе, удаляем комментарии # в строке:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#LoadModule vhost_alias_module libexec/httpd/mod_vhost_alias.so&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;и ставим коммент на&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#LoadModule userdir_module libexec/apache2/mod_userdir.so&lt;br /&gt;#LoadModule alias_module libexec/apache2/mod_alias.so&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Шаг 2:&lt;/span&gt;&lt;br /&gt;Ищем строку:&lt;br /&gt;&lt;blockquote&gt;# Supplemental configuration&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;и отключаем&lt;br /&gt;&lt;blockquote&gt;# Fancy directory listings&lt;br /&gt;#Include /private/etc/apache2/extra/httpd-autoindex.conf&lt;br /&gt;# User home directories&lt;br /&gt;#Include /private/etc/apache2/extra/httpd-userdir.conf&lt;br /&gt;# Local access to the Apache HTTP Server Manual&lt;br /&gt;#Include /private/etc/apache2/extra/httpd-manual.conf&lt;br /&gt;# Virtual hosts&lt;br /&gt;#Include /private/etc/apache2/extra/httpd-vhosts.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Шаг 3:&lt;/span&gt;&lt;br /&gt;добавляем строки после второго шага 2:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;UseCanonicalName Off&lt;br /&gt;VirtualDocumentRoot /Library/WebServer/Documents/%0&lt;br /&gt;&lt;/blockquote&gt;так настраиваем перенаправление для виртуальных хостов т.е. http://foo.homelinux.net -&gt; /Library/WebServer/Documents/foo.homelinux.net/ &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Шаг 4:&lt;/span&gt;&lt;br /&gt;Сохраняем файл и рестартуем апач (отключаем веб шаринг и включаем его снова).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ну и наконец создаем необходимые директории для виртуальных хостов например для&lt;br /&gt;foo.homelinux.net и bar.homelinux.net делаем следующие директории:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/Library/WebServer/Documents/foo.homelinux.net&lt;br /&gt;/Library/WebServer/Documents/bar.homelinux.net&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;заливаем в них нужные файлы и все работает&lt;br /&gt;если не работает смотрим вывод команды&lt;br /&gt;&lt;blockquote&gt;apachectl -t&lt;/blockquote&gt;и правим httpd.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;в дополнение я использую www.dyndns.org для своих хостов ( айпишник внешний но динамический)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://e-opinions.ru/View_Opinions.aspx?id=60221&amp;rubric_id=33"&gt;Фортуна Моторс Хабаровск&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8897636544765714615?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8897636544765714615/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8897636544765714615' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8897636544765714615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8897636544765714615'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/03/how-to-setup-virtual-hosts-2002-10-10.html' title='Делаем virtual hosts на Apache OS X Leopard'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-744176082453642509</id><published>2010-03-03T10:06:00.000-08:00</published><updated>2010-03-03T10:07:24.616-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='p5k'/><title type='text'>Asus p5k</title><content type='html'>&lt;h3 class="tab_name"&gt;Характеристики&lt;/h3&gt;              &lt;table id="spectable" cellpadding="0" cellspacing="0"&gt;&lt;colgroup class="item_col"&gt;             &lt;col&gt;         &lt;/colgroup&gt;         &lt;colgroup class="content_col"&gt;             &lt;col&gt;         &lt;/colgroup&gt;     &lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CPU&lt;/td&gt;&lt;td&gt;LGA775 socket for Intel®  Core™2 Quad /  Core™2 Extreme / Core™2 Duo / Pentium® Extreme / Pentium® D / Pentium® 4  Processors&lt;br /&gt;Compatible with Intel® 05B/05A/06 processors&lt;br /&gt;Support  Intel® next generation 45nm multi-core CPU&lt;br /&gt;*This motherboard supports  FSB 1333/1066/800&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Chipset&lt;/td&gt;&lt;td&gt;Intel® P35 /  ICH9 with Intel® Fast Memory Access Technology&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Front  Side Bus&lt;/td&gt;&lt;td&gt;1333 / 1066 / 800 MHz&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Memory&lt;/td&gt;&lt;td&gt;4  x DIMM, max. 8GB, DDR2 1066*/800 / 667 MHz, non-ECC, un-buffered memory&lt;br /&gt;Dual  channel memory architecture&lt;br /&gt;* The chipset officially supports the  memory frequency up to DDR2 800MHz. Tuned by ASUS Super Memspeed  Technology, this motherboard natively supports up to DDR2 1066MHz&lt;br /&gt;Please  refer to &lt;a href="http://www.asus.com/"&gt;www.asus.com&lt;/a&gt; or user manual  for Memory QVL.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Expansion Slots&lt;/td&gt;&lt;td&gt;2 x PCI-E x16  (blue @ x16 mode, black @ x4 or x1 mode) supports CrossFire Technology&lt;br /&gt;1  x PCI-E x1&lt;br /&gt;3 x PCI&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Storage&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Southbridge&lt;/strong&gt;&lt;br /&gt; - 4 x SATA 3.0 Gb/s ports&lt;br /&gt;&lt;strong&gt;JMicron® JMB363 PATA and SATA  controller&lt;br /&gt;&lt;/strong&gt; - 1 x UltraDMA 133/100/66 for up to 2 PATA  devices&lt;br /&gt;- 1 x SATA 3.0 Gb/s ports&lt;br /&gt;- 1 x External SATA 3.0 Gb/s  port (SATA On-the-Go)&lt;br /&gt;- Supports SATA RAID 0,1 and JBOD&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LAN&lt;/td&gt;&lt;td&gt;PCIe  Gb LAN controller featuring AI NET2&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Audio&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Realtek  ALC 883, 8-channel High-Definition Audio CODEC&lt;/strong&gt;&lt;br /&gt;- Support  Jack-Sensing, Enumeration, Multi-streaming&lt;br /&gt;- Coaxial S/PDIF out  ports at back I/O&lt;br /&gt;- ASUS Noise Filter&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IEEE 1394&lt;/td&gt;&lt;td&gt;VIA  VT6308P controller supports 2 x IEEE 1394a ports (one at midboard; one  at back panel)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;USB&lt;/td&gt;&lt;td&gt;12 x USB 2.0 ports (6 ports  at mid-board, 6ports at back panel)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ASUS AI Lifestyle  Features&lt;/td&gt;&lt;td&gt;&lt;strong&gt;ASUS AI Lifestyle Features:&lt;/strong&gt;&lt;br /&gt;- ASUS  AI Gear2&lt;br /&gt;- ASUS AI Nap&lt;br /&gt;- ASUS Fanless Design: Heat-pipe  solution&lt;br /&gt;- ASUS Q-Fan 2&lt;br /&gt;&lt;strong&gt;ASUS Crystal Sound:&lt;/strong&gt;&lt;br /&gt;-  ASUS Noise Filter&lt;br /&gt;&lt;strong&gt;ASUS EZ DIY:&lt;/strong&gt;&lt;br /&gt;- ASUS  Q-Connector&lt;br /&gt;- ASUS O.C. Profile&lt;br /&gt;- ASUS CrashFree BIOS 3&lt;br /&gt;-  ASUS EZ Flash 2&lt;br /&gt;- ASUS AI Slot Detector&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Overclocking  Features&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Intelligent overclocking tools:&lt;/strong&gt;&lt;br /&gt;-  AI NOS™ (Non-delay Overclocking System)&lt;br /&gt;- ASUS AI Booster utility&lt;br /&gt;&lt;strong&gt;Precision  Tweaker:&lt;/strong&gt;&lt;br /&gt;- vCore: Adjustable CPU voltage at 0.0125V  increment&lt;br /&gt;- vDIMM: 16-step DRAM voltage control&lt;br /&gt;- vChipset:  4-step Chipset voltage control&lt;br /&gt;&lt;strong&gt;SFS (Stepless Frequency  Selection):&lt;/strong&gt;&lt;br /&gt;- FSB tuning from 200MHz up to 800MHz at 1MHz  increment&lt;br /&gt;- Memory tunning from 667MHz up to 1333MHz for DDR2&lt;br /&gt;-  PCI Express frequency tuning from 100MHz up to150MHz at 1MHz increment&lt;br /&gt;&lt;strong&gt;Overclocking  Protection:&lt;/strong&gt;&lt;br /&gt;- ASUS C.P.R.(CPU Parameter Recall)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Other  Features&lt;/td&gt;&lt;td&gt;ASUS MyLogo 2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Back Panel I/O Ports&lt;/td&gt;&lt;td&gt;1  x PS/2 Keyboard&lt;br /&gt;1 x S/PDIF Out (Coaxial)&lt;br /&gt;1 x External SATA&lt;br /&gt;1 x  IEEE1394a&lt;br /&gt;1 x RJ45 port&lt;br /&gt;6x USB 2.0/1.1&lt;br /&gt;8-channel Audio I/O&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Internal  I/O Connectors&lt;/td&gt;&lt;td&gt;3 x USB connectors support additional 6 USB  ports&lt;br /&gt;1 x Floppy disk drive connector&lt;br /&gt;1 x IDE connector&lt;br /&gt;1 x COM  connector&lt;br /&gt;5x SATA connectors&lt;br /&gt;1 x CPU Fan connector&lt;br /&gt;2x Chassis  Fan connector&lt;br /&gt;1 x Power Fan connector&lt;br /&gt;1 x IEEE1394a connector&lt;br /&gt;Front  panel audio connector&lt;br /&gt;1 x S/PDIF Out Header&lt;br /&gt;Chassis Intrusion  connector&lt;br /&gt;CD audio in&lt;br /&gt;24-pin ATX Power connector&lt;br /&gt;1 x 4-pin ATX  12V Power connector&lt;br /&gt;System Panel(Q-Connector)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;BIOS&lt;/td&gt;&lt;td&gt;8  Mb Flash ROM, AMI BIOS, PnP, DMI2.0, WfM2.0, SM BIOS 2.3, ACPI 2.0a,  ASUS EZ Flash 2, ASUS CrashFree BIOS 3&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Manageability   &lt;/td&gt;&lt;td&gt;WfM 2.0, DMI 2.0, WOL by PME, WOR by PME, PXE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Accessories&lt;/td&gt;&lt;td&gt;UltraDMA  133/100/66 cable&lt;br /&gt;FDD cable&lt;br /&gt;2x Serial ATA cables&lt;br /&gt;1 x 2-port  Serial ATA power cable&lt;br /&gt;I/O Shield&lt;br /&gt;User's manual&lt;br /&gt;3 in 1  Q-connector&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Support CD&lt;/td&gt;&lt;td&gt;Drivers&lt;br /&gt;ASUS PC Probe  II&lt;br /&gt;ASUS Update&lt;br /&gt;ASUS AI Suite&lt;br /&gt;Anti-virus software (OEM  version)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Form Factor&lt;/td&gt;&lt;td&gt;ATX Form Factor, 12"x  9.6" (30.5cm x 24.4cm)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;O/S Compatibility&lt;/td&gt;&lt;td&gt;&lt;span&gt;Windows  Vista/XP&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-744176082453642509?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/744176082453642509/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=744176082453642509' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/744176082453642509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/744176082453642509'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/03/asus-p5k.html' title='Asus p5k'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2556269574942190839</id><published>2010-02-28T01:36:00.000-08:00</published><updated>2010-02-28T01:40:06.689-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cdrecord'/><category scheme='http://www.blogger.com/atom/ns#' term='sendmail'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='scp'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><category scheme='http://www.blogger.com/atom/ns#' term='screenshot'/><title type='text'>Консольные хитрости</title><content type='html'>&lt;div class="entrybody"&gt; &lt;p&gt;Опытные юниксоиды знают и осознают всю мощь использования командной  строки и немного “свысока” посматривают на “мышевозов” :) Но и в консоли  есть свои недостатки, которые побеждаются с помощью каких-то приемов. У  каждого свой набор, а я хочу поделиться своими  наработками-находками-привычками, которые появились за долгие годы  использования командной строки. Эдакий небольшой cheat-sheet.&lt;br /&gt;Начнем :)&lt;/p&gt; &lt;p&gt;1. Копирование файлов с указанием прогресса. Всегда чертовски не  хватало информативности в &lt;code&gt;cp&lt;/code&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;rsync --progress file1 file2&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;span id="more-90"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;2. Преобразование текста в картинку. Использовал для создания  простенькой капчи&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;echo -e "Some Text Line1\nSome Text Line 2" | convert -background none -density 196  -resample 72 -unsharp 0x.5 -font "Courier" text:- -trim +repage -bordercolor white -border 3  text.gif&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;3. Поиск и замена в текстовых файлах&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;find . -iname "FILENAME" -exec sed -i 's/SEARCH_STRING/REPLACE_STRING/g' {} \;&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;4. Метод Столлмана! Отправка веб-странички по почте :)&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;{ u="http://twitter.com/boombick"; echo "Subject: $u"; echo "Mime-Version: 1.0"; echo -e "Content-Type: text/html; charset=utf-8\n\n"; curl $u ; } | sendmail recipient@example.com&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;5. Запись iso-файла на диск&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;cdrecord -v speed=4 driveropts=burnfree dev=/dev/scd0 cd.iso&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;6. Ограничение канала для scp. В данном случае ограничен 10kbps&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;scp -l10 boombick@srv02:/home/svnstat/* .&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;7. Скриншот на удаленной машине :) (С запущенными иксами конечно)&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;DISPLAY=":0.0" import -window root screenshot.png&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;8. Качаем и сразу распаковываем :)&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;wget -qO - http://example.com/path/to/blah.tar.gz | tar xvf -&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;9. url_encode :) Достаточно примитивно, но часто помогает&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;echo "$url" | sed 's/%/%25/g;s/ /%20/g;s/!/%21/g;s/"/%22/g;s/#/%23/g;s/\$/%24/g;s/\&amp;amp;/%26/g;s/'\''/%27/g;s/(/%28/g;s/)/%29/g'&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;10. Погода в Москве :) Подставьте свой город&lt;/p&gt; &lt;blockquote&gt; &lt;pre&gt;curl -s "http://www.google.com/ig/api?weather=Moscow" | sed 's|.*&lt;temp_c data="\([^"&gt;.*|\1|'&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt;Пока все, to be continued&lt;/p&gt;&lt;p&gt;взято &lt;a href="http://boombick.org/blog/posts/90"&gt;отсюда&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2556269574942190839?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2556269574942190839/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2556269574942190839' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2556269574942190839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2556269574942190839'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/02/blog-post.html' title='Консольные хитрости'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3640446088135555846</id><published>2010-01-21T23:28:00.000-08:00</published><updated>2010-01-21T23:30:44.103-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><category scheme='http://www.blogger.com/atom/ns#' term='ps'/><category scheme='http://www.blogger.com/atom/ns#' term='kill'/><category scheme='http://www.blogger.com/atom/ns#' term='fuser'/><title type='text'>Прибил файл место не освобождается</title><content type='html'>&lt;a href="http://www.unixpin.com/wordpress/2010/01/21/removed-file-space/"&gt;http://www.unixpin.com/wordpress/2010/01/21/removed-file-space/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3640446088135555846?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3640446088135555846/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3640446088135555846' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3640446088135555846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3640446088135555846'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2010/01/blog-post.html' title='Прибил файл место не освобождается'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4269601386597368818</id><published>2009-12-24T10:45:00.000-08:00</published><updated>2010-01-04T13:14:10.516-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='htop'/><category scheme='http://www.blogger.com/atom/ns#' term='dstat'/><category scheme='http://www.blogger.com/atom/ns#' term='ping'/><category scheme='http://www.blogger.com/atom/ns#' term='iptraf'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='pydf'/><category scheme='http://www.blogger.com/atom/ns#' term='mtr'/><category scheme='http://www.blogger.com/atom/ns#' term='iftop'/><category scheme='http://www.blogger.com/atom/ns#' term='routetrace'/><title type='text'>полезяшки</title><content type='html'>dstat - Combines vmstat, iostat, ifstat, netstat information and more&lt;br /&gt;pydf  - размалеваный df&lt;br /&gt;iftop - top для интерфейсов&lt;br /&gt;htop - более прикольный top&lt;br /&gt;iptraf - просмотр статистики по портам&lt;br /&gt;mtr - динамический routetrace&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4269601386597368818?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4269601386597368818/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4269601386597368818' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4269601386597368818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4269601386597368818'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/12/blog-post.html' title='полезяшки'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-959176233071773701</id><published>2009-12-10T22:57:00.000-08:00</published><updated>2009-12-10T23:02:45.395-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='nginx'/><category scheme='http://www.blogger.com/atom/ns#' term='passenger'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Setup Ruby Enterprise Edition, nginx and Passenger (aka mod_rails) on Ubuntu</title><content type='html'>&lt;div class="contenttitle"&gt;      &lt;p&gt;By &lt;a href="http://antoniocangiano.com/about"&gt;Antonio Cangiano&lt;/a&gt;. Filed under &lt;a href="http://antoniocangiano.com/category/quick-tips/" title="View all posts in Quick Tips" rel="category tag"&gt;Quick Tips&lt;/a&gt;,  &lt;a href="http://antoniocangiano.com/category/ruby/" title="View all posts in Ruby" rel="category tag"&gt;Ruby&lt;/a&gt;,  &lt;a href="http://antoniocangiano.com/category/ruby-on-rails/" title="View all posts in Ruby on Rails" rel="category tag"&gt;Ruby on Rails&lt;/a&gt; &lt;/p&gt;   &lt;/div&gt;   &lt;p&gt;The following is a very short guide on setting up Ruby Enterprise Edition (REE), nginx and Passenger, for serving Ruby on Rails applications on Ubuntu. It also includes a few quick and easy optimization tips.&lt;/p&gt; &lt;p&gt;We start with setting up REE (x64), using the .deb file provided by Phusion:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;wget http://rubyforge.org/frs/download.php/66163/ruby-enterprise_1.8.7-2009.10_amd64.deb&lt;br /&gt;sudo dpkg -i ruby-enterprise_1.8.7-2009.10_amd64.deb&lt;br /&gt;ruby -v&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;In output you should see “ruby 1.8.7 (2009-06-12 patchlevel 174)…” or similar. If this is the case, good; while you are there, update RubyGems and the installed gems:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;sudo gem update --system&lt;br /&gt;sudo gem update&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Next, you’ll need to install nginx, which is a really fast web server. The &lt;a href="http://phusion.nl/about.html"&gt;Phusion&lt;/a&gt; team has made it very easy to install, but if you simply follow most instructions found elsewhere, you’ll get the following error:&lt;/p&gt; &lt;pre&gt;&lt;blockquote&gt;checking for system md library ... not found&lt;br /&gt;checking for system md5 library ... not found&lt;br /&gt;checking for OpenSSL md5 crypto library ... not found&lt;br /&gt;&lt;br /&gt;./configure: error: the HTTP cache module requires md5 functions&lt;br /&gt;from OpenSSL library.  You can either disable the module by using&lt;br /&gt;--without-http-cache option, or install the OpenSSL library in the&lt;br /&gt;system,&lt;br /&gt;or build the OpenSSL library statically from the source with nginx by&lt;br /&gt;using&lt;br /&gt;--with-http_ssl_module --with-openssl=&lt;br /&gt;&lt;path&gt; options.&lt;/path&gt;&lt;/blockquote&gt;&lt;path&gt;&lt;/path&gt;&lt;/pre&gt; &lt;p&gt;Instead, we are going to install libssl-dev first and then nginx and its Passenger module:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;sudo aptitude install libssl-dev&lt;br /&gt;sudo passenger-install-nginx-module&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Follow the prompt and accept all the defaults (when prompted to chose between 1 and 2, pick 1).&lt;/p&gt; &lt;p&gt;Before I proceed with the configuration, I like to create an init script and have it boot at startup (the script itself is adapted from one provided by the excellent &lt;a href="http://articles.slicehost.com/"&gt;articles at slicehost.com&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;sudo vim /etc/init.d/nginx&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;The content of which needs to be:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="c"&gt;#! /bin/sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;### BEGIN INIT INFO&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Provides:          nginx&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Required-Start:    $all&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Required-Stop:     $all&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Default-Start:     2 3 4 5&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Default-Stop:      0 1 6&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Short-Description: starts the nginx web server&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;# Description:       starts nginx using start-stop-daemon&lt;/span&gt;&lt;br /&gt;&lt;span class="c"&gt;### END INIT INFO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/nginx/sbin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;&lt;span class="nv"&gt;DAEMON&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/opt/nginx/sbin/nginx&lt;br /&gt;&lt;span class="nv"&gt;NAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nginx&lt;br /&gt;&lt;span class="nv"&gt;DESC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;nginx&lt;br /&gt;&lt;br /&gt;&lt;span class="nb"&gt;test&lt;/span&gt; -x &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit &lt;/span&gt;0&lt;br /&gt;&lt;br /&gt;&lt;span class="c"&gt;# Include nginx defaults if available&lt;/span&gt;&lt;br /&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -f /etc/default/nginx &lt;span class="o"&gt;]&lt;/span&gt; ; &lt;span class="k"&gt;then&lt;/span&gt;&lt;br /&gt;  . /etc/default/nginx&lt;br /&gt;&lt;span class="k"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="nb"&gt;set&lt;/span&gt; -e&lt;br /&gt;&lt;br /&gt;. /lib/lsb/init-functions&lt;br /&gt;&lt;br /&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="s2"&gt;"$1"&lt;/span&gt; in&lt;br /&gt;start&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;"Starting $DESC: "&lt;/span&gt;&lt;br /&gt;  start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid &lt;span class="se"&gt;\&lt;/span&gt;&lt;br /&gt;      --exec &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; -- &lt;span class="nv"&gt;$DAEMON_OPTS&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;span class="nb"&gt;    echo&lt;/span&gt; &lt;span class="s2"&gt;"$NAME."&lt;/span&gt;&lt;br /&gt;  ;;&lt;br /&gt;stop&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;"Stopping $DESC: "&lt;/span&gt;&lt;br /&gt;  start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid &lt;span class="se"&gt;\&lt;/span&gt;&lt;br /&gt;      --exec &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;span class="nb"&gt;    echo&lt;/span&gt; &lt;span class="s2"&gt;"$NAME."&lt;/span&gt;&lt;br /&gt;  ;;&lt;br /&gt;restart|force-reload&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;"Restarting $DESC: "&lt;/span&gt;&lt;br /&gt;  start-stop-daemon --stop --quiet --pidfile &lt;span class="se"&gt;\&lt;/span&gt;&lt;br /&gt;      /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid --exec &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;span class="nb"&gt;    &lt;/span&gt;sleep 1&lt;br /&gt;  start-stop-daemon --start --quiet --pidfile &lt;span class="se"&gt;\&lt;/span&gt;&lt;br /&gt;      /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid --exec &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; -- &lt;span class="nv"&gt;$DAEMON_OPTS&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;span class="nb"&gt;    echo&lt;/span&gt; &lt;span class="s2"&gt;"$NAME."&lt;/span&gt;&lt;br /&gt;  ;;&lt;br /&gt;reload&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span class="nb"&gt;echo&lt;/span&gt; -n &lt;span class="s2"&gt;"Reloading $DESC configuration: "&lt;/span&gt;&lt;br /&gt;    start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid &lt;span class="se"&gt;\&lt;/span&gt;&lt;br /&gt;        --exec &lt;span class="nv"&gt;$DAEMON&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;br /&gt;&lt;span class="nb"&gt;      echo&lt;/span&gt; &lt;span class="s2"&gt;"$NAME."&lt;/span&gt;&lt;br /&gt;    ;;&lt;br /&gt;status&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;    status_of_proc -p /opt/nginx/logs/&lt;span class="nv"&gt;$NAME&lt;/span&gt;.pid &lt;span class="s2"&gt;"$DAEMON"&lt;/span&gt; nginx &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;exit &lt;/span&gt;0 &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="nv"&gt;$?&lt;/span&gt;&lt;br /&gt;    ;;&lt;br /&gt;*&lt;span class="o"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span class="nv"&gt;N&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/etc/init.d/&lt;span class="nv"&gt;$NAME&lt;/span&gt;&lt;br /&gt;  &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Usage: $N {start|stop|restart|reload|force-reload|status}"&lt;/span&gt; &gt;&amp;amp;2&lt;br /&gt;  &lt;span class="nb"&gt;exit &lt;/span&gt;1&lt;br /&gt;  ;;&lt;br /&gt;&lt;span class="k"&gt;esac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="nb"&gt;exit &lt;/span&gt;0&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Change its permission and have it startup at boot:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="highlight"&gt;&lt;pre&gt;sudo chmod +x /etc/init.d/nginx&lt;br /&gt;sudo /usr/sbin/update-rc.d -f nginx defaults&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/blockquote&gt;&lt;p&gt;From now on, you’ll be able to start, stop and restart nginx with it. Start the server as follows:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;sudo /etc/init.d/nginx start&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Heading over to your server IP with your browser, you should see “Welcome to nginx!”. If you do, great, we can move on with the configuration of nginx for your Rails app.&lt;/p&gt; &lt;p&gt;Edit nginx’ configuration file:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;sudo vim /opt/nginx/conf/nginx.conf&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Adding a server section within the http section, as follows:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;    server &lt;span class="o"&gt;{&lt;/span&gt;&lt;br /&gt;      listen 80;&lt;br /&gt;      server_name example.com;&lt;br /&gt;      root /somewhere/my_rails_app/public;&lt;br /&gt;      passenger_enabled on;&lt;br /&gt;      rails_spawn_method smart;&lt;br /&gt;  &lt;span class="o"&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;The server name can also be a subdomain if you wish (e.g., blog.example.com). It’s important that you point the root to your Rails’ app public directory.&lt;/p&gt; &lt;p&gt;The rails_spawn_method directive is very efficient, allowing Passenger to consume less memory per process and speed up the spawning process, whenever your Rails application is not affected by its limitations (for a discussion about this you can read the proper &lt;a href="http://www.modrails.com/documentation/Users%20guide.html#_the_smart_spawning_method"&gt;section in the official guide&lt;/a&gt;).&lt;/p&gt; &lt;p&gt;If you have lots of RAM (e.g., more than 512 MB) on your server, you may want to consider increasing you maximum pool size, with the directive passenger_max_pool_size from its default size of 6. Conversely, if you want to limit the number of processes running at any time and consume less memory on a small VPS (e.g., 128 to 256MB), you can decrease that number down to 2 (or something in that range). (Always test a bunch of configurations to find one that works for you). You can read more about this directive, &lt;a href="http://modrails.com/documentation/Users%20guide%20Nginx.html#PassengerMaxPoolSize"&gt;in the official guide&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;While you are modifying nginx’ configuration, you may also want to increase the worker processes (e.g., to 4, on a typical VPS) and add a few more tweaks (such as enabling gzip compression):&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;span class="c"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="c"&gt;# ...&lt;/span&gt;&lt;br /&gt;http &lt;span class="o"&gt;{&lt;/span&gt;&lt;br /&gt;  passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5;&lt;br /&gt;  passenger_ruby /usr/local/bin/ruby;&lt;br /&gt;&lt;br /&gt;  include       mime.types;&lt;br /&gt;  default_type  application/octet-stream;&lt;br /&gt;&lt;br /&gt;  access_log  logs/access.log;&lt;br /&gt;&lt;br /&gt;  sendfile        on;&lt;br /&gt;  keepalive_timeout  65;&lt;br /&gt;  tcp_nodelay on;&lt;br /&gt;&lt;br /&gt;  gzip on;&lt;br /&gt;  gzip_comp_level 2;&lt;br /&gt;  gzip_proxied any; &lt;br /&gt;&lt;br /&gt;  server &lt;span class="o"&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class="c"&gt;#...&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;When you are happy with the changes, save the file, and restart nginx:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;sudo /etc/init.d/nginx restart&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;If you wish to restart Passenger in the future, without having to restart the whole web server, you can simply run the following command:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;touch /somewhere/my_rails_app/tmp/restart.txt&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;Passenger also provides a few handy monitoring tools. Check them out:&lt;/p&gt; &lt;div class="highlight"&gt; &lt;pre&gt;&lt;blockquote&gt;sudo passenger-status&lt;br /&gt;sudo passenger-memory-stats&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt;That’s it, you are ready to go! I hope that you find these few notes useful.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-959176233071773701?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/959176233071773701/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=959176233071773701' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/959176233071773701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/959176233071773701'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/12/setup-ruby-enterprise-edition-nginx-and.html' title='Setup Ruby Enterprise Edition, nginx and Passenger (aka mod_rails) on Ubuntu'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2717444026861139545</id><published>2009-12-03T22:21:00.000-08:00</published><updated>2009-12-03T22:33:12.416-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='libxml2'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='nokogiri'/><category scheme='http://www.blogger.com/atom/ns#' term='парсинг'/><title type='text'>Установка  Nokogiri на OS X</title><content type='html'>Для начала ставим свежую версию libxml2 из портов&lt;br /&gt;&lt;blockquote&gt;sudo port install libxml2 libxslt&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;gem install nokogiri -- --with-xml2-include=/opt/local/include/libxml2 --with-xml2-lib=/opt/local/lib --with-xslt-dir=/opt/local&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;или если поставили libxml2 из source соответственно&lt;br /&gt;&lt;blockquote&gt;gem install nokogiri -- --with-xml2-include=/usr/local/include/libxml2 --with-xml2-lib=/usr/local/lib --with-xslt-dir=/usr/local&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2717444026861139545?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2717444026861139545/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2717444026861139545' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2717444026861139545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2717444026861139545'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/12/nokogiri-os-x.html' title='Установка  Nokogiri на OS X'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7495023547134941776</id><published>2009-11-24T23:00:00.000-08:00</published><updated>2009-11-24T23:01:56.675-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='gem'/><title type='text'>MySQL gem на  leopard 10.5...</title><content type='html'>sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7495023547134941776?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7495023547134941776/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7495023547134941776' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7495023547134941776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7495023547134941776'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/mysql-gem-leopard-105.html' title='MySQL gem на  leopard 10.5...'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-622311366640818452</id><published>2009-11-14T09:17:00.000-08:00</published><updated>2009-11-14T09:20:47.696-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pxe'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='dnd'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ltsp'/><title type='text'>PXE: теперь не только для серверов</title><content type='html'>&lt;h1&gt;PXE: теперь не только для серверов&lt;/h1&gt; &lt;p&gt; Оригинал: &lt;noindex&gt;&lt;a href="http://www.linuxjournal.com/article/10410"&gt;PXE: Not Just for Server Networks Anymore!&lt;/a&gt;&lt;/noindex&gt;&lt;br /&gt;Автор: Bill Childers&lt;br /&gt;Дата: 1 апреля 2009&lt;br /&gt;Перевод: Александр Тарасов aka oioki&lt;br /&gt;Дата перевода: 7 ноября 2009 &lt;/p&gt;&lt;p&gt; В апрельском выпуске 2008 года Linux Journal была напечатана статья Кайла Ранкина (Kyle Rankin)  "PXE Magic", описывающая способ работы PXE (Preboot eXecution Environment, Среда предзагрузочного  исполнения), инструкцию по установке своего собственного PXE-сервера и включению аварийных средств  вроде Knoppix в PXE-установщик Kickstart. Мне эта статья очень помогла, однако теперь у меня встала  задача обслуживания не только сети Linux-серверов, а всей сети, состоящей из ноутбуков, рабочих  станций и серверов с установленными Ubuntu и Windows. Я представил, как было бы здорово иметь  сервер, с помощью которого можно было бы устанавливать не только сервера и загружать по сети  аварийные средства, но также создавать временные рабочие окружения для пользователей, в том случае,  если что-нибудь сломается. Было бы идеально, если бы с помощью этого PXE-сервера можно было бы  по сети устанавливать Windows.  Через несколько часов проб и ошибок, я, наконец, создал рецепт и,  по странному стечению обстоятельств, я сумел наладить сетевую установку Windows... сперва разворачивая Linux.   &lt;/p&gt;&lt;h2&gt;Установка терминального сервера Ubuntu&lt;/h2&gt; &lt;p&gt; Одной из моих целей при создании такой системы была возможность предоставления пользователям такой среды, которую они могли бы быстренько загрузить, чтобы она была привычна для них, и позволяла бы выполнять простейшие действия - проверить почту, зайти на сайт, отправить мгновенное сообщение и т.п. К счастью, большинство персонала в моей компании пользуется на рабочих компьютерах системой Ubuntu, поэтому ясно вырисовалось решение установить и настроить терминальный сервер Ubuntu на основе проекта Linux Terminal Server Project (LTSP). &lt;/p&gt;&lt;p&gt;Как любая реализация PXE, сервер LTSP требует наличия TFTP-сервера, правильно настроенного DHCP-сервера и программы syslinux. Если объяснять простыми словами, то процесс происходит так. Пользователь загружает свой компьютер, сетевой адаптер выполняет PXE-код, компьютер получает с помощью DHCP свой IP-адрес и IP-адрес сервера, на котором хранится код syslinux. Затем запускается TFTP-клиент, код syslinux скачивается и исполняется, таким образом начинается процесс загрузки. Благодаря кропотливому труду разработчиков Ubuntu LTSP, установка такого сервера происходит быстро и легко. &lt;/p&gt;&lt;p&gt;Есть два способа установки LTSP-сервера: обычный и самостоятельный. В первом случае предполагается, что у вас в сети уже есть существующий DHCP-сервер; а самостоятельный способ подразумевает отсутствие DHCP-сервера. В случае самостоятельной установки в вашей сети будет установлен DHCP-сервер с последующей автоматической интеграцией с LTSP-сервером. В моей сети уже был DHCP-сервер, поэтому я выбрал обычную установку с интеграцией с нашим существующим Windows Server DHCP. &lt;/p&gt;&lt;p&gt; &lt;table align="right" cellpadding="10" width="40%"&gt; &lt;tbody&gt;&lt;tr&gt;  &lt;td bgcolor="white"&gt; &lt;p&gt; &lt;zag&gt;Замечания по DHCP&lt;/zag&gt; &lt;/p&gt;&lt;p&gt;Я упомянул интеграцию LTSP-сервера с сервером DHCP для Microsoft Windows, но отнюдь несложно заставить работать LTSP в связке с любым другим DHCP-сервером. Если у вас DHCP стандартной реализации (от Internet Software Consortium), тогда обратитесь к уже упоминавшейся статье Кайла "PXE Magic" (см. источники информации в конце статьи). В этой статье приведен пример необходимых настроек и объяснения, как они работают. Если ваш сервер - dnsmasq (он популярен в OpenWRT и других легковесных Linux-дистрибутивах для встраиваемых систем), то нужно добавить в файл dnsmasq.conf опции &lt;tt&gt;dhcp-option=66,&lt;ip_адрес_ltsp&gt;&lt;/ip_адрес_ltsp&gt;&lt;/tt&gt; и &lt;tt&gt;dhcp-option=pxe,67,pxelinux.0&lt;/tt&gt;. Именно такая конфигурация работает у меня дома.  &lt;/p&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; Я начал с установки стандартной десктопной Ubuntu 8.04 на сервер Dell 1950, ведь LTSP-сервер должен предоставлять пользователям рабочее окружение GNOME. После этого назначил серверу статический IP-адрес из диапазона адресов нашей сети (в той же подсети, что и рабочие станции и ноутбуки). Установка LTSP-сервера происходит проще некуда - просто наберите в терминале GNOME команду &lt;tt&gt;sudo apt-get install ltsp-server openssh-server&lt;/tt&gt;, и он будет установлен. Последним шагом, относящимся к LTSP-серверу, является построение системы "тонких клиентов". Просто скомандуйте в терминале &lt;tt&gt;sudo ltsp-build-client&lt;/tt&gt;, и остальные настройки и построение LTSP-окружения chroot будет выполнено автоматически. &lt;/p&gt;&lt;p&gt; Теперь, когда сам LTSP-сервер готов, нужно включить поддержку PXE-загрузки в нашей сети, а это означает дополнительное конфигурирование Windows DHCP-сервера. Потребовалось достаточно много времени и сил, но как и в статье Кайла, на стороне DHCP-сервера потребовалось изменить всего лишь две настройки. В Microsoft DHCP-сервере этими настройками были "066 Boot Server Host Name", которой я присвоил значение IP-адреса LTSP-сервера и настройка "067 Bootfile Name", значение которой нужно присвоить "ltsp/i386/pxelinux.0". Это значение поначалу казалась непонятным, пока я не уяснил, что корневым каталогом TFTP-сервера Ubuntu является /var/lib/tftpboot. Если у вас стоит какой-нибудь другой DHCP-сервер, тогда вам может помочь врезка "Замечания по DHCP", либо обратитесь к документации по вашему DHCP. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;center&gt; &lt;a href="http://rus-linux.net/MyLDP/admin/pxe_files/10410f1.jpg"&gt;&lt;img src="http://rus-linux.net/MyLDP/admin/pxe_files/10410f1.mini.jpg" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Рисунок 1. Окно входа в Ubuntu LTSP&lt;/i&gt; &lt;/center&gt; &lt;p&gt;На данный момент можно загрузить компьютер в нашей сети, нажать F12, выбрать в качестве загрузочного устройства сетевую карту и через 30 секунд вы получите окно входа GDM. У меня получилось бы войти, но я бы сделал это как один из пользователей на самом Ubuntu-сервере. Близко, но не совсем то, что мне нужно. В идеале, нужно настроить так, чтобы LTSP-сессию мог открыть любой пользователь из Windows-домена. Таким образом, нужно добавить этот сервер в Active Directory моего предприятия. Сама по себе эта задача не проста, но в системе Ubuntu 8.04 и выше, это можно сделать с помощью apt-get и пары других команд. &lt;/p&gt;&lt;p&gt; Пакет, который все это делает, называется likewise-open. Сначала нужно скомандовать: &lt;/p&gt;&lt;pre&gt;sudo apt-get install likewise-open&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; И пакет likewise будет установлен. После этого нужно включить Ubuntu-сервер в Windows-домен. Для этого командуйте: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;sudo domainjoin-cli join &lt;fqdn.mydomain.com&gt; &lt;domainadminuid&gt;&lt;br /&gt;&lt;/domainadminuid&gt;&lt;/fqdn.mydomain.com&gt;&lt;/pre&gt; &lt;p&gt; Если требуется, чтобы likewise запускался при загрузке компьютера, тогда нужно выполнить такую команду: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;sudo update-rc.d likewise-open defaults&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; Также я хотел, чтобы логины проверялись в домене по умолчанию, для этого я добавил эту строку в файл /etc/samba/lwiauthd.conf: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;winbind use default domain = yes&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; Наконец, запускаем демон likewise-open с помощью: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;sudo /etc/init.d/likewise-open start&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; Теперь мои PXE LTSP клиенты могут аутентифицировать себя в корпоративной Active Directory. Первый шаг нашей задачи выполнен! &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;center&gt; &lt;a href="http://rus-linux.net/MyLDP/admin/pxe_files/10410f2.jpg"&gt;&lt;img src="http://rus-linux.net/MyLDP/admin/pxe_files/10410f2.mini.jpg" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Рисунок 2. Рабочий стол Ubuntu - работает!&lt;/i&gt; &lt;/center&gt;   &lt;h2&gt;Настройка установки Windows по PXE через Unattended&lt;/h2&gt; &lt;p&gt; Следующий шаг в моих приключениях с PXE - переустановка Windows на 30 ноутбуках. Старый системный  администратор устанавливал Windows через образы. К сожалению, мне не удалось найти эти файлы  образов. Из-за некоторых нюансов и нехватки времени для пересоздания правильных образов для каждой  аппаратной платформы, я выбрал проведение установки Windows через Unattended. &lt;/p&gt;&lt;p&gt;Мне известно, что вместе с Windows поставляется Remote Installation Service (RIS, Сервис удаленной установки), но так как у меня не было времени, мне не хотелось изучать полностью новую технологию. Однако у меня был другой выбор: открытый проект Unattended. Unattended попалась мне на глаза примерно год назад, и хотя я пробовал ее дома, но никогда не задействовал в корпоративных условиях. Как и многие администраторы Linux, когда я слышу слово "Windows", у меня мурашки бегут, но так как мне поручили это задание, то его нужно сделать. Я понял, что лучше решать эту задачу наиболее умным способом - не терять времени зря и автоматизировать установку Windows. &lt;/p&gt;&lt;p&gt;Работа Unattended основана на том факте, что первый шаг в установке Windows 2000/XP - это по сути DOS-программа. Процессы, происходящие при PXE-загрузке через Unattended, довольно запустанны, но зато это дает большую гибкость. В простейшем случае, компьютер загружает ядро Linux и оболочку, далее вступают в действие скрипты Unattended. Скрипт разбивает системный диск на разделы и создает базовую структуру FAT, затем вы выбираете операционную систему (например, тип Windows-системы), настройки конфигурации и дополнительные программы. Когда вы устанавливаете Windows по-обычному, вам задают много вопросов о серийном номере, имени пользователя, к какой рабочей группе или домену присоединять, и о пользователях с правами администратора. Скрипты Unattended автоматически собирают эти данные воедино и создают файл unattend.txt, который складывается на свежесозданной файловой системе FAT. Затем запускается сессия FreeDOS, в которой с Samba-ресурса на сервере Unattended копируются установщик Windows и части операционной системы, и, наконец, запускается установщик, задействующий файл unattend.txt. После этого установка будет происходить самостоятельно, без вмешательства администратора. Разработчики из команды Unattended пошли еще дальше и создали разные скрипты, устанавливающие дополнительные программы (к примеру, автоматизированная VPN или Microsoft Office). Эти скрипты можно включить в свою конфигурацию. &lt;/p&gt;&lt;p&gt; По причине отсутствия такого понятия, как "пакет Unattended", процесс установки значительно отличается от стандартных &lt;tt&gt;./configure &amp;amp;&amp;amp; make install&lt;/tt&gt;, и пришлось усердно штудировать документацию на сайте. Вкратце, система Unattended использует PXE и Linux, а также Samba для передачи установочных данных, также в ней содержится набор Perl, shell и batch-скриптов, которые выполняют всю установочную "магию". &lt;/p&gt;&lt;p&gt;В документации предполагается, что у вас есть рабочие DHCP- и DNS-серверы, а также Samba-сервер. У меня уже был установлены DHCP- и DNS-сервер, а Samba-сервер я установил с помощью команды &lt;tt&gt;sudo apt-get install samba&lt;/tt&gt;. Потом я скачал дистрибутив Unattended с веб-сайта и распаковал его в /opt/unattended. Далее, создал CNAME-запись на нашем DNS-сервере, который отображал имя ntinstall на реальное имя хоста - установочного сервера. После этого я настроил Samba-сервер, файл конфигурации /etc/samba/smb.conf выглядит примерно следующим образом (некоторые части файла опущены): &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre&gt;[global]&lt;br /&gt;...&lt;br /&gt;guest account   = guest&lt;br /&gt;unix extensions = off&lt;br /&gt;...&lt;br /&gt;[install]&lt;br /&gt;  comment  = Unattended&lt;br /&gt;  writable = no&lt;br /&gt;  locking  = no&lt;br /&gt;  path     = /path/to/unattended/install&lt;br /&gt;  guest ok = yes&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; Наконец, пришло время заполнить место, предназначенное для дистрибутива ОС, данными Windows. Мы создаем подкаталог в каталоге &lt;i&gt;&lt;b&gt;корень_unattended&lt;/b&gt;/install/os&lt;/i&gt; с именем вашего дистрибутива. В моем случае я создал каталог &lt;i&gt;/opt/unattended/install/os/winxp&lt;/i&gt; и примонтировал этот каталог через Samba на свой рабочий стол. Затем я вставил установочный диск Windows в CD-привод и скопировал с диска каталог &lt;i&gt;/i386&lt;/i&gt; в каталог &lt;i&gt;/install/os/winxp&lt;/i&gt; на моем сервере. Теоретически, теперь мой сервер Unattended был готов к предоставлению установки системы... но пока не было способа выбрать установку Unattended из загрузочного меню. &lt;/p&gt;&lt;p&gt;Тут мне опять помогла статья Кайла. Мне нужно было не что иное, как загрузочное меню PXE, и благодаря статье Кайла, мне удалось быстренько его создать. Нужно было взять файлы bzImage и initrd из каталога tftpboot, хранящегося в zip-файле linuxboot на сайте Unattended. Эти файлы нужно поместить в каталог &lt;i&gt;/var/lib/tftpboot/ltsp/i386/&lt;/i&gt; (я переименовал файл bzImage в unat, а файл intird - в unatin.img, чтобы лучше их различать). &lt;/p&gt;&lt;p&gt; Затем я создал на сервере файл &lt;i&gt;/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default&lt;/i&gt; (см. листинг 1). В нем содержится набор загрузочных аргументов syslinux, соответствующий конфигурациям серверов LTSP и Unattended. Нужно обратить особое внимание на директивы DISPLAY и LABEL. Директива DISPLAY означает, что при загрузке компьютера будет отображено содержимое файла &lt;i&gt;pxemenu.msg&lt;/i&gt;, в котором содержится текст меню. Директива LABEL - это то, что нужно ввести, чтобы произошла загрузка определенного вида. В данном случае, если пользователь введет "1", система загрузит Ubuntu LTSP сессию (кстати, это вариант по умолчанию), а если введет "2", то сможет установить Windows. &lt;/p&gt;&lt;p&gt; &lt;b&gt;Листинг 1. Пример файла pxelinux.cfg/default&lt;/b&gt; &lt;/p&gt;&lt;pre&gt;default 1&lt;br /&gt;serial 0,9600n8&lt;br /&gt;timeout 300&lt;br /&gt;prompt 1&lt;br /&gt;DISPLAY pxemenu.msg&lt;br /&gt;F1 pxemenu.msg&lt;br /&gt;&lt;br /&gt;LABEL 1&lt;br /&gt;KERNEL vmlinuz&lt;br /&gt;APPEND ro initrd=initrd.img quiet splash&lt;br /&gt;&lt;br /&gt;LABEL 2&lt;br /&gt;KERNEL unatµ&lt;br /&gt;APPEND initrd=unatin.img z_user=guest z_password=guest z_path=//192.168.1.20/install&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Теперь при загрузке PXE-клиента у меня есть выбор - загрузить сессию Ubuntu LTSP или провести Unattended-установку. На данный момент установка Windows через Unattended мной протестирована и работает - установка базовой Windows происходит хорошо, но при этом не устанавливаются никакие драйверы, и не накладываются патчи. Я понял, как сильно я прикипел к менеджеру обновлений Ubuntu, но мне пришлось смириться с этим и искать способ довести систему полностью до рабочего состояния, чтобы установка драйверов и обновлений происходила без моего вмешательства. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;center&gt; &lt;a href="http://rus-linux.net/MyLDP/admin/pxe_files/10410f3.jpg"&gt;&lt;img src="http://rus-linux.net/MyLDP/admin/pxe_files/10410f3.mini.jpg" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Рисунок 3. Какую программу запустим?&lt;/i&gt; &lt;/center&gt; &lt;p&gt;Мне не пришлось изобретать колесо, потому что проблема с драйверами и обновлениями адресована на самом деле ребятам из Unattended. Существует способ встроить DriverPacks (это большой сжатый архив с драйверами) в систему Unattended. Описание этого метода уже выходит за рамки данной статьи, но если вам понадобится, обратитесь к соответствующей ссылке в конце статьи. &lt;/p&gt;&lt;p&gt;Что касается автоматической установки обновлений, то ребята из Unattended выбрали Linux-подобный подход. В каталоге Unattended есть два каталога - &lt;i&gt;/install/scripts&lt;/i&gt; и &lt;i&gt;/install/tools&lt;/i&gt;. Каталог &lt;i&gt;scripts&lt;/i&gt; содержит Windows batch-файлы (с расширением &lt;i&gt;.bat&lt;/i&gt;), они используются для проведения автоматической установки различного программного обеспечения, а также некоторых обновлений. Каталог &lt;i&gt;tools&lt;/i&gt; содержит набор скриптов, которые будут получать текущую конфигурацию с вашего Unattended-сервера и содержимое &lt;i&gt;scripts&lt;/i&gt; на сервере и сравнивать его с содержимым CVS-хранилища, поддерживаемого командой Unattended. Затем скрипты скачают последние bat-файлы и разместят их в соответствующем месте каталога scripts. На данный момент при установке Windows через систему Unattended также автоматически скачиваются все патчи и устанавливаются без вмешательства пользователя. После очередной перезагрузки система возьмет следующий неустановленный патч, установит его и так продолжится до полного обновления системы. Обновление вашей системы Unattended до актуального состояния происходит с помощью трех последовательных команд &lt;tt&gt;./script-update; ./check; ./prepare&lt;/tt&gt;, выполненных из каталога &lt;i&gt;/install/tools&lt;/i&gt; из корня Unattended. &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;center&gt; &lt;a href="http://rus-linux.net/MyLDP/admin/pxe_files/10410f4.jpg"&gt;&lt;img src="http://rus-linux.net/MyLDP/admin/pxe_files/10410f4.mini.jpg" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Рисунок 4. Windows устанавливается! Быстрее и надежней - вот это спорно.&lt;/i&gt; &lt;/center&gt; &lt;p&gt; CVS-архив скриптов, как и архив скриптов на вики - бесценны. Эти ресурсы помогли мне выстроить автоматизированную систему установки, и теперь у меня есть конфигурация, которая полностью удовлетворяет потребности моей компании в Windows. Теперь я могу ввести данные, относящиеся к компьютеру (буквально несколько секунд), и я могу спокойно гулять по своим делам, зная, что Windows, Office, Cisco VPN client, Symantec Anti-Virus и многие другие программы будут установлены автоматически без моего присутствия и без присутствия вообще кого-либо. &lt;/p&gt;&lt;p&gt;В заключение я хотел бы сказать, что благодаря усилиям разработчиков Ubuntu и LTSP, теперь у меня есть окружение, позволяющее пользователям работать даже при поломанной основной системе. И благодаря разработчикам Unattended, мне не приходится каждый раз нянчиться с установкой Windows, либо ставить Windows через полуготовые образы или другие странные способы. У меня уже есть идеи, как еще больше расширить эту систему. &lt;/p&gt;&lt;h2&gt;Источники информации&lt;/h2&gt; &lt;noindex&gt; &lt;p&gt; "PXE Magic: Flexible Network Booting with Menus" от Кайла Ранкина (Выпуск журнала LJ от апреля 2008): &lt;a href="http://www.linuxjournal.com/article/9963"&gt;www.linuxjournal.com/article/9963&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Ubuntu Wiki - Установка LTSP: &lt;a href="https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall"&gt;https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Аутентификация Active Directory в Ubuntu 8.04 и 8.10: &lt;a href="http://anothersysadmin.wordpress.com/2008/04/06/howto-active-directory-authentication-in-ubuntu-804"&gt;anothersysadmin.wordpress.com/2008/04/06/howto-active-directory-authentication-in-ubuntu-804&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Unattended: система развертывания Windows: &lt;a href="http://unattended.sourceforge.net/"&gt;unattended.sourceforge.net&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Пошаговые инструкции Unattended: &lt;a href="http://unattended.sourceforge.net/step-by-step.php"&gt;unattended.sourceforge.net/step-by-step.php&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Unattended Wiki: &lt;a href="http://ubertechnique.com/unattended/FrontPage"&gt;ubertechnique.com/unattended/FrontPage&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Использование DriverPacks с Unattended: &lt;a href="http://ubertechnique.com/unattended/BTS_Driver_Packs"&gt;ubertechnique.com/unattended/BTS_Driver_Packs&lt;/a&gt; &lt;/p&gt;&lt;p&gt; Архив скриптов Unattended: &lt;a href="http://ubertechnique.com/unattended/Scripts"&gt;ubertechnique.com/unattended/Scripts&lt;/a&gt;  &lt;/p&gt;&lt;p&gt; &lt;i&gt;Билл Чайлдерс (Bill Childers) - IT-менеджер из Силиконовой долины, где он живет со своей женой и двумя детьми. Ему слишком нравится Linux, возможно, ему нужно почаще выходить на солнышко. В свое свободное время посещает фестиваль чеснока в Гилрое, но он вовсе не пахнет чесноком. &lt;/i&gt; &lt;/p&gt;&lt;hr /&gt;&lt;/noindex&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-622311366640818452?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/622311366640818452/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=622311366640818452' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/622311366640818452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/622311366640818452'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/pxe.html' title='PXE: теперь не только для серверов'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1123517858429609723</id><published>2009-11-11T12:07:00.000-08:00</published><updated>2009-11-12T13:29:18.627-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='odbc'/><category scheme='http://www.blogger.com/atom/ns#' term='mssql'/><title type='text'>Доступ к MSSQL из Rails (OS X Leopard)</title><content type='html'>Настраиваем доступ из рельсов к MSSQL серверу&lt;br /&gt;&lt;br /&gt;Ruby/Rails =&gt; ActiveRecord SQL Server Adapter =&gt; DBI Gem w/DBD-ODBC =&gt; Ruby ODBC =&gt; unixODBC =&gt; FreeTDS =&gt; MSSQL Server.&lt;br /&gt;&lt;br /&gt;Так как мне это нужно только для временого доступа к разным серверам то  я использую проброс портов через ssh&lt;br /&gt;&lt;blockquote&gt;$ ssh -L 1433:mssqlserver.mydomain:1433 login@myhost &lt;/blockquote&gt;поэтому вместо имени сервера я использую localhost&lt;br /&gt;&lt;br /&gt;для начала ставим xcode с установочного диска и ports&lt;br /&gt;или обновляем&lt;br /&gt;&lt;blockquote&gt;$ sudo port selfupdate&lt;/blockquote&gt;Все настройки я описываю для ruby 1.8.7&lt;br /&gt;Проверяем версию руби&lt;br /&gt;&lt;blockquote&gt;$ ruby -v&lt;/blockquote&gt;и обновляем при необходимости&lt;br /&gt;&lt;blockquote&gt;$ sudo port install ruby&lt;/blockquote&gt;ставим gem&lt;br /&gt;&lt;blockquote&gt;$ sudo port install rb-rubygems&lt;/blockquote&gt;теперь переходим к установке unixODBC и FreeTDS&lt;br /&gt;&lt;blockquote&gt;$ sudo port install unixODBC&lt;br /&gt;$ sudo port install freetds +odbc&lt;br /&gt;&lt;/blockquote&gt;ставим необходимые gem&lt;br /&gt;&lt;blockquote&gt;$ sudo gem install dbi -v 0.4.1&lt;br /&gt;$ sudo gem install dbd-odbc -v 0.2.4&lt;br /&gt;$ sudo gem install activerecord-sqlserver-adapter&lt;br /&gt;&lt;/blockquote&gt;на время написания статьи  необходимо подправить Portfile для rb-odbc&lt;br /&gt;&lt;blockquote&gt;$ port file rb-odbc | xargs mate&lt;br /&gt;&lt;/blockquote&gt;Теперь в открывшемся TextMate правим&lt;br /&gt;0.9995 на 0.9997&lt;br /&gt;и соответственно правим MD5 на 36d21519795c3edc8bc63b1ec6682b99&lt;br /&gt;&lt;br /&gt;у меня получилось&lt;br /&gt;&lt;blockquote&gt;# $Id: Portfile 30250 2007-10-23 02:16:17Z jmpp@macports.org $&lt;br /&gt;PortSystem        1.0&lt;br /&gt;PortGroup        ruby 1.0&lt;br /&gt;&lt;br /&gt;ruby.setup        {odbc ruby-odbc} 0.9997 extconf.rb {README doc test}&lt;br /&gt;maintainers        nomaintainer&lt;br /&gt;description            An extension library for ODBC from ruby.&lt;br /&gt;long_description    Extension library to use ODBC data sources from Ruby. \&lt;br /&gt;                    Supports Ruby 1.6.x and 1.8 on Win32 OSes and UN*X&lt;br /&gt;checksums                md5 36d21519795c3edc8bc63b1ec6682b99&lt;br /&gt;homepage                http://www.ch-werner.de/rubyodbc&lt;br /&gt;master_sites            http://www.ch-werner.de/rubyodbc&lt;br /&gt;categories-append       databases&lt;br /&gt;platforms                darwin&lt;br /&gt;&lt;br /&gt;variant utf8 {&lt;br /&gt;    configure.args-append -Cutf8&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;После сохранения файла можно ставить ruby ODBC&lt;br /&gt;&lt;blockquote&gt;$ sudo port install rb-odbc +utf8&lt;/blockquote&gt;Теперь настраиваем FreeTDS&lt;br /&gt;&lt;blockquote&gt;$ mate /opt/local/etc/freetds/freetds.conf&lt;br /&gt;&lt;/blockquote&gt;я добавил в конец файла&lt;br /&gt;&lt;blockquote&gt;[my_dev_server]&lt;br /&gt;  host = localhost  # я использую проброс портов&lt;br /&gt;  port = 1433&lt;br /&gt;  tds version = 8.0&lt;br /&gt;  port = 1433&lt;br /&gt;  client charset = UTF-8  # у меня серваки отдают win1251 а в рельсах utf-8&lt;br /&gt;&lt;/blockquote&gt;После этого настраиваем unixODBC&lt;br /&gt;&lt;blockquote&gt;$ sudo cp /opt/local/etc/odbc.ini.dist /opt/local/etc/odbc.ini&lt;br /&gt;$ sudo cp /opt/local/etc/odbcinst.ini.dist /opt/local/etc/odbcinst.ini&lt;br /&gt;$ mate /opt/local/etc/odbcinst.ini&lt;/blockquote&gt;вставляем&lt;br /&gt;&lt;blockquote&gt;[FreeTDS]&lt;br /&gt;Decscription = FreeTDS driver for SQLServer&lt;br /&gt;Driver = /opt/local/lib/libtdsodbc.so&lt;br /&gt;Setup = /opt/local/lib/libtdsodbc.so&lt;br /&gt;FileUsage = 1&lt;br /&gt;&lt;/blockquote&gt;теперь очередь за настройкой DSN&lt;br /&gt;&lt;blockquote&gt;$ mate /opt/local/etc/odbc.ini&lt;br /&gt;&lt;/blockquote&gt;вот например мой&lt;br /&gt;&lt;blockquote&gt;[my_dev_server_dsn]&lt;br /&gt;Driver=FreeTDS&lt;br /&gt;Description=My Server Connection&lt;br /&gt;Servername=my_dev_server&lt;br /&gt;Server=my_dev_server&lt;br /&gt;Port=1433&lt;br /&gt;Database=mssql-database&lt;br /&gt;&lt;/blockquote&gt;теперь очередь за database.yml в приложении&lt;br /&gt;например&lt;br /&gt;&lt;blockquote&gt;development-mssql: &lt;br /&gt;  adapter: sqlserver&lt;br /&gt;  mode: ODBC&lt;br /&gt;  username: user&lt;br /&gt;  password: secret&lt;br /&gt;  database: mssql-database  # возможно достаточно настроек dsn&lt;br /&gt;  dsn: my_dev_server_dsn&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Все работает.&lt;br /&gt;На самом деле я использую модель и  rake task для импорта данных в рельсовое приложение т.е.  &lt;span style="font-weight: bold;"&gt;только на этапе разработки.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1123517858429609723?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1123517858429609723/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1123517858429609723' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1123517858429609723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1123517858429609723'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/mssql-rails-os-x-leopard.html' title='Доступ к MSSQL из Rails (OS X Leopard)'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7575718739454308580</id><published>2009-11-11T09:42:00.000-08:00</published><updated>2009-11-11T09:46:13.331-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal'/><title type='text'>Show Git branch in bash terminal</title><content type='html'>добавляем в .profile&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;alias ss="ruby script/server"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;parse_git_branch() {&lt;br /&gt;     git branch 2&gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br /&gt;}&lt;br /&gt;PS1='\[\033[00;32m\]\u\[\033[01m\]@\[\033[00;36m\]\h\[\033[01m\]:\[\033[00;35m\]\w\[\033[00m\]\[\033[00;36m\]$(parse_git_branch)\[\033[00m\]\$ '&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7575718739454308580?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7575718739454308580/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7575718739454308580' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7575718739454308580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7575718739454308580'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/show-git-branch-in-bash-terminal.html' title='Show Git branch in bash terminal'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1611642834485803859</id><published>2009-11-11T03:50:00.000-08:00</published><updated>2009-11-11T03:52:20.662-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='mc'/><title type='text'>Исправление некорректного отображения русских букв в Midnight Commander под Mac OS X</title><content type='html'>&lt;a href="http://theapplegeek.ru/archives/1180"&gt;отсюда взято&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Я уже давно заметил, что консольный файловый менеджер Midnight Commander неправильно работает с русскими буквами под Mac OS X. Но меня это особо не беспокоило, так как мне он нужен редко и с этой проблемой я могу спокойно смириться. Но сегодня @ex3m_su (очень рекомендую посмотреть социальную сеть ex3m для экстремальных людей, которую он создал – я там бываю регулярно) задал мне вопрос:&lt;br /&gt;&lt;br /&gt;    Подскажи, как наложить патч для MC из портов, он не воспринимает utf в интерфейсе {…}&lt;br /&gt;&lt;br /&gt;MC из портов, плохо работает с русскими буквами, и я решил найти решение такому поведению:&lt;br /&gt;&lt;br /&gt;Я начал с инструкции, подсказанной мне @ex3m (он проблему решил по ней) “Сборка Midnight Commander 4.6.3 на Mac OS Leopard“, но при использовании рекомендованного “Screen library” mcslang по-прежнему были проблемы с кодировкой, и не отображались символы, формирующие интерфейс программы:&lt;br /&gt;&lt;br /&gt;Поэтому я использовал slang. Учитывая то, что используемая сборка оказалась доступной только со страницы автора статьи, но не автора модификации, то для полноты картины я решил попробовать и официальную пререлизную сборку. Детали – ниже.&lt;br /&gt;Подготовка&lt;br /&gt;&lt;br /&gt;Ставим и удаляем mc через MacPorts для разрешения зависимостей.&lt;br /&gt;&lt;br /&gt;$ port installed | grep mc&lt;br /&gt;  mc @4.6.1_0 (active)&lt;br /&gt;$ sudo port uninstall mc&lt;br /&gt;&lt;br /&gt;Все действия будем производить в каталоге ~/tmp&lt;br /&gt;&lt;br /&gt;mkdir ~/tmp&lt;br /&gt;cd ~/tmp&lt;br /&gt;&lt;br /&gt;Находим последние slang, gettext и libiconv:&lt;br /&gt;&lt;br /&gt;wget http://www.sfr-fresh.com/unix/misc/slang-2.2.1.tar.gz&lt;br /&gt;wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz&lt;br /&gt;wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz&lt;br /&gt;&lt;br /&gt;Раскручиваем архивы&lt;br /&gt;&lt;br /&gt;tar xfz gettext-0.17.tar.gz&lt;br /&gt;tar xfz libiconv-1.13.1.tar.gz&lt;br /&gt;tar xfz slang-2.2.1.tar.gz&lt;br /&gt;&lt;br /&gt;Компилируем и устанавливаем пакеты (они поставятся не в /opt/local, а в /usr/local, поэтому нужно будет проверить $PATH, чтобы /usr/local/bin стоял перед /opt/local/bin):&lt;br /&gt;&lt;br /&gt;cd ~/tmp&lt;br /&gt;cd gettext-0.17&lt;br /&gt;./configure &amp;&amp; make -j 4 &amp;&amp; sudo make install&lt;br /&gt;cd ..&lt;br /&gt;cd libiconv-1.13.1&lt;br /&gt;./configure &amp;&amp; make -j 4 &amp;&amp; sudo make install&lt;br /&gt;cd ..&lt;br /&gt;cd slang-2.2.1&lt;br /&gt;./configure &amp;&amp; make -j 4 &amp;&amp; sudo make install&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;Использование модифицированной сборки Midnight Commander 4.6.3&lt;br /&gt;&lt;br /&gt;По оригинальному адресу модифицированного MC нет, берём с сайта автора статьи sudouser:&lt;br /&gt;&lt;br /&gt;cd ~/tmp&lt;br /&gt;wget http://sudouser.com/mc-4.6.3-r504.tar.bz2&lt;br /&gt;tar xfp mc-4.6.3-r504.tar.bz2&lt;br /&gt;&lt;br /&gt;Особенность (!) – в качестве “Screen library” используем не mcslang, а slang&lt;br /&gt;&lt;br /&gt;cd ~/tmp&lt;br /&gt;cd mc-4.6.3-r504&lt;br /&gt;./configure --with-screen=slang --with-libiconv-prefix=/usr/local&lt;br /&gt;&lt;br /&gt;Configuration:&lt;br /&gt;  Screen library:             S-Lang library (installed on the system)&lt;br /&gt;  Enable support for utf-8:   yes&lt;br /&gt;  Enable support for charset: yes&lt;br /&gt;&lt;br /&gt;make -j 4 &amp;&amp; sudo make install&lt;br /&gt;&lt;br /&gt;Информация по сборке:&lt;br /&gt;&lt;br /&gt;ole-mac:mc-4.6.3-r504 ctrld$ /usr/local/bin/mc -V&lt;br /&gt;GNU Midnight Commander 4.6.3&lt;br /&gt;Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish, smbfs&lt;br /&gt;With builtin Editor&lt;br /&gt;Using system-installed S-Lang library with terminfo database&lt;br /&gt;With subshell support as default&lt;br /&gt;With support for background operations&lt;br /&gt;With mouse support on xterm&lt;br /&gt;With internationalization support&lt;br /&gt;With multiple codepages support&lt;br /&gt;Data types: char 8 int 32 long 64 void * 64 off_t 64 ecs_char 8&lt;br /&gt;&lt;br /&gt;Наслаждаемся нормальным отображением русских букв:&lt;br /&gt;&lt;br /&gt;Midnight Commander 4.7.0 Pre 3&lt;br /&gt;&lt;br /&gt;На сайте www.midnight-commander.org находим и списываем последнюю сборку mc 4.7.0-pre3&lt;br /&gt;&lt;br /&gt;cd ~/tmp&lt;br /&gt;wget http://www.midnight-commander.org/downloads/14&lt;br /&gt;mv 14 mc-4.7.0-pre3.tar.bz2&lt;br /&gt;tar xfp mc-4.7.0-pre3.tar.bz2&lt;br /&gt;&lt;br /&gt;cd mc-4.7.0-pre3&lt;br /&gt;./configure --with-screen=slang --with-libiconv-prefix=/usr/local --with-slang-includes=/usr/local --with-slang-libs=/usr/local&lt;br /&gt;&lt;br /&gt;Configuration:&lt;br /&gt;  Screen library:             S-Lang library (installed on the system)&lt;br /&gt;  Support for charset:        yes&lt;br /&gt;&lt;br /&gt;make -j 4 &amp;&amp; sudo make install&lt;br /&gt;&lt;br /&gt;Информация по сборке:&lt;br /&gt;&lt;br /&gt;ole-mac:mc-4.7.0-pre3 ctrld$ /usr/local/bin/mc -V&lt;br /&gt;GNU Midnight Commander 4.7.0-pre3&lt;br /&gt;Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish&lt;br /&gt;With builtin Editor&lt;br /&gt;Using system-installed S-Lang library with terminfo database&lt;br /&gt;With subshell support as default&lt;br /&gt;With support for background operations&lt;br /&gt;With mouse support on xterm&lt;br /&gt;With internationalization support&lt;br /&gt;With multiple codepages support&lt;br /&gt;Data types: char 8 int 32 long 64 void * 64 off_t 64 ecs_char 8&lt;br /&gt;&lt;br /&gt;И эта версия нормально отображает русский текст:&lt;br /&gt;&lt;br /&gt;Порты&lt;br /&gt;&lt;br /&gt;Можно поменять “Screen library” в порту mc с ncurses на slang, однако это не работает. Приведу описание процесса просто для сведения.&lt;br /&gt;&lt;br /&gt;$ cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/sysutils/mc&lt;br /&gt;$ sudo cp Portfile Portfile.dist&lt;br /&gt;$ sudo chown ctrld Portfile&lt;br /&gt;$ cat Portfile.dist | sed 's/--with-screen=ncurses/--with-screen=slang/' &gt; Portfile&lt;br /&gt;&lt;br /&gt;Ставим slang, gettext и libiconv&lt;br /&gt;&lt;br /&gt;$ sudo port install slang2&lt;br /&gt;$ sudo port install gettext&lt;br /&gt;$ sudo port install libiconv&lt;br /&gt;&lt;br /&gt;$ sudo port -dv install mc&lt;br /&gt;&lt;br /&gt;Информация по сборке&lt;br /&gt;&lt;br /&gt;bash-3.2$ /opt/local/bin/mc -V&lt;br /&gt;GNU Midnight Commander 4.6.1&lt;br /&gt;Using system-installed S-Lang library with terminfo database&lt;br /&gt;With internationalization support&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Выводы&lt;br /&gt;&lt;br /&gt;Штатная версия Midnight Commander из MacPorts некорректно отображает русские буквы в именах файлов. Решение я продемонстрировал – можно использовать либо отдельную сборку MC 4.6.3, либо версию 4.7.0pre3, они обе работают нормально. Я остановился на последней.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1611642834485803859?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1611642834485803859/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1611642834485803859' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1611642834485803859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1611642834485803859'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/midnight-commander-mac-os-x.html' title='Исправление некорректного отображения русских букв в Midnight Commander под Mac OS X'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7362573265507810192</id><published>2009-11-11T00:35:00.000-08:00</published><updated>2009-11-11T03:48:50.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nat'/><category scheme='http://www.blogger.com/atom/ns#' term='routing'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='yota'/><category scheme='http://www.blogger.com/atom/ns#' term='Samsung U200'/><title type='text'>Yota резервный канал в инет на ubuntu server</title><content type='html'>Задолбали аварии у провайдера поэтому сделал резервный канал в инет через йоту.&lt;br /&gt;Используем Samsung U200 Wimax&lt;br /&gt;&lt;br /&gt;Настройка WiMax&lt;br /&gt;http://forum.ubuntu.ru/index.php?topic=43974.105&lt;br /&gt;http://peter.infosreda.com/ru/projects&lt;br /&gt;&lt;br /&gt;Автоматом переключаем на резервный канал при падении основного&lt;br /&gt;&lt;br /&gt;http://www.gentoo.ru/node/12621&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7362573265507810192?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7362573265507810192/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7362573265507810192' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7362573265507810192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7362573265507810192'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/11/yota-ubuntu-server.html' title='Yota резервный канал в инет на ubuntu server'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4594733171544895183</id><published>2009-10-18T12:03:00.000-07:00</published><updated>2009-10-18T12:08:36.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='vds'/><title type='text'>MySQL  при малом объеме озу</title><content type='html'>&lt;p&gt;&lt;a href="http://itbg.davnozdu.ru/?p=486"&gt;взято отсюда&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Всем привет!&lt;br /&gt;Сегодня я решил написать статью про оптимизацию&lt;strong&gt; MySQL 5.x&lt;/strong&gt; для запуска и работы в условиях малого объёма ОЗУ&lt;/p&gt; &lt;p&gt;Проблема стоит особенно остро на VDS/VPSсерверах, так как там ОЗУ очень немного.&lt;br /&gt;Конкретно в моём случае я довольствуюсь лишь 64Мб и без дополнительного тюнинга MySQL отказался запускаться вообще.&lt;/p&gt; &lt;p&gt;Почитав некоторое количество форумов, блогов и мануалов я вывел самый минимальный конфиг, при котором MySQL может работать.&lt;/p&gt; &lt;p&gt;Вот он:&lt;/p&gt; &lt;blockquote&gt; &lt;ol&gt;&lt;li&gt;# Main MySQL server options&lt;/li&gt;&lt;li&gt;[mysqld]&lt;/li&gt;&lt;li&gt;port = 3306&lt;/li&gt;&lt;li&gt;socket = /var/run/mysqld/mysqld.sock&lt;/li&gt;&lt;li&gt;# No locking at all!&lt;/li&gt;&lt;li&gt;skip-locking&lt;/li&gt;&lt;li&gt;# Set internal buffers, caches and stacks very low&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;max_allowed_packet = 16K&lt;/li&gt;&lt;li&gt;table_cache = 1&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;read_buffer_size = 16K&lt;/li&gt;&lt;li&gt;read_rnd_buffer_size = 1K&lt;/li&gt;&lt;li&gt;net_buffer_length = 1K&lt;/li&gt;&lt;li&gt;thread_stack = 16K&lt;/li&gt;&lt;li&gt;# Don’t listen on a TCP/IP port at all.&lt;/li&gt;&lt;li&gt;# Will still work provided all access is done via localhost&lt;/li&gt;&lt;li&gt;skip-networking&lt;/li&gt;&lt;li&gt;server-id = 1&lt;/li&gt;&lt;li&gt;# Skip Berkley and Inno DB types&lt;/li&gt;&lt;li&gt;skip-bdb&lt;/li&gt;&lt;li&gt;skip-innodb&lt;/li&gt;&lt;li&gt;# Set the query cache low&lt;/li&gt;&lt;li&gt;query_cache_limit = 1048576&lt;/li&gt;&lt;li&gt;query_cache_size = 1048576&lt;/li&gt;&lt;li&gt;query_cache_type = 1&lt;/li&gt;&lt;li&gt;# Set various memory limits very low, disable memory-hogging extras&lt;/li&gt;&lt;li&gt;[mysqldump]&lt;/li&gt;&lt;li&gt;quick&lt;/li&gt;&lt;li&gt;max_allowed_packet = 16K&lt;/li&gt;&lt;li&gt;[mysql]&lt;/li&gt;&lt;li&gt;no-auto-rehash&lt;/li&gt;&lt;li&gt;[isamchk]&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;[myisamchk]&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;[mysqlhotcopy]&lt;/li&gt;&lt;li&gt;interactive-timeout&lt;/li&gt;&lt;/ol&gt; &lt;/blockquote&gt; &lt;p&gt;Именно с ним мне получилось первый раз удачно стартовать MySQL.&lt;br /&gt;Посмотрев результат и оценив расход ОЗУ я решил расщедриться и увеличить кэш, заодно и пометь некоторые параметры.&lt;/p&gt; &lt;p&gt;Вот что у меня получилось в итоге:&lt;/p&gt; &lt;blockquote&gt; &lt;ol&gt;&lt;li&gt;[mysqld]&lt;/li&gt;&lt;li&gt;datadir=/var/lib/mysql&lt;/li&gt;&lt;li&gt;socket=/tmp/mysql/mysql.sock&lt;/li&gt;&lt;li&gt;user=mysql&lt;/li&gt;&lt;li&gt;port = 3306&lt;/li&gt;&lt;li&gt;bind-address = 127.0.0.1&lt;/li&gt;&lt;li&gt;# No locking at all!&lt;/li&gt;&lt;li&gt;skip-locking&lt;/li&gt;&lt;li&gt;# Set internal buffers, caches and stacks very low&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;max_allowed_packet = 16K&lt;/li&gt;&lt;li&gt;table_cache = 1&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;read_buffer_size = 16K&lt;/li&gt;&lt;li&gt;read_rnd_buffer_size = 1K&lt;/li&gt;&lt;li&gt;net_buffer_length = 1K&lt;/li&gt;&lt;li&gt;thread_stack = 16K&lt;/li&gt;&lt;li&gt;# Don’t listen on a TCP/IP port at all.&lt;/li&gt;&lt;li&gt;# Will still work provided all access is done via localhost&lt;/li&gt;&lt;li&gt;skip-networking&lt;/li&gt;&lt;li&gt;server-id = 1&lt;/li&gt;&lt;li&gt;# Skip Berkley and Inno DB types&lt;/li&gt;&lt;li&gt;skip-bdb&lt;/li&gt;&lt;li&gt;skip-innodb&lt;/li&gt;&lt;li&gt;# Set the query cache low&lt;/li&gt;&lt;li&gt;query_cache_limit = 500K&lt;/li&gt;&lt;li&gt;query_cache_size = 3M&lt;/li&gt;&lt;li&gt;query_cache_type = 1&lt;/li&gt;&lt;li&gt;# Set various memory limits very low, disable memory-hogging extras&lt;/li&gt;&lt;li&gt;[mysqldump]&lt;/li&gt;&lt;li&gt;quick&lt;/li&gt;&lt;li&gt;max_allowed_packet = 16K&lt;/li&gt;&lt;li&gt;[mysql]&lt;/li&gt;&lt;li&gt;no-auto-rehash&lt;/li&gt;&lt;li&gt;[isamchk]&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;[myisamchk]&lt;/li&gt;&lt;li&gt;key_buffer = 16K&lt;/li&gt;&lt;li&gt;sort_buffer_size = 16K&lt;/li&gt;&lt;li&gt;[mysqlhotcopy]&lt;/li&gt;&lt;li&gt;interactive-timeout&lt;/li&gt;&lt;/ol&gt; &lt;/blockquote&gt; Пока что пользуюсь без проблем этим конфигом, при моих ресурсах ОЗУ он вполне меня устраивает.&lt;br /&gt;Все опции прокомментированы прямо в конфиге и очень понятны.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4594733171544895183?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4594733171544895183/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4594733171544895183' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4594733171544895183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4594733171544895183'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/10/mysql.html' title='MySQL  при малом объеме озу'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4865406079863097832</id><published>2009-07-07T22:59:00.000-07:00</published><updated>2009-07-07T23:00:55.238-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='irb'/><title type='text'>irb readline support on Leopard</title><content type='html'>&lt;p class="subtitle"&gt;             Written             March 22, 2008 at 22:40 CET.             Tagged             &lt;a href="http://henrik.nyh.se/tag#ruby"&gt;Ruby&lt;/a&gt; and &lt;a href="http://henrik.nyh.se/tag#os-x"&gt;OS X&lt;/a&gt;.             &lt;span id="edit"&gt;&lt;/span&gt;           &lt;/p&gt;           &lt;p&gt;The &lt;code&gt;irb&lt;/code&gt; (Interactive Ruby) that ships with OS X Leopard does not have &lt;code&gt;&lt;a href="http://en.wikipedia.org/wiki/GNU_readline"&gt;readline&lt;/a&gt;&lt;/code&gt; support. Instead it uses &lt;a href="http://www.thrysoee.dk/editline/"&gt;libedit&lt;/a&gt;.&lt;/p&gt;                      &lt;p&gt;This means that things like &lt;code&gt;⌃R&lt;/code&gt; for reverse history search don't work. More importantly to me, you can't use non-ASCII characters like Swedish "å", "ä" and "ö".&lt;/p&gt;                      &lt;p&gt;Compiling your own Ruby (with readline) is one solution. If you just want ctrl+R, &lt;a href="http://www.macosxhints.com/article.php?story=20080313113705760"&gt;macosxhints has another&lt;/a&gt;.&lt;/p&gt;                      &lt;p&gt;The solution I'm currently using is the work of jptix, a regular on the &lt;a href="irc://irc.freenode.net/##textmate"&gt;##textmate&lt;/a&gt; IRC channel. He asked me to blog about it, so here it is.&lt;/p&gt;                      &lt;p&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/p&gt;                      &lt;p&gt;Get &lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; and install &lt;code&gt;readline&lt;/code&gt; (you must specify &lt;code&gt;+universal&lt;/code&gt;, even on Intel):&lt;/p&gt;                      &lt;div class="highlight"&gt;&lt;pre&gt;sudo port install readline +universal&lt;/pre&gt;           &lt;/div&gt;                                 &lt;p&gt;Get the Ruby extension for &lt;code&gt;readline&lt;/code&gt;:&lt;/p&gt;                      &lt;div class="highlight"&gt;&lt;pre&gt;svn co http://svn.ruby-lang.org/repos/ruby/tags/v1_8_6_111/ext/readline/ readline&lt;/pre&gt;           &lt;/div&gt;                                 &lt;p&gt;Apply &lt;a href="http://pastie.textmate.org/168767"&gt;a small patch&lt;/a&gt; to &lt;code&gt;readline/extconf.rb&lt;/code&gt;:&lt;/p&gt;                      &lt;div class="highlight"&gt;&lt;pre&gt;curl http://pastie.textmate.org/pastes/168767/download | patch readline/extconf.rb&lt;/pre&gt;           &lt;/div&gt;                                 &lt;p&gt;Compile and install the extension. You likely need the &lt;a href="http://developer.apple.com/tools/download/"&gt;OS X developer tools&lt;/a&gt;, or have a C compiler from elsewhere:&lt;/p&gt;                      &lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;readline&lt;br /&gt;ruby extconf.rb&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;/pre&gt;           &lt;/div&gt;                                 &lt;p&gt;All döne. Håppy häcking.&lt;/p&gt;                                       &lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4865406079863097832?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4865406079863097832/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4865406079863097832' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4865406079863097832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4865406079863097832'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/07/irb-readline-support-on-leopard.html' title='irb readline support on Leopard'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6370006535588555269</id><published>2009-07-07T11:50:00.000-07:00</published><updated>2009-07-09T04:27:36.306-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='maps'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Используем Google maps Directions</title><content type='html'>&lt;%= button_to_function "как проехать",  "window.open(\"http://maps.google.com/maps?saddr=#{URI.escape('москва нахимовский проспект 50')}&amp;amp;daddr=#{URI.escape('москва мичуринский проспект 10 ')}&amp;amp;hl=ru\")" %&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;+ смотри plugin &lt;a href="http://github.com/mcdba/ym4r-gm/tree/master"&gt;ym4r-gm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6370006535588555269?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6370006535588555269/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6370006535588555269' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6370006535588555269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6370006535588555269'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/07/google-maps-directions.html' title='Используем Google maps Directions'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4619608242007135874</id><published>2009-06-24T23:45:00.000-07:00</published><updated>2009-09-03T02:07:27.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='xcode'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='leopard'/><category scheme='http://www.blogger.com/atom/ns#' term='gem'/><title type='text'>Обновляем Ruby on rails на Leopard 10.5.6</title><content type='html'>в терминале проверяем что надо обновить из гемов&lt;div&gt;&lt;blockquote&gt;gem outdate&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;обновляем сам гем&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;sudo gem update --system&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ставим Xcode tools&lt;/div&gt;&lt;div&gt;и обновляем все гемы&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;sudo gem update&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;если нужно ставим mysql и соответственно ставим гем&lt;blockquote&gt;sudo env ARCHFLAG="=arch i386" gem install mysql --\--with-mysql-include=/usr/local/mysql/include \--with-mysql-lib=/usr/local/mysql/lib&lt;br /&gt;&lt;/blockquote&gt;для sqlite3&lt;br /&gt;&lt;blockquote&gt;sudo env ARCHFLAGS="-arch i386" gem install sqlite3-ruby&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4619608242007135874?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4619608242007135874/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4619608242007135874' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4619608242007135874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4619608242007135874'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/06/ruby-on-rails-leopard-1056.html' title='Обновляем Ruby on rails на Leopard 10.5.6'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1403859480437353763</id><published>2009-06-08T22:04:00.000-07:00</published><updated>2009-06-08T22:06:50.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='update-manager'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Менеждер обновлений в Ubuntu 9.04 и его раздражающее поведение</title><content type='html'>&lt;div class="snap_preview"&gt;&lt;p style="text-align: justify;"&gt;&lt;a href="http://ossru.wordpress.com/2009/06/07/%D0%BC%D0%B5%D0%BD%D0%B5%D0%B6%D0%B4%D0%B5%D1%80-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-ubuntu-9-04-%D0%B8-%D0%B5%D0%B3%D0%BE-%D1%80%D0%B0%D0%B7%D0%B4%D1%80%D0%B0%D0%B6/"&gt;отсюда взято&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;В прошлый раз мы остановились на том, что после установки системы сразу же появилось свернутое окно менеджера обновлений. Именно о его поведении и пойдёт речь в этой статье.&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Не знаю из каких соображений, но способ уведомлений о доступных обновлениях системы в 9.04 был изменён. По-умолчанию, раз в неделю проверяются обновления, и если такие есть, то внезапно появляется окно со списком этих пакетов. Не знаю как вас, а меня это сильно раздражает.&lt;/p&gt; &lt;div id="attachment_436" class="wp-caption aligncenter" style="width: 430px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_002.png"&gt;&lt;img class="size-full wp-image-436" title="Внезапно появляется окно со списком обновлений" src="http://ossru.files.wordpress.com/2009/06/screenshot_002.png?w=420&amp;amp;h=316" alt="Внезапно появляется окно со списком обновлений" width="420" height="316" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Внезапно появляется окно со списком обновлений&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;К счастью есть возможность вернуть способ уведомления об обновлениях так, как это происходило в 8.10 или 8.04 (на панели просто появлялся желтый значок, сообщающий об обновлениях программ).&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Всё что для этого нужно, это программа &lt;strong&gt;Терминал&lt;/strong&gt; и пару команд. Только не нужно пугаться и убегать. Это можно сделать и через графическую систему, но через Терминал намного быстрее.&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Запускаем &lt;strong&gt;Терминал&lt;/strong&gt;:&lt;/p&gt; &lt;div id="attachment_437" class="wp-caption aligncenter" style="width: 430px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_0031.png"&gt;&lt;img class="size-full wp-image-437" title="Запускаем Терминал" src="http://ossru.files.wordpress.com/2009/06/screenshot_0031.png?w=420&amp;amp;h=338" alt="Запускаем Терминал" width="420" height="338" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Запускаем Терминал&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;Эта команда как раз и отключает внезапное появление окна со списком доступных обновлений (просто скопируйте эту команду в &lt;strong&gt;Терминал&lt;/strong&gt; и нажмите &lt;strong&gt;Enter&lt;/strong&gt;):&lt;/p&gt; &lt;pre style="text-align: left;"&gt;&lt;strong&gt;gconftool -s --type bool /apps/update-notifier/auto_launch false&lt;/strong&gt;&lt;/pre&gt; &lt;p style="text-align: justify;"&gt;На этом можно было бы и остановиться, но есть ещё парочка полезных опций, включать их или нет – решать Вам.&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Следующая команда задаёт интервал проверки доступных обновлений. По-умолчанию он равен 7 дней, мы же поставим 1 день (просто скопируйте эту команду в &lt;strong&gt;Терминал&lt;/strong&gt; и нажмите &lt;strong&gt;Enter&lt;/strong&gt;):&lt;/p&gt; &lt;pre style="text-align: left;"&gt;&lt;strong&gt;gconftool -s --type int /apps/update-notifier/regular_auto_launch_interval 1&lt;/strong&gt;&lt;/pre&gt; &lt;p style="text-align: left;"&gt;И ещё одна полезная опция, которая будет отображать с какой и на какую версию будут обновлены пакеты (просто скопируйте эту команду в &lt;strong&gt;Терминал&lt;/strong&gt; и нажмите &lt;strong&gt;Enter&lt;/strong&gt;):&lt;/p&gt; &lt;pre style="text-align: left;"&gt;&lt;strong&gt;gconftool -s --type bool /apps/update-manager/show_versions true&lt;/strong&gt;&lt;/pre&gt; &lt;p style="text-align: justify;"&gt;У меня это выглядит так:&lt;/p&gt; &lt;div id="attachment_442" class="wp-caption aligncenter" style="width: 430px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_007.png"&gt;&lt;img class="size-full wp-image-442" title="После ввода команд" src="http://ossru.files.wordpress.com/2009/06/screenshot_007.png?w=420&amp;amp;h=95" alt="После ввода команд" width="420" height="95" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;После ввода команд&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;После чего можно закрыть Терминал и продолжить работу. Через некоторое время в панели задач появится значок, сообщающий о наличии уведомлений.&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Для чистоты эксперимента я перезагружу Ubuntu (хотя это делать не обязательно, это не Windows).&lt;/p&gt; &lt;div id="attachment_449" class="wp-caption aligncenter" style="width: 275px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_0093.png"&gt;&lt;img class="size-full wp-image-449" title="Перезагружаю компьютер" src="http://ossru.files.wordpress.com/2009/06/screenshot_0093.png?w=265&amp;amp;h=201" alt="Перезагружаю компьютер" width="265" height="201" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Перезагружаю компьютер&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;После загрузки системы и прошествии нескольких минут, на панели возле часов появился значок, показывающий о наличии обновлений. Никаких внезапно появляющихся окон. Что и требовалось показать:&lt;/p&gt; &lt;p style="text-align: justify;"&gt;&lt;em&gt;Значок – красный, а не жёлтый – т.к. имеются критические обновления системы&lt;/em&gt;&lt;/p&gt; &lt;div id="attachment_450" class="wp-caption aligncenter" style="width: 257px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_0101.png"&gt;&lt;img class="size-full wp-image-450" title="Значок, уведомляющих об обновлениях" src="http://ossru.files.wordpress.com/2009/06/screenshot_0101.png?w=247&amp;amp;h=49" alt="Значок, уведомляющих об обновлениях" width="247" height="49" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Значок, уведомляющих об обновлениях&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;Если щелкнуть по этому значку левой кнопкой мыши, то появиться окно со списком доступных обновлений:&lt;/p&gt; &lt;div id="attachment_451" class="wp-caption aligncenter" style="width: 430px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_0121.png"&gt;&lt;img class="size-full wp-image-451" title="Список доступных обновлений" src="http://ossru.files.wordpress.com/2009/06/screenshot_0121.png?w=420&amp;amp;h=314" alt="Список доступных обновлений" width="420" height="314" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Список доступных обновлений&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;Рассмотрим, например, пакет &lt;strong&gt;apport-gtk&lt;/strong&gt;:&lt;/p&gt; &lt;div id="attachment_452" class="wp-caption aligncenter" style="width: 402px;"&gt;&lt;a href="http://ossru.files.wordpress.com/2009/06/screenshot_0131.png"&gt;&lt;img class="size-full wp-image-452" title="Пакет apport-gtk" src="http://ossru.files.wordpress.com/2009/06/screenshot_0131.png?w=392&amp;amp;h=62" alt="Пакет apport-gtk" width="392" height="62" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;Пакет apport-gtk&lt;/p&gt;&lt;/div&gt; &lt;p style="text-align: justify;"&gt;Видите подпись под пакетом?:&lt;/p&gt; &lt;p style="text-align: left;"&gt;&lt;strong&gt;С версии … на … (Размер: …)&lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Именно для отображения этой информации и вводилась последняя команда в терминале. Иногда эта информация бывает полезной.&lt;/p&gt; &lt;p style="text-align: justify;"&gt;Надеюсь эта статья будет полезной для вас. До встречи!&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1403859480437353763?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1403859480437353763/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1403859480437353763' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1403859480437353763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1403859480437353763'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/06/ubuntu-904.html' title='Менеждер обновлений в Ubuntu 9.04 и его раздражающее поведение'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1215624821910739715</id><published>2009-05-29T01:25:00.000-07:00</published><updated>2009-05-29T01:27:52.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='nginx'/><category scheme='http://www.blogger.com/atom/ns#' term='passenger'/><title type='text'>Ruby → Настрой собственный VPS в течение обеденного перерыва!</title><content type='html'>Перед погружением в технические аспекты системного администрирования,&lt;br /&gt;обозначу несколько принципиальных вещей:&lt;br /&gt;1) системное администрирование -- в 80% случаев -- тривиальные задачи,&lt;br /&gt;ответ на которые ждут вас на первой странице поисковой системы&lt;br /&gt;2) настройка удаленного сервера принципиально ничем не отличается от&lt;br /&gt;конфигурирования рабочей станции. настраивать последюнюю приходится&lt;br /&gt;каждому из нас, согласитесь -- занятие приятное и довольно простое&lt;br /&gt;3) благодаря высокой популярности vps, вероятность того, что вы&lt;br /&gt;окажетесь в тупике по любому вопросу -- ничтожна мала&lt;br /&gt;&lt;p&gt;sudo apt-get -y install build-essential libssl-dev libreadline5-dev&lt;br /&gt;zlib1g-dev vim wget curl&lt;br /&gt;sudo apt-get -y install mysql-server libmysqlclient15-dev mysql-client&lt;br /&gt;&lt;/p&gt;&lt;p&gt;adduser demo&lt;br /&gt;visudo (demo ALL=(ALL) ALL)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---SSH (local pc)------------&lt;br /&gt;mkdir ~/.ssh&lt;br /&gt;ssh-keygen -t rsa&lt;br /&gt;scp ~/.ssh/id_rsa.pub d&lt;a target="_parent" href="http://groups.google.com/groups/unlock?_done=/group/ror2ru/browse_thread/thread/cbf4f7bb095e3f43&amp;amp;msg=bf36516335dc76c6"&gt;...&lt;/a&gt;@12.12.12.12:~&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---SSH (remote pc)-----------&lt;br /&gt;mkdir /home/demo/.ssh&lt;br /&gt;mv /home/demo/id_rsa.pub /home/demo/.ssh/authorized_keys&lt;br /&gt;chown -R demo:demo /home/demo/.ssh&lt;br /&gt;chmod 700 /home/demo/.ssh&lt;br /&gt;chmod 600 /home/demo/.ssh/authorized_keys&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---locales-----------------------&lt;br /&gt;sudo locale-gen en_GB.UTF-8&lt;br /&gt;sudo /usr/sbin/update-locale LANG=en_GB.UTF-8&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---Ruby ----Passenger------------&lt;br /&gt;mkdir ~/temp &amp;amp;&amp;amp; cd ~/temp&lt;br /&gt;wget rubyforge.org/frs/download.php/57097/ruby-&lt;br /&gt;enterprise-1.8.6-20090520.tar.gz&lt;br /&gt;tar xzvf ruby-enterprise-1.8.6-20090520.tar.gz&lt;br /&gt;sudo ./ruby-enterprise-1.8.6-20090520/installer&lt;br /&gt;export PATH=/opt/ruby-enterprise-1.8.6-20090520/bin:$PATH&lt;br /&gt;sudo /opt/ruby_ee/bin/passenger-install-nginx-module&lt;br /&gt;&lt;/p&gt;&lt;p&gt;---Nginx-------------------------&lt;br /&gt;sudo useradd -s /sbin/nologin -r www-data&lt;br /&gt;sudo usermod -a -G www-data demo&lt;br /&gt;&lt;/p&gt;&lt;p&gt;mkdir ~/public_html&lt;br /&gt;mkdir ~/public_html/01_project&lt;br /&gt;&lt;/p&gt;&lt;p&gt;sudo su&lt;br /&gt;chgrp -R www-data ~/public_html/&lt;br /&gt;chmod -R 2750 ~/public_html/&lt;br /&gt;mkdir /opt/nginx/sites-available&lt;br /&gt;mkdir /opt/nginx/sites-enabled&lt;br /&gt;wget railsgeek.com/vps/vhost01 -P /opt/nginx/sites-available&lt;br /&gt;ln -s /opt/nginx/sites-available/vhost01 /opt/nginx/sites-enabled&lt;br /&gt;wget railsgeek.com/vps/nginx.conf -P /opt/nginx/conf&lt;br /&gt;wget railsgeek.com/vps/nginx -P /etc/init.d&lt;br /&gt;chmod +x /etc/init.d/nginx&lt;br /&gt;/etc/init.d/nginx start&lt;br /&gt;&lt;/p&gt;пояснения и комментарии на хабре&lt;br /&gt;&lt;a target="_blank" rel="nofollow" href="http://habrahabr.ru/blogs/ruby/60676/"&gt;http://habrahabr.ru/blogs/ruby/60676/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1215624821910739715?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1215624821910739715/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1215624821910739715' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1215624821910739715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1215624821910739715'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/05/ruby-vps.html' title='Ruby → Настрой собственный VPS в течение обеденного перерыва!'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-708255571448472923</id><published>2009-03-10T10:36:00.000-07:00</published><updated>2009-03-10T10:37:43.131-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vba'/><category scheme='http://www.blogger.com/atom/ns#' term='openoffice'/><title type='text'>Как вызывать openOffice из vba</title><content type='html'>http://www.google.ru/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=5&amp;amp;url=http%3A%2F%2Fdocumentation.openoffice.org%2FHOW_TO%2Fvarious_topics%2FVbaStarBasicXref.pdf&amp;amp;ei=w6K2SbrFLdiS_gaWxKW3Cw&amp;amp;usg=AFQjCNE85vEjxVyXU4ppgx2NDvYqd4kmeA&amp;amp;sig2=1sd8qqOOEwBGocr_rnMixw&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-708255571448472923?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/708255571448472923/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=708255571448472923' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/708255571448472923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/708255571448472923'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/03/openoffice-vba.html' title='Как вызывать openOffice из vba'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3859988601981793909</id><published>2009-02-09T09:49:00.000-08:00</published><updated>2009-02-09T09:50:54.419-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>установка ruby on Rails в Ubuntu 8.10</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&lt;blockquote&gt;# General/Pre-requisite packages&lt;br /&gt;aptitude install \&lt;br /&gt; build-essential \&lt;br /&gt; screen \&lt;br /&gt; subversion \&lt;br /&gt; mysql-client \&lt;br /&gt; telnet \&lt;br /&gt; meld \&lt;br /&gt; vim \&lt;br /&gt; vim-gnome \&lt;br /&gt; exuberant-ctags \&lt;br /&gt; tk8.5 \&lt;br /&gt; apache2-prefork-dev \&lt;br /&gt; rcov&lt;br /&gt;&lt;br /&gt;# mysql server&lt;br /&gt;# use apt-get to avoid installing exim4&lt;br /&gt;DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes \&lt;br /&gt; mysql-server mysql-client \&lt;br /&gt; libmysqlclient15-dev libmysql-ruby1.8&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# git&lt;br /&gt;mkdir gitcore&lt;br /&gt;cd gitcore&lt;br /&gt;wget http://kernel.org/pub/software/scm/git/git-1.6.0.3.tar.gz&lt;br /&gt;apt-get build-dep git-core --assume-yes&lt;br /&gt;tar xzvf git-1.6.0.3.tar.gz&lt;br /&gt;cd git-1.6.0.3/&lt;br /&gt;./configure&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;cd&lt;br /&gt;&lt;br /&gt;# Ruby&lt;br /&gt;aptitude --assume-yes install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 \&lt;br /&gt; irb1.8 libreadline-ruby1.8 libruby1.8 libopenssl-ruby&lt;br /&gt;ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby;&lt;br /&gt;ln -s /usr/bin/ri1.8 /usr/local/bin/ri;&lt;br /&gt;ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc;&lt;br /&gt;ln -s /usr/bin/irb1.8 /usr/local/bin/irb;&lt;br /&gt;ln -s /usr/local/bin/ruby /usr/bin/ruby&lt;br /&gt;&lt;br /&gt;# Rubygems. You REALLY don't want to let aptitude install rubygems.&lt;br /&gt;wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz&lt;br /&gt;cd rubygems-1.3.1&lt;br /&gt;ruby setup.rb&lt;br /&gt;ln -s /usr/bin/gem1.8 /usr/bin/gem&lt;br /&gt;for g in rails rake capistrano capistrano-ext hpricot treetop ruby-debug term-ansicolor mongrel cheat passenger annotate-models rak; do gem install $g; done&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3859988601981793909?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3859988601981793909/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3859988601981793909' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3859988601981793909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3859988601981793909'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/02/ruby-on-rails-ubuntu-810.html' title='установка ruby on Rails в Ubuntu 8.10'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2542247783748074445</id><published>2009-02-03T02:44:00.000-08:00</published><updated>2009-02-03T03:27:12.782-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSX'/><category scheme='http://www.blogger.com/atom/ns#' term='acer aspire one'/><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><title type='text'>мультизагрузка ОС на Acer Aspire One</title><content type='html'>Поставил три ос на AOA101 .&lt;br /&gt;Порядок такой.&lt;br /&gt;1. Ставим XP в первую праймари партицию 24Gb и делаем сразу вторую праймари партицию 25Gb для мак.&lt;br /&gt;&lt;br /&gt;2. ставим дебиан ленни на оставшееся место. (разбиваем как нравиться например&lt;br /&gt;15Gb -\&lt;br /&gt;2Gb - swap&lt;br /&gt;180Gb -\home) по умолчанию заработает все eth, sound, wifi, sleep, hibernate&lt;br /&gt;&lt;br /&gt;3. ставим мак в вставшуюся партицию. Я ставил iAtkos v5 10.5.5 c vanila kernel 1.0&lt;br /&gt;&lt;br /&gt;4. мак затрет grub в mbr придется его восстановить например SuperGrub disk 32секунды&lt;br /&gt;&lt;br /&gt;5. В grub menu.list дебиана уже будет запуск XP добавляем запуск OSX&lt;br /&gt;&lt;blockquote&gt;title OSX Leopard&lt;br /&gt;root (hd0,1)&lt;br /&gt;chainloader +1&lt;/blockquote&gt;все все три ос работают!&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="corners-top"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2542247783748074445?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2542247783748074445/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2542247783748074445' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2542247783748074445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2542247783748074445'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/02/acer-aspire-one.html' title='мультизагрузка ОС на Acer Aspire One'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7511907534845218854</id><published>2009-01-22T11:57:00.000-08:00</published><updated>2009-01-22T11:59:23.662-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='icq'/><category scheme='http://www.blogger.com/atom/ns#' term='jabber'/><category scheme='http://www.blogger.com/atom/ns#' term='Gajom'/><title type='text'>Задолбала ICQ</title><content type='html'>&lt;a href="http://ruslan-sam.ya.ru/replies.xml?item_no=1055&amp;amp;ncrnd=8529"&gt;ставим Gajim&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7511907534845218854?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7511907534845218854/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7511907534845218854' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7511907534845218854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7511907534845218854'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/01/icq.html' title='Задолбала ICQ'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3496082289951059253</id><published>2009-01-11T13:36:00.000-08:00</published><updated>2009-01-11T13:44:44.689-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='rsync'/><category scheme='http://www.blogger.com/atom/ns#' term='incremental'/><title type='text'>Бакуп с rsync</title><content type='html'>делаем скрипт и исправляем в нем конфигурационные строки&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;# start config&lt;br /&gt;backup_dest=/home/user/backup&lt;br /&gt;backup_src=`cat /home/user/backup/include.txt`&lt;br /&gt;excludefile=/home/user/backup/exclude.txt&lt;br /&gt;prefix=/backup-daily-&lt;br /&gt;# end config&lt;br /&gt;&lt;br /&gt;prev=`ls -d1 $backup_dest$prefix* | tail -n 1`&lt;br /&gt;current=`date "+%Y-%m-%d"`&lt;br /&gt;rsync -aPq --exclude-from=$excludefile --link-dest=$prev $backup_src $backup_dest$prefix$current&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ставим его в запуск по крону&lt;br /&gt;&lt;br /&gt;на забываем сделать  файлы exclude.txt например&lt;br /&gt;&lt;blockquote&gt;*.html&lt;br /&gt;*.jpg&lt;/blockquote&gt;&lt;br /&gt;и какие папки бакупим include.txt&lt;br /&gt;&lt;blockquote&gt;/home/user/dir1&lt;br /&gt;/home/user/dir2&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3496082289951059253?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3496082289951059253/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3496082289951059253' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3496082289951059253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3496082289951059253'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/01/rsync.html' title='Бакуп с rsync'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4833811793396543419</id><published>2009-01-06T11:26:00.000-08:00</published><updated>2009-01-06T11:29:37.185-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='sfdisk'/><category scheme='http://www.blogger.com/atom/ns#' term='fdisk'/><category scheme='http://www.blogger.com/atom/ns#' term='mkfs'/><category scheme='http://www.blogger.com/atom/ns#' term='HDD'/><title type='text'>Восстановление разделов,удалённых файлов на HDD,FLASH и т.д в Linux</title><content type='html'>&lt;p&gt;&lt;a href="http://itbg.wordpress.com/2009/01/06/%d0%b2%d0%be%d1%81%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d1%80%d0%b0%d0%b7%d0%b4%d0%b5%d0%bb%d0%be%d0%b2%d1%83%d0%b4%d0%b0%d0%bb%d1%91%d0%bd%d0%bd%d1%8b%d1%85-%d1%84/"&gt;Всем привет! Всех с Рождеством.&lt;br /&gt;Праздники продолжаются, а значит есть время для статей.&lt;br /&gt;Сегодня будем восстанавливать убитые, повреждённые разделы Вашего HDD,Flash и т.д&lt;br /&gt;Так-же можно просто потренироваться или посмотреть уже существующих дисков.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Если диск или раздел уже упал, то Вам понадобится загрузочный дистрибутив Linux.&lt;br /&gt;Рекомендую System Rescue CD т.к он создан именно для этого.&lt;br /&gt;Главное ничего не делать с диском.&lt;/p&gt; &lt;p&gt;Приступим:&lt;/p&gt; &lt;p&gt;1) Вставляем Ваш Flash, Live CD в реанимируемый ПК&lt;br /&gt;Грузимся… Первое что потребуется - это определить файловые системы диска.&lt;br /&gt;Для этого есть команда &lt;strong&gt; sfdisk -l&lt;/strong&gt;&lt;br /&gt;Подробнее можно посмотреть командой &lt;strong&gt;file -s&lt;/strong&gt;&lt;br /&gt;Пример:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;localhost root ~ # sfdisk -l /dev/sda&lt;/p&gt; &lt;p&gt;Диск /dev/sda: 9729 цилиндров, 255 головок, 63 секторов/дорожку&lt;br /&gt;Предупреждение: Таблица разделов выглядит так,&lt;br /&gt;словно она была создана для C/H/S=*/240/63&lt;br /&gt;(вместо 9729/255/63).&lt;br /&gt;Для листинга будет подразумеваться эта геометрия.&lt;br /&gt;Единицы = цилиндры по 7741440 байт, блоки по 1024 байт, начиная с 0&lt;/p&gt; &lt;p&gt;Устр-во Загр   Нач   Конец    #цил     #блоки   Id  Система&lt;br /&gt;/dev/sda1          0+    516     517-   3908488+  82  Linux своп / Solaris&lt;br /&gt;/dev/sda2        517     555      39     294840   83  Linux&lt;br /&gt;/dev/sda3        556    5722    5167   39062520   83  Linux&lt;br /&gt;/dev/sda4       5723   10336    4614   34881840   83  Linux&lt;/p&gt; &lt;p&gt;localhost root ~ # file -s /dev/sda1&lt;br /&gt;/dev/sda1: Linux/i386 swap file (new style) 1 (4K pages) size 977121 pages&lt;/p&gt; &lt;p&gt;localhost root ~ # file -s /dev/sda2&lt;br /&gt;/dev/sda2: ReiserFS V3.6 block size 4096 num blocks 73696 r5 hash&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Посмотрели? Выбрали что нужно восстановить.&lt;/p&gt; &lt;p&gt;2) Создаём образ диска/раздела с помощью команды &lt;strong&gt;dd&lt;/strong&gt; и ложем его на другой целый накопитель /dev/sdb1&lt;br /&gt;Это нам даст шанс на ошибку, если что-то пойдёт не так. С образом Мы и будем работать, дабы не насиловать и без того порченный HDD.&lt;br /&gt;Пример:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;mount /dev/sdb1 /mnt/temp&lt;br /&gt;dd if=/dev/sda1 of=/mnt/temp/disk.ima conv=noerror&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Опция &lt;strong&gt;conv=noerror&lt;/strong&gt; говорит о том, что &lt;strong&gt;dd&lt;/strong&gt; следует продолжить считывание несмотря на ошибки чтения, которые, в большинстве случаев, присутствуют на поврежденных дисках.&lt;br /&gt;Так-же можно поиграться с параметром &lt;strong&gt;bs&lt;/strong&gt; для ускорения копирования&lt;/p&gt; &lt;p&gt;И ещё, образ можно скинуть по сети:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;dd conv=noerror if=/dev/sd1 | ssh user@host ‘cat &gt;&lt;br /&gt;recover.img’&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;И сжать в добавок&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;dd conv=noerror if=/dev/sda1 | gzip | ssh user@host&lt;br /&gt;‘gunzip &gt; recover.img’&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;3) Образ получили. Теперь его нужно ассоциировать с виртуальным устройством, что-бы с ним работать как с обычным разделом/накопителем&lt;br /&gt;Делается это командой &lt;strong&gt;losetup&lt;/strong&gt;&lt;br /&gt;Пример:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;losetup /dev/loop1 /mnt/temp/disk.ima&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;И получим свой раздел, в качестве полноценного устройства.&lt;br /&gt;Его можно просто смонтировать и работать. Или приступать к восстановлению.&lt;br /&gt;Правда он доступен только для чтения.&lt;/p&gt; &lt;p&gt;Обойти это можно. Для этого нам понадобится создать файл, который будем использовать как виртуальный накопитель.&lt;br /&gt;Делается это командой &lt;strong&gt;dd&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Пример:&lt;br /&gt;Создать файл размером 30мб&lt;br /&gt;Размер задаётся тут &lt;strong&gt;count=30720&lt;/strong&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;dd if=/dev/zero of=/tmp/virtualfs.ima bs=1024 count=30720&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Затем его ассоциируем с /dev/loop2&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;losetup /dev/loop2 /tmp/virtualfs.ima&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;И просто форматируем, в какую FS хотите.&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;mkfs.ext3 /dev/loop2&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;После можно командой &lt;strong&gt;dd&lt;/strong&gt; накатить на него образ раздела/диска или смонтировать и работать.&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;dd if=/mnt/temp/disk.ima of=/dev/loop2&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;4) А как-же быть если мы сняли образ целого HDD с его разделами?&lt;br /&gt;Очень просто.&lt;br /&gt;После того, как Вы смонтировали/ассоциировали образ нужно посмотреть его разделы&lt;br /&gt;Делается это с помощью команды &lt;strong&gt;fdisk&lt;/strong&gt;&lt;br /&gt;Пример:&lt;br /&gt;Даём команду fdisk [имя диска или утройства]&lt;br /&gt;Затем жмём ключ &lt;strong&gt;p&lt;/strong&gt; для просмотра разделов&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;&lt;code&gt;&lt;br /&gt;$ fdisk -u /dev/loop3&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Command (m for help): p&lt;/p&gt; &lt;p&gt;Disk /dev/loop1: 4194 MB, 4194816000 bytes&lt;br /&gt;128 heads, 63 sectors/track, 1015 cylinders, total 8193000 sectors&lt;br /&gt;Units = sectors of 1 * 512 = 512 bytes&lt;/p&gt; &lt;p&gt;Device                  Boot      Start       End                 Blocks               Id           System&lt;br /&gt;/dev/loop3p1      *             63          8176895       4088416+      7            HPFS/NTFS&lt;/p&gt; &lt;p&gt;Command (m for help): q&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Здесь нам нудны след. значения.&lt;br /&gt;а)  Units = sectors of 1 * 512 = 512 bytes т.е размер сектора &lt;strong&gt;512 bytes&lt;/strong&gt;&lt;br /&gt;б) Начальный сектор раздела. В примере &lt;strong&gt;63&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Дальше всё просто. умножаем 63 на 512 и получаем число 32256&lt;/p&gt; &lt;p&gt;Даём команду :&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;losetup -o 32256 /dev/loop4 /mnt/temp/disk_full.ima&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;И получаем на /dev/loop4 выбранный раздел.&lt;/p&gt; &lt;p&gt;Затем монтируем его и пользуемся.&lt;/p&gt; &lt;p&gt;Удалить все ассоциации можно командой&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;losetup -d /dev/loop[0,1,2,3,4 и т.д]&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;5) Вроде всё.&lt;br /&gt;После восстановления можно накатить образ обратно на диск или скопировать нужные файлы.&lt;br /&gt;Про утилиты восстановления писать нет смысла, да и я ими пользовался то 1 раз в жизни когда раздел упал.&lt;/p&gt; Почитать материалы можно по след. ссылкам:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4833811793396543419?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4833811793396543419/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4833811793396543419' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4833811793396543419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4833811793396543419'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2009/01/hddflash-linux.html' title='Восстановление разделов,удалённых файлов на HDD,FLASH и т.д в Linux'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8244437792144336509</id><published>2008-12-23T09:08:00.000-08:00</published><updated>2008-12-23T09:12:00.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='crontab'/><title type='text'>Локальное зеркало обновлений</title><content type='html'>&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://www.propheta.ru/2008/10/nod32-ubuntu.html"&gt;Локальное зеркало обновлений NOD32 в Ubuntu&lt;/a&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h3 class="post-title entry-title"&gt;&lt;a href="http://www.propheta.ru/2008/12/avp-kaspersky-6.html"&gt;Локальное зеркало для AVP Kaspersky 6&lt;/a&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8244437792144336509?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8244437792144336509/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8244437792144336509' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8244437792144336509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8244437792144336509'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/12/blog-post.html' title='Локальное зеркало обновлений'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-907699910997546992</id><published>2008-12-21T06:18:00.000-08:00</published><updated>2008-12-21T06:20:31.254-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Grub4Dos'/><category scheme='http://www.blogger.com/atom/ns#' term='LiveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='SystemRescueCD'/><title type='text'>Загрузка LiveCD через Grub4DOS на примере SystemRescueCd</title><content type='html'>&lt;h3 class="storytitle"&gt;&lt;a href="http://itbg.wordpress.com/2008/12/21/%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-livecd-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-grub4dos-%D0%BD%D0%B0-%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5-systemrescuecd/"&gt;Загрузка LiveCD через Grub4DOS на примере SystemRescueCd&lt;/a&gt;&lt;/h3&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-907699910997546992?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/907699910997546992/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=907699910997546992' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/907699910997546992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/907699910997546992'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/12/livecd-grub4dos-systemrescuecd.html' title='Загрузка LiveCD через Grub4DOS на примере SystemRescueCd'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8518050265186507943</id><published>2008-12-11T11:47:00.000-08:00</published><updated>2008-12-11T11:49:27.671-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slimrat'/><category scheme='http://www.blogger.com/atom/ns#' term='Rapidshare'/><title type='text'>slimrat: -утилита для закачки с файлообменников</title><content type='html'>&lt;a href="http://code.google.com/p/slimrat/" target="_blank"&gt;slimrat&lt;/a&gt; - удобная command-line утилита для скачивания файлов со следующих файлообменников:&lt;br /&gt; - Rapidshare&lt;br /&gt; - FastLoad&lt;br /&gt; - MediaFire&lt;br /&gt; - YouTube&lt;br /&gt; - DepositFiles&lt;br /&gt; - Leteckaposta&lt;br /&gt;&lt;br /&gt;Я протестировал только rapidshare, но тест пройден отлично. Slimrat распознает 60-ти секундные таймауты rapidshare, ожидает нужное время и затем скачивает файлы из списка по очереди.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.vyazovoi.info/?p=2"&gt;взято отсюда&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8518050265186507943?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8518050265186507943/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8518050265186507943' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8518050265186507943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8518050265186507943'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/12/slimrat.html' title='slimrat: -утилита для закачки с файлообменников'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3285122030157492814</id><published>2008-12-11T11:45:00.000-08:00</published><updated>2008-12-11T11:47:30.121-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><category scheme='http://www.blogger.com/atom/ns#' term='clive'/><title type='text'>clive: cli-утилита для скачивания встроенного в страницы видео</title><content type='html'>&lt;a href="http://blog.vyazovoi.info/?p=1#post"&gt;&lt;/a&gt;&lt;div style="margin: 5px;"&gt;&lt;a href="http://clive.sourceforge.net/" target="_blank"&gt;Clive&lt;/a&gt; умеет скачивать видео как с известных ему сервисов (youtube и др.) так и с произвольных страниц (опция --scan).&lt;br /&gt;Часто использую его для youtube и очень доволен - скачивается mp4-видео с информативным именем файла.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.vyazovoi.info/?p=1"&gt;взято отсюда&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3285122030157492814?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3285122030157492814/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3285122030157492814' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3285122030157492814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3285122030157492814'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/12/clive-cli.html' title='clive: cli-утилита для скачивания встроенного в страницы видео'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3123760119689952333</id><published>2008-11-25T00:18:00.000-08:00</published><updated>2008-11-25T00:19:11.176-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenVZ'/><title type='text'>Разворачиваем виртуальные сервера</title><content type='html'>&lt;a href="http://silverghost.org.ua/2008/11/25/razvorachivaem-virtualnye-servera/"&gt;OpenVZ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3123760119689952333?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3123760119689952333/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3123760119689952333' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3123760119689952333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3123760119689952333'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/11/blog-post.html' title='Разворачиваем виртуальные сервера'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-95674823264946687</id><published>2008-10-29T09:24:00.000-07:00</published><updated>2008-10-29T09:31:37.405-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sshfs'/><category scheme='http://www.blogger.com/atom/ns#' term='SSH'/><title type='text'>SSHFS -монтирование удаленных систем через SSH.</title><content type='html'>&lt;a href="http://linux-ru.blogspot.com/2007/03/sshfs-ssh_12.html"&gt;Отсюда. Как я уже говорил,&lt;/a&gt; ничего дополнительно на сервере делать не нужно. Все что надо, это установленный и настроеный OpenSSH. Поэтому переходим к настройкам на стороне клиента. FUSE был включен в ядро начиная лишь с версии 2.6.14. Если у вас версия ядра 2.6.14 или выше (чтобы узнать, запустите uname -r), можете вздохнуть с облегчением. Если нет, придется скопилировать модуль fuse и подключить его к ядру:&lt;br /&gt;&lt;blockquote&gt;$sudo modprobe fuse&lt;/blockquote&gt;Теперь можно переходить к установке FUSE и sshfs. Если ваша система не предоставляет бинарных пакетов, вам придется скачать исходники и скомпилировать самому. Скачать можно здесь - FUSE и sshfs-fuse.&lt;br /&gt;&lt;br /&gt;В Ubuntu или Kubuntu и Debian testing этого делать не нужно. Все сделали за вас. Нужно лишь установить пакеты:&lt;br /&gt;&lt;blockquote&gt;$sudo apt-get install sshfs&lt;/blockquote&gt;(fuse поставится вместе с зависимостями)&lt;br /&gt;&lt;br /&gt;Теперь, поскольку sshfs предназначен для использования от имени обычного пользователя (не рута), добавьте себя (возможно и других пользователей) в группу fuse:&lt;br /&gt;&lt;blockquote&gt;$sudo usermod -a -G fuse имя_пользователя&lt;/blockquote&gt;или&lt;br /&gt;&lt;blockquote&gt;adduser имя_пользователя fuse&lt;/blockquote&gt;После этого нужно перелогиниться чтобы попасть в группу fuse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Использование.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Создайте точку монтирования, скажем, папку local в домашней директории&lt;br /&gt;&lt;blockquote&gt;$cd ~&lt;br /&gt;$mkdir local&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Монтируем:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;$ sshfs alien@10.52.31.1:/home/data /home/serhiy/local&lt;/blockquote&gt;(заметьте, монтирование происходит от имени обычного юзера (нет sudo перед командой монтирования))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-95674823264946687?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/95674823264946687/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=95674823264946687' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/95674823264946687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/95674823264946687'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/10/sshfs-ssh.html' title='SSHFS -монтирование удаленных систем через SSH.'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4445752908606222429</id><published>2008-10-24T08:53:00.000-07:00</published><updated>2008-10-24T08:57:04.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nat'/><category scheme='http://www.blogger.com/atom/ns#' term='iptables'/><category scheme='http://www.blogger.com/atom/ns#' term='mtu'/><title type='text'>делаем шлюз интернета</title><content type='html'>&lt;code&gt;&lt;br /&gt;#!/bin/sh -e&lt;br /&gt;PATH=/usr/sbin:/sbin:/bin:/usr/bin&lt;br /&gt;# delete all existing rules.&lt;br /&gt;iptables -F&lt;br /&gt;iptables -t nat -F&lt;br /&gt;iptables -t mangle -F&lt;br /&gt;iptables -X&lt;br /&gt;# Always accept loopback traffic&lt;br /&gt;iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;# Allow established connections, and those not coming from the outside&lt;br /&gt;iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT&lt;br /&gt;iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;# исправляем  mtu&lt;br /&gt;iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu&lt;br /&gt;# Allow outgoing connections from the LAN side.&lt;br /&gt;iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT&lt;br /&gt;# Masquerade.&lt;br /&gt;iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE&lt;br /&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;# Don't forward from the outside to the inside.&lt;br /&gt;iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT&lt;br /&gt;#iptables -A FORWARD -i eth0 -o ppp0 -j REJECT&lt;br /&gt;# Enable routing.&lt;br /&gt;echo 1 &gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4445752908606222429?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4445752908606222429/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4445752908606222429' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4445752908606222429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4445752908606222429'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/10/blog-post_24.html' title='делаем шлюз интернета'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-368305006316422137</id><published>2008-10-01T13:10:00.001-07:00</published><updated>2008-10-08T22:54:49.654-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flyback'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>TimeMachine для ubuntu</title><content type='html'>FlyBack программа повторяющая функционал эпловской программы бакупов&lt;br /&gt;&lt;br /&gt;До установки проверяем установку питоновских пакетов&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install python python-glade2 python-gnome2 python-sqlite python-gconf rsync &lt;/blockquote&gt;Затем загружаем&lt;br /&gt;&lt;blockquote&gt;svn checkout http://flyback.googlecode.com/svn/trunk/ flyback&lt;/blockquote&gt;и запускаем скрипт&lt;br /&gt;&lt;blockquote&gt;python flyback.py&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-368305006316422137?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/368305006316422137/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=368305006316422137' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/368305006316422137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/368305006316422137'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/10/timemachine-ubuntu.html' title='TimeMachine для ubuntu'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1446471343382377631</id><published>2008-10-01T09:51:00.000-07:00</published><updated>2008-10-01T10:54:43.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iso'/><category scheme='http://www.blogger.com/atom/ns#' term='distr'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='remastersys'/><title type='text'>Делаем свой дистрибутив</title><content type='html'>C помощью Remastersys можно сделать две вещи:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Полный бекап своей системы, включая персональные данные,и создать его в виде LiveCD или DVD для последующей инсталляции.&lt;/li&gt;&lt;li&gt;Сделать свой дистрибутив на основе Ubuntu для себя или поделиться им с кем-нибудь.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Установка Remastersys в Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Добавляем репозиторий в &lt;span style="font-weight: bold;"&gt;/etc/apt/sources.list&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;sudo gedit  /etc/apt/sources.list&lt;/blockquote&gt;и вносим следующую строчку:&lt;br /&gt;&lt;blockquote&gt;# Remastersys&lt;br /&gt;deb http://www.remastersys.klikit-linux.com/repository remastersys/&lt;/blockquote&gt;Сохраняем файл.&lt;br /&gt;&lt;br /&gt;Обновляем source list&lt;br /&gt;&lt;blockquote&gt;sudo apt-get update&lt;/blockquote&gt;Устанавливаем&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install remastersys&lt;/blockquote&gt;Дожидаемся полной инсталляции.&lt;br /&gt;&lt;br /&gt;Запуск Remastersys&lt;br /&gt;&lt;blockquote&gt;sudo remastersys&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Remastersys команды&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys backup|clean|dist [cdfs|iso] [filename.iso]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Remastersys примеры&lt;br /&gt;&lt;br /&gt;1) создаем livecd/dvd бекап нашей системы&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys backup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) создаем livecd/dvd бекап и образ диска custom.iso&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys backup custom.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3) чистим временные файлы remastersys&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys clean&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4) создаем дистрибутив livecd/dvd из нашей системы&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys dist&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5) создаем дистрибутив livecd/dvd только из файловой системы&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys dist cdfs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6) создаем дистрибутив с именем custom.iso, если cdfs уже сделали&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys dist iso custom.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Создание ISO образа&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sudo remastersys dist&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Эта команда создаст образ iso с называнием customdist.iso в каталоге / home / remastersys .&lt;br /&gt;Опция dist позволяет не включить в образ ваши личные папки (например, / home / user).&lt;br /&gt;Возможно в ходе процесса вам придется вставить установочный диск Ubuntu.&lt;br /&gt;&lt;br /&gt;процесс создания образа идет примерно так:&lt;br /&gt;&lt;br /&gt;[…]&lt;br /&gt;92.16% done, estimate finish Wed DEC 28 15:31:25 2007&lt;br /&gt;93.39% done, estimate finish Wed DEC 28 15:31:25 2007&lt;br /&gt;94.62% done, estimate finish Wed DEC 28 15:31:24 2007&lt;br /&gt;95.85% done, estimate finish Wed DEC 28 15:31:24 2007&lt;br /&gt;97.08% done, estimate finish Wed DEC 28 15:31:25 2007&lt;br /&gt;98.31% done, estimate finish Wed DEC 28 15:31:25 2007&lt;br /&gt;99.54% done, estimate finish Wed DEC 28 15:31:25 2007&lt;br /&gt;Total translation table size: 2048&lt;br /&gt;Total rockridge attributes bytes: 3950&lt;br /&gt;Total directory bytes: 9094&lt;br /&gt;Path table size(bytes): 54&lt;br /&gt;Max brk space used 0&lt;br /&gt;406890 extents written (794 MB)&lt;br /&gt;&lt;br /&gt;В каталоге /home/remastersys/ создастся образ customdist.iso, который можно буде записать на болванку.&lt;br /&gt;Если размер образа более 700Мб, то его можно записать на DVD болванку&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;Чистим&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;После того как образ протестирован, записан и он больше не нужен выполняем&lt;br /&gt;&lt;blockquote&gt;sudo remastersys clean&lt;/blockquote&gt;удалятся все временные файлы и образ диска в директории /home/remastersys.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1446471343382377631?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1446471343382377631/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1446471343382377631' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1446471343382377631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1446471343382377631'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/10/blog-post.html' title='Делаем свой дистрибутив'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4026203664692989694</id><published>2008-09-26T02:15:00.000-07:00</published><updated>2008-09-26T02:16:34.536-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='приколы'/><title type='text'>админский бубен</title><content type='html'>&lt;a href="http://wiki.linux.uz/index.php/%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%B1%D1%83%D0%B1%D0%B5%D0%BD"&gt;Админский бубен&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4026203664692989694?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4026203664692989694/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4026203664692989694' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4026203664692989694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4026203664692989694'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/blog-post_26.html' title='админский бубен'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-5438578394730146032</id><published>2008-09-24T23:54:00.000-07:00</published><updated>2008-09-25T00:12:11.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apt-mirror'/><category scheme='http://www.blogger.com/atom/ns#' term='repository'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Зеркалирование репозитариев Ubuntu</title><content type='html'>Команда Ubuntu apt-mirror используется для автоматического&lt;br /&gt;создания зеркала репозиториев, указанных в файле&lt;span style="font-weight: bold;"&gt; /etc/apt/mirror.list&lt;/span&gt;.&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install apt-mirror&lt;/blockquote&gt;Можно закомментировать ненужные строки, поставив в их начало символ решетки (&lt;span style="font-weight: bold;"&gt;#&lt;/span&gt;).&lt;br /&gt;Если же вы хотите загрузить только пакеты main и restricted, поместите решетку перед ‘universe’ или ‘multiverse’, чтобы закомментировать их.&lt;br /&gt;С зеркала, расположенного в вашей стране, загрузка может проходить быстрее.&lt;br /&gt;Отредактировав файл сохраняем его Ctrl+O Ctrl+X&lt;br /&gt;Запускаем копирование выбранных репозитариев&lt;br /&gt;&lt;blockquote&gt;sudo apt-mirror&lt;/blockquote&gt; В зависимости от сделанных вами изменений, размер загрузки может достигать 40 ГБ, если не больше! К счастью, apt-mirror запоминает, где остановился, если вы отменили его работу, не дождавшись конца, и вы можете выполнять загрузку несколько ночей, пока она не закончится. Все данные сохранятся в &lt;span style="font-weight: bold;"&gt;/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu&lt;/span&gt; и будут готовы к использованию.&lt;br /&gt;&lt;br /&gt;Ubuntu уже позаботился о включении соответствующего задания &lt;span style="font-weight: bold;"&gt;Cron&lt;/span&gt; под названием &lt;span style="font-weight: bold;"&gt;apt-mirror&lt;/span&gt;, в закомментированном виде, в &lt;span style="font-weight: bold;"&gt;/etc/cron.d/&lt;/span&gt;.&lt;br /&gt;По умолчанию установлено ежедневное обновление в 16-00, но вы можете изменить это как вам удобнее.&lt;br /&gt;&lt;br /&gt;Теперь настраиваем &lt;span style="font-weight: bold;"&gt;Apache&lt;/span&gt;&lt;br /&gt;Делаем ссылку&lt;br /&gt;&lt;blockquote&gt;sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/ubuntu&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;рестартуем апач&lt;br /&gt;&lt;blockquote&gt;sudo /etc/init.d/apache2 restart&lt;/blockquote&gt;Теперь можно использовать свой локальный репозитарий исправив &lt;span style="font-weight: bold;"&gt;/etc/apt/mirror.list&lt;/span&gt; на всех компьютерах локальной сети&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-5438578394730146032?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/5438578394730146032/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=5438578394730146032' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5438578394730146032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5438578394730146032'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/ubuntu.html' title='Зеркалирование репозитариев Ubuntu'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7905794589748624904</id><published>2008-09-22T00:23:00.000-07:00</published><updated>2008-09-22T00:25:11.365-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chmod'/><category scheme='http://www.blogger.com/atom/ns#' term='type'/><category scheme='http://www.blogger.com/atom/ns#' term='find'/><title type='text'>Изменякм права доступа для только для каталогов или директорий рекурсивно</title><content type='html'>&lt;strong&gt;&lt;/strong&gt;&lt;blockquote&gt;&lt;strong&gt;find . -type d -exec chmod 755 {} \;&lt;/strong&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Эта команда рекурсивно пройдется по текущему (точка ".") каталогу и всем его подкаталогам и изменит права на 755 только у каталогов (-type d)&lt;br /&gt;&lt;br /&gt;Похожим образом действуем и с файлами:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;blockquote&gt;&lt;strong&gt;find . -type f -exec chmod 644 {} \;&lt;/strong&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;всем файлам - 644&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7905794589748624904?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7905794589748624904/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7905794589748624904' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7905794589748624904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7905794589748624904'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/blog-post_22.html' title='Изменякм права доступа для только для каталогов или директорий рекурсивно'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2647802080812641267</id><published>2008-09-17T23:50:00.000-07:00</published><updated>2008-09-17T23:50:56.358-07:00</updated><title type='text'>Ubuntu Beginners / Новичкам в Ubuntu: Разбивка диска при установке /disk partitioning for installation</title><content type='html'>&lt;a href="http://libc6.blogspot.com/2007/04/disk-patitioning-for-installation.html"&gt;Ubuntu Beginners / Новичкам в Ubuntu: Разбивка диска при установке /disk partitioning for installation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2647802080812641267?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://libc6.blogspot.com/2007/04/disk-patitioning-for-installation.html' title='Ubuntu Beginners / Новичкам в Ubuntu: Разбивка диска при установке /disk partitioning for installation'/><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2647802080812641267/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2647802080812641267' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2647802080812641267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2647802080812641267'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/ubuntu-beginners-ubuntu-disk.html' title='Ubuntu Beginners / Новичкам в Ubuntu: Разбивка диска при установке /disk partitioning for installation'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8042485398434350634</id><published>2008-09-17T23:27:00.000-07:00</published><updated>2008-09-17T23:37:25.672-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='dyndns'/><category scheme='http://www.blogger.com/atom/ns#' term='ddclient'/><title type='text'>Доменное имя на динамический IP адрес</title><content type='html'>Регестрируемся на сайте типа &lt;a href="http://www.dyndns.org/"&gt;dyndns&lt;/a&gt;&lt;br /&gt;Ставим демона обновления&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;apt-get install &lt;/span&gt;&lt;span style="font-size:85%;"&gt;ddclient&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span class="fullpost"&gt;Вам нужно будет ввести логин и пароль для сайта dyndns, имя хоста, с которым нужно связывать ip и имя сетевого интерфейса, на котором этот ip назначен. Это будет имя той сетевой карточки, через которую проходит интернет,например eth0 или ppp0.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8042485398434350634?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8042485398434350634/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8042485398434350634' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8042485398434350634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8042485398434350634'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/ip.html' title='Доменное имя на динамический IP адрес'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1876859228043479395</id><published>2008-09-17T05:20:00.000-07:00</published><updated>2008-09-17T05:46:07.930-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='vm'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='kvm'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>KVM</title><content type='html'>Перед установкой виртуальной машины проверяем поддержку виртуализации процессором&lt;br /&gt;В командной строке набираем&lt;br /&gt;&lt;blockquote&gt;egrep '^flags.*(vmx|svm)' /proc/cpuinfo&lt;/blockquote&gt;если есть ответ то значит процессор поддерживает аппаратное ускорение&lt;br /&gt;ставим kvm&lt;br /&gt;&lt;blockquote&gt;apt-get install kvm&lt;/blockquote&gt;При особом желании можно поставить менеджер виртуальных машин&lt;br /&gt;и работать с ним&lt;br /&gt;&lt;blockquote&gt;apt-get install virt-manager&lt;/blockquote&gt;или запускать виртуальные машины консольными командами&lt;br /&gt;например так&lt;br /&gt;создаем файл образ hdd для виртуальной машины. ~5Gb&lt;br /&gt;&lt;blockquote&gt;dd if=/dev/zero of=/tmp/disk-image count=10000000&lt;br /&gt;&lt;/blockquote&gt;и запускаем виртуальную машину используя созданный дисковый имедж, вставляем в  cdrom загрузочный диск (да хоть ХР) и набираем&lt;br /&gt;&lt;blockquote&gt;kvm -hda /tmp/disk-image -cdrom /dev/cdrom  -m 512&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1876859228043479395?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1876859228043479395/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1876859228043479395' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1876859228043479395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1876859228043479395'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/kvm.html' title='KVM'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4278228687289398229</id><published>2008-09-16T13:47:00.000-07:00</published><updated>2008-09-16T13:48:51.854-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='acer aspire one'/><category scheme='http://www.blogger.com/atom/ns#' term='linpus'/><title type='text'>Добавление ярлыков на панель linpus</title><content type='html'>&lt;a href="http://www.youtube.com/watch?v=Daslydb3eVo"&gt;YouTube&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4278228687289398229?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4278228687289398229/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4278228687289398229' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4278228687289398229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4278228687289398229'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/linpus.html' title='Добавление ярлыков на панель linpus'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8513404416033865054</id><published>2008-09-14T21:59:00.000-07:00</published><updated>2008-09-14T22:07:09.405-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>оптимизация загрузки ubuntu 8.04</title><content type='html'>&lt;a href="http://librarian.spb.ru/2008/08/25/kak-ya-optimiziroval-sistemu-ubuntu-804-hardy/"&gt;Отсюда&lt;/a&gt;&lt;br /&gt;     &lt;div class="date"&gt;&lt;a href="http://librarian.spb.ru/category/linux/" title="Просмотреть все записи в linux" rel="category tag"&gt;linux&lt;/a&gt; @ 25 августа 2008, &lt;/div&gt;           &lt;div class="entry"&gt;             &lt;p&gt;Вчера собрался ускорить работу(получилось достаточно ощутимо) и загрузку системы(30 секунд, против полутора минут), почитал многие how-to.&lt;br /&gt;Опишу что и где я улучшал. Итак о способах, по порядку:&lt;br /&gt;1. Прописываем hostname.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;sudo vim /etc/hosts&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Было:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;blockquote&gt;&lt;code&gt;127.0.0.1 localhost&lt;br /&gt;127.0.1.1 lib&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Стало:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;blockquote&gt;&lt;code&gt;127.0.0.1 localhost &lt;span style="font-weight: bold;"&gt;lib&lt;/span&gt;&lt;br /&gt;127.0.1.1 lib&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Подписываем то, что справа от вызова консоли находится, например: lib@laptop:~$, то вписываем laptop.&lt;br /&gt;Это несколько ускоряет загрузку системы, и ускоряет запуск некоторых программ.&lt;p&gt;&lt;/p&gt; &lt;p&gt;2. Использование ядра, сконфигурированного под Вашу систему, подробнее &lt;noindex&gt;&lt;a rel="nofollow" title="http://tmbu.info/compile-new-kernel-for-ubuntu-linux/" target="_blank" href="http://librarian.spb.ru/linkout/http://tmbu.info/compile-new-kernel-for-ubuntu-linux/"&gt;как можно собрать ядро в Ubuntu&lt;/a&gt;&lt;/noindex&gt;. По ссылке написано, как собирается ядро для 6.10, однако советы справедливы и для 8.04.&lt;/p&gt; &lt;p&gt;3. Несколько ускоряем работу ext3 файловой системы:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;sudo vim /boot/grub/menu.lst&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Добавляем в существующие строки:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;# defoptions=quiet splash &lt;strong&gt;rootflags=data=writeback&lt;/strong&gt;&lt;br /&gt;# altoptions=(recovery mode) single &lt;strong&gt;rootflags=data=writeback&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt; &lt;/blockquote&gt;У меня в defoptions убран &lt;strong&gt;quiet&lt;/strong&gt; и &lt;strong&gt;splash&lt;/strong&gt; дополнительно, и добавлен &lt;strong&gt;vga=0×324&lt;/strong&gt;, для framebuffer.&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Обновляем grub.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;sudo update-grub&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Правим fstab:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;sudo vim /etc/fstab&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;В моём случае, добавляем data=writeback:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;UUID=32903d9a-98a8-4048-8472-a0896b81b3fa /               ext3    relatime,errors=remount-ro,noatime,&lt;strong&gt;data=writeback&lt;/strong&gt; 0       1&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Выполняем:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;sudo tune2fs -o journal_data_writeback /dev/sda1&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;/dev/sda1 это имя раздела, на котором лежит /&lt;br /&gt;Проверяем:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;sudo tune2fs -l /dev/sda1&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Этот метод череват тем, что можете потерять некоторые данные при неожиданном выключении системы, например если у вас неожиданно отключилось питание(мне это не грозит, поскольку у меня ещё батарея есть)&lt;p&gt;&lt;/p&gt; &lt;p&gt;4.  Несколько ускоряем сеть(отключаем IPv6):&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;sudo vim /etc/modprobe.d/bad_list&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Добавляем: &lt;code&gt;&lt;/code&gt;&lt;blockquote&gt;&lt;code&gt;alias net-pf-10 off&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;В &lt;strong&gt;about:config&lt;/strong&gt; в Firefox отключаем &lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;network.dns.disableIPv6&lt;/code&gt;&lt;/blockquote&gt;, ставим &lt;strong&gt;true&lt;/strong&gt;.&lt;p&gt;&lt;/p&gt;&lt;p&gt; Там же:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt; &lt;code&gt;network.http.pipelining   &lt;strong&gt;true&lt;/strong&gt;&lt;br /&gt;network.http.pipelining.firstrequest  &lt;strong&gt;true&lt;/strong&gt;&lt;br /&gt;network.http.pipelining.maxrequests &lt;strong&gt;8&lt;/strong&gt;&lt;br /&gt;network.http.proxy.pipelining  &lt;strong&gt;true&lt;/strong&gt;&lt;br /&gt;nglayout.initialpaint.delay &lt;strong&gt;0&lt;/strong&gt;&lt;br /&gt;browser.turbo.enabled    &lt;strong&gt;true&lt;/strong&gt;&lt;br /&gt;network.http.max-connections-per-server   &lt;strong&gt;8&lt;/strong&gt;&lt;br /&gt;network.http.max-persistent-connections-per-proxy  &lt;strong&gt;8&lt;/strong&gt;&lt;br /&gt;network.http.max-persistent-connections-per-server  &lt;strong&gt;8&lt;/strong&gt; &lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Это ускорит загрузку страниц.&lt;br /&gt;Добавляем в /etc/environment:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;MOZ_DISABLE_PANGO=1&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Это позволит ускорить отрисовку страниц в Firefox.&lt;p&gt;&lt;/p&gt; &lt;p&gt;5. Убираем ненужные консоли(которые вызываются по Ctrl+Alt+F1..8):&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt; &lt;code&gt;sudo rm /etc/event.d/tty[3-6]&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;6. Ускоряем загрузку системы:&lt;br /&gt;&lt;blockquote&gt; &lt;code&gt;sudo vim /etc/init.d/rc&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Выставляем: &lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;CONCURRENCY=shell&lt;/strong&gt;&lt;/span&gt;&lt;/blockquote&gt;Это устанавливает множественную загрузку в одно и то же время, особенно хороший эффект имеет, если у Вас многоядерная система.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;7. Удаляем ненужные сервисы из загрузки:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;sudo aptitude install sysv-rc-conf&lt;br /&gt;sudo sysv-rc-conf&lt;/code&gt;&lt;br /&gt;&lt;/blockquote&gt;Подробно о сервисах написано на &lt;noindex&gt;&lt;a rel="nofollow" title="http://ubuntuforums.org/showthread.php?t=89491" target="_blank" href="http://librarian.spb.ru/linkout/http://ubuntuforums.org/showthread.php?t=89491"&gt;ubuntuforums.org&lt;/a&gt;&lt;/noindex&gt;&lt;br /&gt;Дополнительно я отключал apache и mysql, я их запускаю непосредственно, когда хочу поработать с локальным вебсервером.&lt;p&gt;&lt;/p&gt; &lt;p&gt;8. Если у Вас постоянное подключение к интернету, добавляем в &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;# Tweaks for faster broadband...&lt;br /&gt;net.core.rmem_default = 524288&lt;br /&gt;net.core.rmem_max = 524288&lt;br /&gt;net.core.wmem_default = 524288&lt;br /&gt;net.core.wmem_max = 524288&lt;br /&gt;net.ipv4.tcp_wmem = 4096 87380 524288&lt;br /&gt;net.ipv4.tcp_rmem = 4096 87380 524288&lt;br /&gt;net.ipv4.tcp_mem = 524288 524288 524288&lt;br /&gt;net.ipv4.tcp_rfc1337 = 1&lt;br /&gt;net.ipv4.ip_no_pmtu_disc = 0&lt;br /&gt;net.ipv4.tcp_sack = 1&lt;br /&gt;net.ipv4.tcp_fack = 1&lt;br /&gt;net.ipv4.tcp_window_scaling = 1&lt;br /&gt;net.ipv4.tcp_timestamps = 1&lt;br /&gt;net.ipv4.tcp_ecn = 0&lt;br /&gt;net.ipv4.route.flush = 1&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Всё это позволило мне ускорить работу системы на порядок, однако есть ещё пара способов, которые я рекомендовать не могу, поскольку не совсем понимаю как они работают, а именно:&lt;br /&gt;установленный пакет preload(sudo aptitude install preload), prelink(sudo aptitude install prelink)&lt;br /&gt;Подробнее о prelink &lt;noindex&gt;&lt;a rel="nofollow" title="http://ubuntuforums.org/showthread.php?t=74197" target="_blank" href="http://librarian.spb.ru/linkout/http://ubuntuforums.org/showthread.php?t=74197"&gt;здесь&lt;/a&gt;&lt;/noindex&gt;.&lt;/p&gt; &lt;p&gt;Удачного использования!&lt;/p&gt;                 &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8513404416033865054?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8513404416033865054/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8513404416033865054' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8513404416033865054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8513404416033865054'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/ubuntu-804.html' title='оптимизация загрузки ubuntu 8.04'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4029307297622370417</id><published>2008-09-10T05:14:00.000-07:00</published><updated>2008-09-11T11:46:31.570-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='slideshow'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>если DVD-slideshow не работает</title><content type='html'>если ManDVD&lt;br /&gt;ругаеться на ошибки&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;[dvd-slideshow] ###############&lt;br /&gt;[dvd-slideshow] Concatenating all audio files...&lt;br /&gt;[dvd-slideshow] Creating ac3 audio...&lt;br /&gt;[dvd-slideshow] ERROR during ffmpeg execution!&lt;br /&gt;[dvd-slideshow] see /home/sbucat/Video/dvd-slideshow.log for details&lt;br /&gt;[dvd-slideshow] cleanup...&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;то&lt;br /&gt;1. подключаем репозитарий medibuntu&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;sudo wget http://www.medibuntu.org/sources.list.d/hardy.list&lt;br /&gt;  -O /etc/apt/sources.list.d/medibuntu.list&lt;/blockquote&gt;&lt;/pre&gt;2. ставим пакеты&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;sudo apt-get install sox libsox-fmt-all ffmpeg&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;3. и правим скрипт&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;blockquote&gt;sudo sed -i 's/-ab 192/-ab 192k/g' /usr/bin/dvd-slideshow&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4029307297622370417?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4029307297622370417/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4029307297622370417' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4029307297622370417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4029307297622370417'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/dvd-slideshow.html' title='если DVD-slideshow не работает'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8100342134997592141</id><published>2008-09-04T11:45:00.001-07:00</published><updated>2008-09-04T12:29:28.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Сортировка фотографий</title><content type='html'>ставим exiftool&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install libimage-exiftool-perl&lt;/blockquote&gt;и запускаем следующий скрипт&lt;br /&gt;&lt;source&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;#filename: photosort.sh&lt;br /&gt;#Date: Sep 04 2008&lt;br /&gt;#Author: Michail Kabanov&lt;br /&gt;#License: GPL&lt;br /&gt;#&lt;br /&gt;#Bash script move images chronologically in dir&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;which exiftool &amp;amp;&amp;gt;/dev/null&lt;br /&gt;if [ $? != &amp;quot;0&amp;quot; ];&lt;br /&gt;then&lt;br /&gt; echo -e &amp;quot;exiftool not found, please install it -&amp;gt;  sudo apt-get install libimage-exiftool-perl &amp;quot;;&lt;br /&gt; exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#parameters: from_path, to_path&lt;br /&gt;PARAMSIZE=2&lt;br /&gt;&lt;br /&gt;if [ $# -lt &amp;quot;$PARAMSIZE&amp;quot; ];&lt;br /&gt;then&lt;br /&gt; echo &amp;quot;Usage : photosort.sh from_path to_path&amp;quot;&lt;br /&gt;else&lt;br /&gt; #get first parameter&lt;br /&gt; from_path=$1&lt;br /&gt; #get second parameter&lt;br /&gt; to_path=$2&lt;br /&gt; # Move all pictures    &lt;br /&gt; exiftool -r &amp;#039;-Directory&amp;lt;DateTimeOriginal&amp;#039; -d $to_path/%Y-%m-%d $from_path&lt;br /&gt;&lt;br /&gt;fi&lt;br /&gt;exit 0&lt;/blockquote&gt;&lt;br /&gt;&lt;datetimeoriginal' to_path="" d="" from_path="" fi="" exit="" 0=""&gt;&lt;/datetimeoriginal'&gt;&lt;/source&gt;например так&lt;br /&gt;&lt;blockquote&gt;photosort.sh /home/user1/unsorted_photo /home/user1/myphoto&lt;/blockquote&gt;приэтом все фото jpg,raw,tif,cr2,crw .... будут &lt;span style="font-weight: bold;"&gt;перемещены&lt;/span&gt; из директории /home/user1/unsorted_photo ( и рекурсивно из всех поддиректорий) в директории следующего вида&lt;br /&gt;&lt;blockquote&gt;/home/user1/myphoto/2008-01-28&lt;br /&gt;/home/user1/myphoto/2007-04-17&lt;/blockquote&gt;в зависимости от даты создания фотографии (exif)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8100342134997592141?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8100342134997592141/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8100342134997592141' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8100342134997592141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8100342134997592141'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/blog-post.html' title='Сортировка фотографий'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3156380078064144699</id><published>2008-09-02T11:20:00.000-07:00</published><updated>2008-09-02T11:23:40.680-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbook'/><category scheme='http://www.blogger.com/atom/ns#' term='acer aspire one'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Загрузка Ubuntu 8.04 на Acer Aspire One за 14 секунд</title><content type='html'>&lt;a href="http://www.aspireoneuser.com/forum/viewtopic.php?f=28&amp;amp;t=1198"&gt;[8.04] Boot 14 sec with custom kernel | Model ZG5, 8GB SSD&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3156380078064144699?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3156380078064144699/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3156380078064144699' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3156380078064144699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3156380078064144699'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/ubuntu-804-acer-aspire-one-14.html' title='Загрузка Ubuntu 8.04 на Acer Aspire One за 14 секунд'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6086366574222324498</id><published>2008-09-02T02:00:00.000-07:00</published><updated>2008-09-02T02:22:41.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Xen на Ubuntu 8.04.1 desktop</title><content type='html'>по идее установка должна быть такой &lt;span style="font-weight: bold;"&gt;apt-get install ubuntu-xen-desktop&lt;/span&gt;&lt;br /&gt;однако из за ошибок ругается на неудовлетворенные зависимости &lt;span style="font-weight: bold;"&gt;xenman &lt;/span&gt;и не ставитя.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;работающий порядок установки&lt;br /&gt;&lt;br /&gt;1. ставим xen-tools&lt;br /&gt;&lt;blockquote&gt;$ apt-get install xen-tools&lt;br /&gt;&lt;/blockquote&gt;2. ставим руками xenman отсюда&lt;br /&gt;&lt;a href="http://launchpadlibrarian.net/11041870/xenman_0.6-5ubuntu1_all.deb"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a href="http://launchpadlibrarian.net/11041870/xenman_0.6-5ubuntu1_all.deb"&gt;http://launchpadlibrarian.net/11041870/xenman_0.6-5ubuntu1_all.deb&lt;/a&gt;&lt;/blockquote&gt;3. ставим xen&lt;br /&gt;&lt;blockquote&gt;$ apt-get install ubuntu-xen-desktop&lt;br /&gt;&lt;/blockquote&gt;4. перезагружаемся и смотрим командой&lt;br /&gt;&lt;blockquote&gt;$ uname -r&lt;/blockquote&gt;что загружено ядро XEN&lt;br /&gt;если получаем черный экран вместо гнома то грузимся с обычного ядра и исправляем&lt;br /&gt;&lt;blockquote&gt;/etc/X11/xorg.conf&lt;br /&gt;&lt;/blockquote&gt;правим секцию подставляя драйвер &lt;span style="font-weight: bold;"&gt;vesa&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;Section "Device"&lt;br /&gt;    Identifier  "Configured Video Device"&lt;br /&gt;    Driver "vesa"&lt;br /&gt;EndSection&lt;/blockquote&gt; сохраняем и перезагружаемся (это пришлось делать изза ошибок в убунтовской сборке ядра хен)&lt;br /&gt;&lt;br /&gt;проверяно на 2.6.24-19-xen (может потом исправят)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6086366574222324498?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6086366574222324498/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6086366574222324498' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6086366574222324498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6086366574222324498'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/09/xen-ubuntu-8041-desktop.html' title='Xen на Ubuntu 8.04.1 desktop'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2738859036820964609</id><published>2008-07-26T00:27:00.000-07:00</published><updated>2008-07-26T00:28:15.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Wine Tricks</title><content type='html'>http://wiki.winehq.org/winetricks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2738859036820964609?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2738859036820964609/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2738859036820964609' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2738859036820964609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2738859036820964609'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/07/wine-tricks.html' title='Wine Tricks'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6919963068035640083</id><published>2008-07-08T12:01:00.001-07:00</published><updated>2008-07-08T12:01:58.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>Советы по Linux</title><content type='html'>&lt;b&gt;1. Как быстро получить информацию о системе? &lt;/b&gt; &lt;p&gt;Быстро получить информацию о системе можно используя команду &lt;tt&gt; procinfo.&lt;/tt&gt;  Если этого недостаточно - смотрите файловую систему &lt;tt&gt;/proc.&lt;/tt&gt;&lt;br /&gt;  Например: &lt;tt&gt;/proc/interrupts, /proc/cpuinfo...&lt;/tt&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;2. Еще один способ получить полезную информацию о системе&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Еще один способ получить полезную информацию о системе - команда &lt;tt&gt;vmstat.&lt;/tt&gt;  Она выводит информацию использовании памяти, процессора, областях swap и т.п.&lt;br /&gt;Команда &lt;tt&gt;free&lt;/tt&gt; выдает информацию о памяти и swap.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. Как получить информацию о ваших загруженных модулях ядра&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;tt&gt;lsmod&lt;/tt&gt; - хороший способ получить информацию о ваших загруженных модулях ядра.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4. Нужно посмотреть параметры и возможные опции для модуля ядра Linux?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Воспользуйтесь командой &lt;tt&gt;modinfo&lt;/tt&gt;. Например, Информация о авторе:&lt;br /&gt;&lt;tt&gt;modinfo -a модуль&lt;/tt&gt;&lt;br /&gt;Список возможных параметров: &lt;tt&gt;modinfo -p модуль&lt;/tt&gt;&lt;/p&gt;   &lt;p&gt;&lt;b&gt;5. Полезная информация о ядре&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Левый или правый CTRL, ALT, или SHIFT + scrollock покажут вам полезную информацию о ядре. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;6. Как долго ваша система была запущена?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы увидеть, как долго ваша система была запущена, наберите &lt;tt&gt;uptime.&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;7. Как посмотреть какие порты открыты?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;tt&gt;netstat -a&lt;/tt&gt; позволит вам увидеть все tcp и udp порты, которые открыты на  вашей системе.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;8. Нужно узнать какой сокет заняла программа?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;tt&gt;lsof -i -U&lt;br /&gt;fuser port_num/tcp&lt;br /&gt;а также:&lt;br /&gt;netstat -pvlA inet&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;9.Как посмотреть информацию о запущенных процессах?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Обычно используется &lt;tt&gt;"ps -aux"&lt;/tt&gt;,  и потом &lt;tt&gt;"kill &lt;номер процесса&gt;"&lt;/tt&gt;. Так же есть специальные программы - такие, как top, gtop и ktop.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;10. Как посмотреть свободное место на диске?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы посмотреть свободное место на диске, используйте команду &lt;tt&gt;df&lt;/tt&gt;.  Так же в KDE есть программа kdf (KDiskFree). &lt;/p&gt;  &lt;p&gt;&lt;b&gt;11. Как узнать размер всех директорий в данном каталоге?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы узнать размер всех директорий в данном каталоге, выполните команду:&lt;/p&gt; &lt;p&gt;find . -maxdepth 1 -type d -print | xargs du -sk | sort -rn &lt;/p&gt;  &lt;p&gt;&lt;b&gt;12. Как разбить один большой файл на несколько маленьких?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы разбить один большой файл на несколько маленьких используйте команду:&lt;/p&gt; &lt;p&gt;split --bytes=SIZE filename &lt;/p&gt;  &lt;p&gt;&lt;b&gt;13. Как добавить конфигурации по умолчанию для программ?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Если вы хотите добавить конфигурации по умолчанию для своих программ  (которые размещаются в каждой домашней директории), копируйте эти  конфигурационные файлы в /etc/skel. Каждый раз, когда вы добавляете  нового пользователя, эти файлы будут скопированы в домашние директории пользователей. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;14. Как убрать возможность перезагрузки по нажатию клавиш CTRL-ALT-DEL?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Убрать возможность перезагрузки по нажатию клавиш CTRL-ALT-DEL можно закомментировав строку&lt;/p&gt; &lt;p&gt;ca::ctrlaltdel:/sbin/shutdown -t5 -rf now&lt;/p&gt; &lt;p&gt;в файле /etc/inittab. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;15. Быстрый метод завершения перезапускаемого(respawning) процесса?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Очень быстрый метод завершения перезапускаемого(respawning) процесса в вашем  /etc/inittab - это переключение уровней исполнения. Например, если вы имеете  строку:&lt;/p&gt; &lt;p&gt;1:1235:respawn:/usr/sbin/mgetty /dev/ttyS1&lt;/p&gt; &lt;p&gt;переключение на уровень 4 остановит перезапускаемый процесс. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;16. Как ограничить потребление ресурсов системы пользователями?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Если вы запустили большую систему с большим количеством пользователей, может быть  очень важно ограничить потребление ресурсов системы пользователями. Вы можете  контролировать эти ограничения с помощью модуля PAM и файла  /etc/pam.d/limits.conf. Большинство современных дистрибутивов используют PAM для  аутентификации. Пример ограничений для группы users sample of limits for the users group. &lt;/p&gt; &lt;p&gt;@users hard core 0&lt;/p&gt; &lt;p&gt;@users hard nproc 50&lt;/p&gt; &lt;p&gt;@users hard rss 5000&lt;/p&gt; &lt;p&gt;Это не позволяет создавать файлы core, ограничивает пользователя до 50 процессов и по  использованию памяти до 5МБ&lt;/p&gt;  &lt;p&gt;&lt;b&gt;17. Как сделать дамп N-консоли?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Команда cat /dev/vcsN сбрасывает дамп N-консоли. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;18. Как запретить вход всех пользователей в систему?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы запретить вход всех пользователей в систему (кроме root) без перезагрузки  создайте файл /etc/nologin. Содержимое этого файла будет отображаться когда  пользователь попытается войти в систему. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;19. Ограничение на выполнение команды su&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы разрешить определенным пользователям делать su, что лучше чем всем по  умолчанию, редактируйте /etc/login.defs и установите строку SU_WHEEL_ONLY в yes.  Затем вам нужно добавить пользователей, которым нужно делать su в группу 0, что  делается редактированием файла /etc/groups. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;20. Как примонтировать директорию из одной части файловой системы в другую?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;В linux 2.4.x ядрах:&lt;/p&gt; &lt;p&gt;mount --bind какую_директорию_монтировать куда_монтировать&lt;/p&gt;   &lt;p&gt;&lt;b&gt;21. Как установить точное время? &lt;/b&gt;&lt;/p&gt; &lt;p&gt;Отличный способ установить на машине точное время - использовать каманду ntpdate:&lt;/p&gt; &lt;p&gt;ntpdate &lt;ntpserver&gt;&lt;/p&gt; &lt;p&gt;Конечно, нужно иметь установленный пакет ntp и возможность соединения с сервером NTP. Вместо лучше использовать ip-адрес, чтобы избежать преобразования доменного имени в  ip-адрес. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;22. Как установить время CMOS?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы установить время CMOS системному используйте hwclock --systohc,  а hwclock --hctosys - установит системное время, как время CMOS clock. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;23. Как быстро скомпилировать ядро&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Самый простой способ скомпилировать ядро это выполнить все команды make на одной строке  набрав:&lt;/p&gt; &lt;p&gt;make dep clean bzImage modules modules_install&lt;/p&gt; &lt;p&gt;Если вы просто пропатчили свое ядро тогда просто сделайте:&lt;/p&gt; &lt;p&gt;make oldconfig dep clean bzImage modules modules_install. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;24. System.map&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Вешь, о которой иногда забывают упомянуть, когда вы обновляете свое ядро -  это файл System.map (обычно располагающийся в каталоге /boot), который не  соответствует новому ядру. После перезагрузки вы увидите сообщения о  некорректной версии ядра. После построения нового ядра не забудьте  скопировать новый файл System.map из каталога /usr/src/linux в загрузочный  каталог вашей системы (/boot). &lt;/p&gt;  &lt;p&gt;&lt;b&gt;25. Как увидеть сообщения выдаваемы ядром?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Увидеть сообщения, выдаваемые ядром на экран при загрузке системы можно  набрав команду dmesg. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;26. Как посмотреть вывод команды и одновременно записать его в файл?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Посмотреть вывод команды и одновременно записать его в файл можно с помощью команды:&lt;/p&gt; &lt;p&gt;tee $ls | tee logfile.txt &lt;/p&gt;  &lt;p&gt;&lt;b&gt;27. Как запретить хранитель экрана в текстовом режиме?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Запретить хранитель экрана в текстовом режиме - напечатайте setterm -blank 0.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;28.Средство для более быстрого поиска файлов, чем find&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Средство для более быстрого поиска файлов, чем find - команда locate, которая  использует базу данных для поиска. Для обновления этой базы часто используется cron.  Или вручную - updatedb. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;29. Список всех исполняемых файлов в системе, которые присутствуют в вашем $PATH?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Нажмите TAB + scroll-lock или еще проще - два нажатия на клавишу TAB. Результат  один и тот же. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;30. Как отключить сигнал "beep" в течение автоматического завершения  командной строки?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Добавьте либо в ~/.inputrc или в /etc/inputrc для визуального звонка:&lt;/p&gt; &lt;p&gt;set bell-style visible&lt;/p&gt; &lt;p&gt;совершенно без сигнала:&lt;/p&gt; &lt;p&gt;set bell-style none &lt;/p&gt;  &lt;p&gt;&lt;b&gt;31. Как послать данные на желаемый терминал?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Вы можете использовать все доступные терминалы, даже если они в применении,  чтобы послать данные на тот терминал, на который хотите. Например:&lt;/p&gt; &lt;p&gt;tail -f /var/log/messages &gt; /dev/tty12&lt;/p&gt;  &lt;p&gt;Для посылки любых сообщений на tty12. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;32. Циклическое переключение через все доступные консоли.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Многие клавиатурные раскладки позволяют циклическое переключение через все доступные  консоли используя Alt-RightArrow и Alt-LeftArrow. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;33. Как выполнить родную команду системы, если используются алиасы?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Часто используете альясы shell (например, прописанные в ~/.bashrc), но иногда необходимо выполнить родную команду системы? Добавьте обратный слэш перед командой, это игнорирует  псевдоним shell. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;34. Как найти все файлы в каталоге, которые содержат строку?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Найти все файлы в каталоге, которые содержат строку:&lt;/p&gt; &lt;p&gt;find . -type f -print | xargs grep -li "search string" &lt;/p&gt;  &lt;p&gt;&lt;b&gt;35. Как сделать чтобы программа ожидала нажатия какой-либо клавиши пользователем?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;При написании скриптов shell часто возникает необходимость того, чтобы в процессе выполнения программа ожидала нажатия какой-либо клавиши пользователем. Это можно сделать таким способом:&lt;/p&gt; &lt;p&gt;stty raw; dd if=$(tty) of=/dev/null bs=1 count=1; stty -raw&lt;/p&gt;  &lt;p&gt;&lt;b&gt;36.Как перенаправить стандартный вывод и поток ошибок в один и тот же файл?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы перенаправить стандартный вывод и поток ошибок в один и тот же файл,  используйте `&amp;amp;&gt;'. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;37. Как сохрать man-страницы в текстовый файл?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Самый простой способ сохранения man-страницы в текстовый файл - " man name | col -b &gt; name.txt".&lt;/p&gt;  &lt;p&gt;&lt;b&gt;38. Все символы в консоли стали нечитаемыми&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Если все символы в консоли стали нечитаемыми, наберите:&lt;/p&gt; &lt;p&gt;"echo -ne "\017","stty sane" или просто "reset". &lt;/p&gt;  &lt;p&gt;&lt;b&gt;39. Как перевести имена файлов в директории в нижний регистр?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Самый простой способ перевода всех имен файлов из директории в нижний регистр:&lt;/p&gt; &lt;p&gt;"for x in *; do mv $x `echo $x | tr [A-Z] [a-z]`; done". &lt;/p&gt;  &lt;p&gt;&lt;b&gt;40. Как быстро переименовать файл?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы быстро переименовать файл, используйте команду:&lt;/p&gt; &lt;p&gt;"mv /usr/local/bin/{старое_имя,новое_имя}". &lt;/p&gt;  &lt;p&gt;&lt;b&gt;41. Как удалить всю директорию без лишних запросов?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы удалить сразу всю директорию без лишних запросов, используйте:&lt;/p&gt; &lt;p&gt;rm -rf имя_директории &lt;/p&gt;  &lt;p&gt;&lt;b&gt;42. Как создать сразу несколько директорий?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Создание сразу нескольких директорий - "mkdir -p dir1/dir2/dir3". &lt;/p&gt;  &lt;p&gt;&lt;b&gt;43. Как правильно выключить компьютер?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Правильное выключение компьютера - команда "shutdown -h now".&lt;/p&gt; &lt;p&gt;Перезагрузка - "shutdown -r now" или просто "init 5". &lt;/p&gt;  &lt;p&gt;&lt;b&gt;44. Как передать весь вывод одной команды на вход другой команде?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы передать весь вывод одной команды на вход другой команде, используется  символ "|".&lt;/p&gt; &lt;p&gt;Таким образом можно делать сложные конструкции (например, "ls | sort -r | less"). &lt;/p&gt;  &lt;p&gt;&lt;b&gt;45. Как следить за постоянно изменяющимися файлами?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы следить за постоянно изменяющимися файлами (например, за системными логами),  используйте команду tail.&lt;/p&gt; &lt;p&gt;Пример: "tail -15 /var/log/syslog" - постоянно показывает последние 15 строк. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;46. Как следить за списком файлов в реальном времени?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Слежение за списком файлов в реальном времени - "watch -n 0 ls -l".&lt;/p&gt; &lt;p&gt;Команда watch осуществляет периодический запуск других команд. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;47. Как искать текст в файлах?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Для поиска текста в файлах используется команда - "grep "ваш текст" /where/to/search".&lt;/p&gt; &lt;p&gt;Если при поиске не нужно учитывать регистр - "grep -i "ваш текст" /where/to/search" &lt;/p&gt;  &lt;p&gt;&lt;b&gt;48. Как заменить одно слово на другое во многих файлах?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Для замены одного слова на другое сразу же во многих файлах можно использовать  этот скрипт&lt;/p&gt; &lt;p&gt;perl -pi -e 's/oneword/anotherword/g' *.&lt;br /&gt;Если нужно сделать это же с одним файлом, поставьте его имя вместо " * ".&lt;/p&gt;  &lt;p&gt;&lt;b&gt;49. Как перейти из графического режима в текстовую консоль?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы перейти из графического режима в текстовую консоль, нажмите Ctrl+Alt+F1. (Ctrl+Alt+F2 - на вторую консоль, Ctrl+Alt+F3 - на третью консоль, etc). Для того,  чтобы вернуться обратно в Иксы, обычно используется комбинация клавиш Alt+F7. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;50. Как увидеть под Linux другой подключенный жесткий диск?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Чтобы увидеть под Linux другой подключенный жесткий диск, надо примонтировать  (командой mount) разделы, которые на новом винчестере есть. Для этого надо определить,  каким винчестер стоит: hdb, hdc или hdd. Для этого нужно всего лишь сообразить, как он  подключен: primary slave - это hdb, secondary master - это hdc, secondary slave - это hdd.  Теперь надо просмотреть, какие диски на винте есть. Для этого запускаем cfdisk для того винта,  который мы определили на предыдущем шаге, например, для hdb: cfdisk /dev/hdb.  Глядим, какие разделы есть. Например есть FAT32 (или он еще обозначается как WIN95)  диск /dev/hdb1. Мы хотим его подключить скажем к каталогу /mnt/disk.  Тогда: mount -t vfat /dev/hdb1 /mnt/disk. Здесь: параметр "-t" указывает тип  файловой системы, в нашем случае это vfat, что соответствует fat32. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;51. Работа с CD/R и CD/RW.&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Стираем так: cdrecord -v blank=fast(или all) dev=&lt;Ваш девайс&gt;.&lt;/p&gt; &lt;p&gt;Образ делаем так: mkisofs -r -J -o &lt;имя_файла_образа.iso&gt; &lt;то_чего_в_образ_загоняем&gt; &lt;/p&gt; &lt;p&gt;Пишем так: cdrecord -v -eject speed=8 dev=&lt;Ваш девайс&gt; file.iso. &lt;/p&gt; &lt;p&gt;Если надо мультисессионный диск, то добавляем -multi. &lt;/p&gt; &lt;p&gt;Так же существует много графических оболочек, которые в своей работе используют  эти же простые команды. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;52. Запись CD диска&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Команды cdrecord, полезные при записи CDROM:&lt;/p&gt; &lt;p&gt;mkisofs -V "volume_ID" -D -l -L -N -J -R -v -o cdrom.iso директория&lt;/p&gt; &lt;p&gt;cdrecord -dev=0,1,0 -speed=4 -v cdrom.iso &lt;/p&gt; &lt;p&gt;Для подключения IDE накопителя добавить в linux lilo append="hdc=ide-scsi"&lt;/p&gt; &lt;p&gt;( hdc - ваш привод?) и включить в ядре поддержку эмуляции SCSI.&lt;/p&gt; &lt;p&gt;-toc -atip -prcap - выдать полную информацию о накопителе.&lt;/p&gt; &lt;p&gt;-scanbus - определить параметры для -dev (можно /proc/scsi/scsi)&lt;/p&gt; &lt;p&gt;-dummy - запись в режие тестирования (без реального прожигания диска).&lt;/p&gt; &lt;p&gt;-fix - исправить недописавшийся диск.&lt;/p&gt; &lt;p&gt;-eject - после записи вытащить CD&lt;/p&gt; &lt;p&gt;-blank=all очистить CR-RW перед записью.&lt;/p&gt; &lt;p&gt;mkisofs -print-size - расчитать сколько потребуется места для записи директории&lt;/p&gt;  &lt;p&gt;&lt;b&gt;53. Как смонтировать образ компак-диска?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Смонтировать образ компакт-диска можно таким образом:&lt;/p&gt;  &lt;p&gt;#mkdir /mnt/iso&lt;/p&gt; &lt;p&gt;#mount -t iso9660 -o loop cd-image.iso /mnt/iso&lt;/p&gt; &lt;p&gt;(Разумеется, для операции монтирования нужно иметь права root).  Теперь каталог /mnt/iso доступен для чтения содержимого образа компакт-диска. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;54. Как узнать метку компакт-диска?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Узнать метку компакт-диска можно так:&lt;/p&gt; &lt;p&gt;alias cdlabel='LABEL=`dd if=/dev/cdrom bs=1 count=32 skip=32808 2&gt;/dev/null` &amp;amp;&amp;amp; echo $LABEL'&lt;/p&gt;  &lt;p&gt;Удобно использовать альяс в инициализационных скриптах shell.&lt;/p&gt;   &lt;h2&gt;Советы по “железу”&lt;/h2&gt;  &lt;p&gt;&lt;b&gt;1. Как получить список устройств на шине PCI?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Получить список устройств на шине PCI можно таким образом:&lt;/p&gt; &lt;p&gt;/sbin/lspci&lt;/p&gt;   &lt;p&gt;&lt;b&gt;2. Как включить при загрузке клавиши numlock?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Если вы хотите включить все клавиши numlock при загрузке, добавьте следущее в ваши загрузочные скрипты, например в rc.local:&lt;/p&gt; &lt;p&gt;echo -n "Turning on numlock LEDs: "&lt;/p&gt; &lt;p&gt;for tty in /dev/tty[1-6] /dev/tty1[2]; do&lt;/p&gt;  &lt;p&gt;setleds -D +num &lt; $tty &amp;amp;&lt;/p&gt; &lt;p&gt;done&lt;/p&gt; &lt;p&gt;echo "done."&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3. Как посмотреть информацию полученную от мыши на стандартный вывод?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Если у вас трудности с мышью, mev -i сбросит информацию полученную от мыши на стандартный вывод. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;4. Раздражают сигналы спикера вашего компьютера когда вы ошиблись?&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Попробуйте выполнить следующую команду bash:&lt;/p&gt; &lt;p&gt;echo -ne '\033[11;0]'&lt;/p&gt; &lt;p&gt;которая устанавливает продолжительность сигнала для консоли равным 0 секунд.  Чтобы сделать это автоматически добавьте эти строки в /etc/profile или ваш~/.profile.  Подробную информацию о том, как установить частоту и длительность гудка, читайте в  Visual bell mini-Howto.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6919963068035640083?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6919963068035640083/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6919963068035640083' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6919963068035640083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6919963068035640083'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/07/linux.html' title='Советы по Linux'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2496964616649893318</id><published>2008-07-03T22:53:00.000-07:00</published><updated>2008-07-03T22:54:40.714-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resquecd'/><category scheme='http://www.blogger.com/atom/ns#' term='iso'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Развертывание типового (эталонного) образа Ubuntu Linux</title><content type='html'>&lt;a href="http://xeim.blogspot.com/2008/07/ubuntu-linux.html"&gt;отсюда&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В конторе периодически закупаются новые компьютеры и сотрудникам IT-отдела приходится отрываться от более интересных дел и заниматься рутиной в виде установки и настройки операционной системы. Установка Ubuntu традиционным способом с помощью компакт-диска, установка драйверов, обновлений и дополнительных программ из интернета, настройка всего занимают слишком много времени. Одним из способов оптимизации процесса является создание типового образа операционной системы и затем быстрое его развертывание на новых компьютерах.&lt;div class="post-body entry-content"&gt;  &lt;h2&gt;Создание эталонного образа.&lt;/h2&gt;  &lt;p&gt;Прежде всего необходимо создать эталонный образ Ubuntu. Для этого нам потребуется эмулятор виртуальных машин, например VirtualBox или VMWare. Далее:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Устанавливаем Ubuntu в виртуальной машине.&lt;/li&gt;&lt;li&gt;&lt;p&gt;Настраиваем установленную операционную систему. Например так:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;включить основные и дополнительные репозитарии и произвести обновление пакетов;&lt;/li&gt;&lt;li&gt;установить полную локализацию системы;&lt;/li&gt;&lt;li&gt;установить мультимедийные кодеки;&lt;/li&gt;&lt;li&gt;установить пакеты с драйверами для видео карт nvidia и ati;&lt;/li&gt;&lt;li&gt;установить flash плугин для браузера;&lt;/li&gt;&lt;li&gt;установить плугин для открытия документов MSOffice 2007 (*.docx и др.) в OpenOffice;&lt;/li&gt;&lt;li&gt;установить необходимые программы и утилиты: ssh сервер, vnc сервер, unrar, wine, virtualbox и много чего ещё...;&lt;/li&gt;&lt;li&gt;указать сетевые настройки, например адреса dns и ntp серверов, маршруты;&lt;/li&gt;&lt;li&gt;отключить загрузку не нужных демонов;&lt;/li&gt;&lt;li&gt;отключить запуск не нужных заданий по расписанию cron;&lt;/li&gt;&lt;li&gt;любые другие программы и/или настройки.&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Настройка профиля пользователя по умолчанию. Для этого создаем пользователя, например testuser, логинимся под ним и производим настройку. Например:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;отключить эффекты рабочего стола;&lt;/li&gt;&lt;li&gt;разрешить удаленный доступ к рабочему столу (vnc) и задать пароль для него;&lt;/li&gt;&lt;li&gt;прописать настройки соединения в браузере: проски-сервер и прочее;&lt;/li&gt;&lt;li&gt;в редакторе меню отключить запуск некоторых программ, например подменю "Игры";&lt;/li&gt;&lt;li&gt;в настройках сеанса, отключить запуск не нужных программ;&lt;/li&gt;&lt;li&gt;любые другие настройки.&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;После завершения настройки профиля, копируем содержимое /home/testuser в /etc/skel. Делаем владельцом пользователя root:&lt;/p&gt; &lt;pre&gt;sudo chown -R root:root /etc/skel&lt;/pre&gt; &lt;p&gt;Просматриваем директорию &lt;tt&gt;/etc/skel&lt;/tt&gt;, удаляем все лишнее, заменяем в файлах абсолюный путь &lt;tt&gt;/home/testuser&lt;/tt&gt; на относительный &lt;tt&gt;~/&lt;/tt&gt;.&lt;/p&gt; &lt;p&gt;Теперь при создании нового пользователя в его домашнюю директорию будет копироваться содержимое &lt;tt&gt;/etc/skel&lt;/tt&gt;.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Для создания образа будем использовать livecd дистрибутив &lt;a href="http://www.sysresccd.org/"&gt;System Rescue CD&lt;/a&gt;.&lt;/p&gt;     &lt;p&gt;После загрузки, поднимаем сеть:&lt;/p&gt;     &lt;pre&gt;sysresccd ~ # net-setup&lt;/pre&gt;      &lt;p&gt;Монтируем директорию по сети, куда мы будем копировать образ:&lt;/p&gt;     &lt;pre&gt;sysresccd ~ # mkdir /mnt/etalon&lt;/pre&gt;     &lt;p&gt;пример для sftp:&lt;/p&gt;     &lt;pre&gt;sysresccd ~ # mount -t fuse sshfs#login@192.168.0.1:/etalon /mnt/etalon&lt;/pre&gt;     &lt;p&gt;пример для smb:&lt;/p&gt;     &lt;pre&gt;sysresccd ~ # mount -t cifs -o user=login //192.168.0.2/etalon /mnt/etalon&lt;/pre&gt;      &lt;p&gt;Далее, монтируем жесткий диск виртуальной машины:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # mkdir /mnt/sda1&lt;br /&gt;sysresccd ~ # mount /dev/sda1 /mnt/sda1&lt;/pre&gt;      &lt;p&gt;Создаем образ обычной утилитой tar:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # cd /mnt/sda1&lt;br /&gt;sysresccd sda1 # tar cvzf /mnt/etalon/etalon-ubuntu8.04-20080704.tar.gz *&lt;/pre&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;Образ операционной системы создан. У меня файл образа занимает около 1,5 Гб. Остается только записать его на dvd болванку.&lt;/p&gt;   &lt;h2&gt;Развертывание эталонного образа на новом компьютере&lt;/h2&gt;  &lt;p&gt;Развертывание образа эта операция ради которой и затевалось создание самого образа. Здесь нас снова поможет незаменимый инструмент системного администратора System Rescue CD. Загружаем новый компьютер с его помощью, при загрузке вводим опции, чтобы после можно было освободить dvd привод:&lt;/p&gt; &lt;pre&gt;rescuecd docache doeject&lt;/pre&gt;  &lt;p&gt;Вытаскиваем livecd, устанавливаем в привод болванку с образом. Далее:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p&gt;Разметка диска. Например: все место под корневой раздел, файловая система reiserfs, под swap 2ГБ:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # сfdisk /dev/sda&lt;br /&gt;sysresccd ~ # mkfs.reiserfs /dev/sda1&lt;br /&gt;sysresccd ~ # mkswap /dev/sda2&lt;/pre&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Монтируем диски и разворачиваем эталон:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # mkdir /mnt/sda1&lt;br /&gt;sysresccd ~ # mount /dev/sda1 /mnt/sda1&lt;br /&gt;...&lt;br /&gt;sysresccd ~ # mkdir /mnt/etalon&lt;br /&gt;sysresccd ~ # mount /dev/cdrom /mnt/etalon&lt;br /&gt;...&lt;br /&gt;sysresccd ~ # tar -С /mnt/sda1 xvzf /mnt/etalon/etalon-ubuntu8.04-20080704.tar.gz&lt;/pre&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Правим файлы &lt;tt&gt;/mnt/sda1/etc/fstab&lt;/tt&gt; и &lt;tt&gt;/mnt/sda1/boot/grub/menu.lst&lt;/tt&gt; чтобы UUID метки дисков соответствовали новым томам. UUID метки можно узнать с помощью команды:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # blkid&lt;/pre&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Устанавливаем загрузчик grub в mbr область нового диска:&lt;/p&gt; &lt;pre&gt;sysresccd ~ # grub-install --root-directory=/mnt/sda1 /dev/sda&lt;/pre&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;Если все прошло успешно, то мы уже можем загрузить с операционную систему с жесткого диска. Дальше:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p&gt;Сконфигурируем видео драйвер (в эталоне должен быть установлен универсальный драйвер vesa):&lt;/p&gt; &lt;pre&gt;administrator@etalon:~# sudo dpkg-reconfigure -phigh xserver-xorg&lt;/pre&gt; &lt;p&gt;После перезапуска иксов (Ctrl-Alt-Backspace) должен подняться нормальный видео драйвер.&lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt;Сменим имя хоста и сетевые настройки:&lt;/p&gt; &lt;pre&gt;administrator@etalon:~# sudo gedit /etc/hostname&lt;br /&gt;administrator@etalon:~# sudo gedit /etc/network/interfaces&lt;/pre&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;Компьютер готов к работе. После установки на рабочее место пользователя ещё потребуется настроить принтера, но это уже отдельная история.&lt;/p&gt;  &lt;p&gt;После приобретения некоторого опыта установка операционной системы на новый компьютер занимает около 20 минут. Конечно предварительно должно быть потрачено время на создание эталонного образа и периодическое его обновление, но при больших количествах новых компьютеров оно окупается. Данный способ успешно применяется уже 1,5 года.&lt;/p&gt;  &lt;/div&gt;   &lt;span class="post-author vcard"&gt; Автор &lt;span class="fn"&gt;xeim&lt;/span&gt; &lt;/span&gt; &lt;span class="post-timestamp"&gt; на &lt;a class="timestamp-link" href="http://xeim.blogspot.com/2008/07/ubuntu-linux.html" rel="bookmark" title="permanent link"&gt;&lt;abbr class="published" title="2008-07-04T10:24:00+11:00"&gt;10:24&lt;/abbr&gt;&lt;/a&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2496964616649893318?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2496964616649893318/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2496964616649893318' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2496964616649893318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2496964616649893318'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/07/ubuntu-linux.html' title='Развертывание типового (эталонного) образа Ubuntu Linux'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8414006907734790844</id><published>2008-07-03T22:49:00.000-07:00</published><updated>2008-07-03T22:52:14.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='gzip'/><category scheme='http://www.blogger.com/atom/ns#' term='md5sum'/><category scheme='http://www.blogger.com/atom/ns#' term='iso'/><title type='text'>Делаем образы дисков с помощью dd и gzip</title><content type='html'>&lt;div class="post-body entry-content"&gt;&lt;a href="http://nethuman.blogspot.com/2008/07/dd-gzip.html"&gt;отсюда &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Многие знают про утилиту dd - очень удобный инструмент.&lt;br /&gt;В частности очень хорошо подходит для клонирования дисковых разделов (или целых дисков).&lt;br /&gt;&lt;br /&gt;Недавно в ходе нескольких экспериментов выяснил, что такой образ диска можно сильно сжать с помощью GZip.&lt;br /&gt;&lt;br /&gt;Например, заполненный на около 5Гб NTFS-раздел объемом 31Гб в сжатом состоянии занимает всего 1.7Гб. Единственное неудобство в том что на моем AMD Athlon 1700+ создание этого образа заняло 50 минут, а подсчет md5-суммы раздела-оригинала и упакованного образа по 12 минут. На системах с более производительным центральным процессором данный процес займет гораздо меньше времени.&lt;br /&gt;&lt;br /&gt;Так как основной объем информации на системных жестких дисках (конечно за исключением медиа-данных) очень хорошо поддается сжатию, и часто многие выделяют несколько разделов под ОС, таким образом можно быть уверенным что образ раздела удастся сжать.&lt;br /&gt;&lt;br /&gt;В ходе тестов на различных разделах степень компрессии несколько шокировала. Например, FAT-16 раздел размером 40Гб был сжат до 30МБ (контрольные суммы проверил - они совпали)!!!&lt;br /&gt;&lt;br /&gt;Создаем образ:&lt;br /&gt;&lt;blockquote&gt;#dd if=/dev/sda1 bs=8096 | gzip -9cf &gt; sda1.dd-image.gz&lt;/blockquote&gt;Это занимает время. За процессом можно наблюдать на той же консоли с помощью периодической посылки USR1 сигнала процессу dd.&lt;br /&gt;Для этого на другой консоли выполняем:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#ps | grep dd&lt;/blockquote&gt;определяем pid процесса dd и подставляем его в следующую команду&lt;br /&gt;&lt;blockquote&gt;#watch -n 15 "kill -USR1 $pid_of_dd"&lt;/blockquote&gt;Распаковка образа:&lt;br /&gt;&lt;blockquote&gt;#gunzip -c sda1.dd-image.gz | dd of=/dev/sda1 bs=8096&lt;/blockquote&gt;также можно подсчитать md5-сумму для раздела, чтобы после восстановления проверить правильность распаковки образа:&lt;br /&gt;&lt;blockquote&gt;#dd if=/dev/sda1 bs=8096 | md5sum - &gt; sda1.dd-image.md5&lt;/blockquote&gt;Параноики (бывают ситуации когда лучше потратить время на еще одну перепроверку) могут еще и проверить правильность создания образа:&lt;br /&gt;&lt;blockquote&gt;#gunzip -c sda1.dd-image.gz | md5sum&lt;/blockquote&gt;Приятной всем работы ;)  &lt;/div&gt;  &lt;span class="post-author vcard"&gt; Автор &lt;span class="fn"&gt;GByte&lt;/span&gt; &lt;/span&gt; &lt;span class="post-timestamp"&gt; на &lt;a class="timestamp-link" href="http://nethuman.blogspot.com/2008/07/dd-gzip.html" rel="bookmark" title="permanent link"&gt;&lt;abbr class="published" title="2008-07-02T16:26:00+06:00"&gt;16:26&lt;/abbr&gt;&lt;/a&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8414006907734790844?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8414006907734790844/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8414006907734790844' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8414006907734790844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8414006907734790844'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/07/dd-gzip.html' title='Делаем образы дисков с помощью dd и gzip'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6987642961062132753</id><published>2008-06-15T10:18:00.000-07:00</published><updated>2008-06-24T13:40:32.279-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eePC'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Установка  ubuntu 8.04 на eePC</title><content type='html'>&lt;a href="http://konishchevdmitry.blogspot.com/2008/06/ubuntu-804-asus-eee-pc.html"&gt;отсюда&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="post-body entry-content"&gt; &lt;p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dWRCmLfFFN0/SFLCocNk_EI/AAAAAAAAAHs/T-170w4uq00/s1600-h/ubuntu_on_eee_pc.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_dWRCmLfFFN0/SFLCocNk_EI/AAAAAAAAAHs/T-170w4uq00/s320/ubuntu_on_eee_pc.gif" alt="" id="BLOGGER_PHOTO_ID_5211441718844783682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Когда я покупал себе ASUS Eee PC, я совершенно не думал о том, какую операционную систему установлю на нем - однозначно это будет Ubuntu Linux. Во-первых, потому, что Ubuntu у меня стоит и дома и на работе, во-вторых, потому, что и дома и на работе у меня есть &lt;a href="http://konishchevdmitry.blogspot.com/2007/10/local-repository-creating.html"&gt;локальное зеркало репозитория Ubuntu&lt;/a&gt;, а в-третьих просто потому, что данный дистрибутив меня всем устраивает.&lt;br /&gt;&lt;br /&gt;После покупки я сразу же полез в Интернет в поисках различных HowTo по установке Ubuntu 8.04 на Eee PC. Результат меня несколько удивил. Несмотря на огромный ажиотаж вокруг Eee PC, этих самых HowTo в сети не так уж и много + большинство из них нацелены на Ubuntu 7.10 и предлагают запустить некий скрипт, который заменит системные конфигурационные файлы своими, заточенными под Eee PC.&lt;br /&gt;&lt;br /&gt;На эти скрипты я даже и смотреть не стал, т. к. они предназначены для Ubuntu 7.10, и их запуск на Ubuntu 8.04 может привести к нехорошим последствиям. Поэтому во время поиска необходимой информации в сети я обращал внимание только на те статьи, в которых описывается, как можно настроить Ubuntu под Eee PC "своими руками". Найти такой HowTo, в котором содержались бы ответы на все встающие передо мной вопросы, мне не удалось, поэтому я решил систематизировать собранную мной информацию и слить ее в одну статью. Сейчас моя система уже настроена, поэтому я постараюсь вспомнить все действия, которые я производил над ней, дабы все заработало так, как мне хочется. Надеюсь, я ничего не упущу. :)&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Установка&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Для установки нам понадобится загрузочный диск с Ubuntu 8.04 и флэшка на 1 Гб или более.&lt;br /&gt;Перед использованием флэшки не забудьте скопировать с нее все важные данные.&lt;br /&gt;&lt;pre class="my_code_box"&gt;# Делаем образ диска&lt;br /&gt;dd if=/dev/cdrom of=ubuntu.iso&lt;br /&gt;&lt;br /&gt;# Устанавливаем пакет syslinux&lt;br /&gt;sudo apt-get install syslinux&lt;br /&gt;&lt;br /&gt;# Скачиваем скрипт, который запишет ISO-образ на флэшку&lt;br /&gt;wget http://kiwilinux.org/public/isotostick.sh&lt;br /&gt;&lt;br /&gt;# Делаем этот скрипт исполняемым&lt;br /&gt;sudo chmod a+x isotostick.sh&lt;br /&gt;&lt;br /&gt;# Далее предполагается, что /dev/sdX1 - файл устройства вашей флешки.&lt;br /&gt;&lt;br /&gt;# Форматируем флэшку&lt;br /&gt;sudo mkfs.vfat -F 32 -n ubuntu /dev/sdX1&lt;br /&gt;&lt;br /&gt;# Делаем раздел загрузочным&lt;br /&gt;sudo parted /dev/sdX set 1 boot on&lt;br /&gt;&lt;br /&gt;# Запускаем скачанный скрипт&lt;br /&gt;sudo ./isotostick.sh cd.iso /dev/sdX1&lt;br /&gt;&lt;br /&gt;# Делаем флэшку загрузочной&lt;br /&gt;sudo syslinux /dev/sdX1&lt;/pre&gt;&lt;br /&gt;Все, теперь можно грузиться с этой флэшки как с диска и устанавливать Ubuntu на Eee PC. Для этого во время загрузки Eee PC нажмите F2, чтобы зайти в BIOS и там на вкладке Boot сделайте соответствующие настройки, чтобы загрузка происходила с флэш карты.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Загрузка&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Чтобы увеличить скорость загрузки операционной системы, в /boot/grub/menu.lst замените строку&lt;pre class="my_code_box"&gt;# defoptions=quiet splash&lt;/pre&gt;на&lt;pre class="my_code_box"&gt;# defoptions=quiet splash clocksource=hpet&lt;/pre&gt;и запустите&lt;pre class="my_code_box"&gt;sudo update-grub&lt;/pre&gt;Теперь время загрузки операционной системы должно сократиться примерно на 40 секунд.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Выключение&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;После установки первое, что бросается в глаза - это то, что Ubuntu не хочет выключаться. :) По команде halt запускается процесс остановки системы, останавливаются работающие службы, экран гаснет, но компьютер не выключается.&lt;br /&gt;&lt;br /&gt;Чтобы исправить это, открываем /etc/init.d/halt и добавляем строку "modprobe -r snd-hda-intel" в тело функции do_stop, как показано ниже:&lt;pre class="my_code_box"&gt;....&lt;br /&gt;do_stop () {&lt;br /&gt;modprobe -r snd-hda-intel&lt;br /&gt;&lt;br /&gt;if [ "$INIT_HALT" = "" ]&lt;br /&gt;....&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Звук&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Добавьте в файл /etc/modprobe.d/snd-hda-intel (если файл не существует, то создайте его) строку&lt;pre class="my_code_box"&gt;options snd-hda-intel model=3stack-dig&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Поддержка горячих клавиш Fn+F[1-9]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Устанавливаем исходные файлы и компилируем из них модуль:&lt;pre class="my_code_box"&gt;sudo apt-get install module-assistant eeepc-acpi-source&lt;br /&gt;sudo m-a a-i eeepc-acpi&lt;br /&gt;sudo sh -c 'echo eeepc-acpi &gt;&gt; /etc/modules'&lt;/pre&gt;&lt;br /&gt;Если в будущем вы обновите ядро, то вам придется выполнить команду&lt;pre class="my_code_box"&gt;sudo m-a a-i eeepc-acpi&lt;/pre&gt;которая соберет модуль заново для нового ядра.&lt;br /&gt;&lt;br /&gt;У меня заработали не все клавиши. Кнопка засыпания и кнопки увеличения/уменьшения яркости дисплея работают отлично. Про настройку кнопки включения/выключения Wi-Fi я расскажу ниже. Кнопки выключения/уменьшения/увеличения громкости звука не заработали, когда я пытался настроить их по тем HowTo, которые мне попались. Копать глубже в этом направлении я не стал, т. к. лично мне на Eee PC звук не нужен (я его вообще выключил в BIOS'е). Поэтому решение данной проблемы я оставляю вам. :) Если кто напишет в комментариях, как их настроить - буду благодарен, может быть, потом пригодится.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Динамическое изменение частоты процессора&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Сразу скажу, что, читая обсуждения на форумах по поводу уменьшения частоты процессора в целях экономии энергии, я часто встречал мнения людей, утверждающих, что сэкономить много времени автономной работы не удастся - максимум 10-15 минут. Сам я никаких тестов не делал, но уменьшение частоты у себя все-таки настроил - может быть хотя бы по-меньше греться будет, да и эти 15 минут тоже не лишние...&lt;br /&gt;&lt;br /&gt;Также стоит отметить, что хотя производитель и заявляет, что частота процессора составляет 900 Мгц, на самом деле он работает на частоте 630 Мгц. Судя по отзывам, даже если вы поднимите частоту до 900 Мгц, то прироста производительности вы не получите - для этого необходимо разгонять шину, чем я не стал заниматься - для меня время автономной работы имеет гораздо большее значение.&lt;br /&gt;&lt;br /&gt;Итак...&lt;br /&gt;&lt;br /&gt;Устанавливаем необходимый нам пакет, позволяющий менять частоту процессора на лету:&lt;pre class="my_code_box"&gt;sudo apt-get install cpufrequtils&lt;/pre&gt;и добавляем в /etc/rc.local следующие строки:&lt;pre class="my_code_box"&gt;# Включаем динамическое изменение частоты процессора&lt;br /&gt;modprobe p4-clockmod&lt;br /&gt;modprobe cpufreq-ondemand&lt;br /&gt;# Включаем плавное изменение частоты процессора в зависимости&lt;br /&gt;# от нагрузки в диапазоне от 112 Мгц до 675 Мгц. Новое значение&lt;br /&gt;# частоты будет вычисляться каждые 500 мсек.&lt;br /&gt;echo 112500 &gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq&lt;br /&gt;echo 675000 &gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq&lt;br /&gt;powernowd -m 1 -p 500&lt;/pre&gt;Если в процессе работы скорость реакции приложений вас не будет устраивать, то можно повысить минимальную частоту процессора (список доступных частот можно посмотреть в /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) или уменьшить значение опции -p утилиты powernowd.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wi-Fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Компилируем и устанавливаем необходимый модуль:&lt;pre class="my_code_box"&gt;sudo apt-get install build-essential&lt;br /&gt;wget 'http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz'&lt;br /&gt;tar zxvf madwifi-nr-r3366+ar5007.tar.gz&lt;br /&gt;cd madwifi-nr-r3366+ar5007&lt;br /&gt;make clean&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;br /&gt;sudo reboot&lt;/pre&gt;Если в будущем вы будете обновлять ядро, то необходимо будет заново скомпилировать и установить модуль.&lt;br /&gt;&lt;br /&gt;Создаем файл /etc/acpi/actions/wireless-toggle.sh со следующими строками:&lt;pre class="my_code_box"&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# main wifi toggle script (loads/unloads modules)&lt;br /&gt;&lt;br /&gt;. /usr/share/acpi-support/key-constants&lt;br /&gt;&lt;br /&gt;# The sequence here *may* be important.&lt;br /&gt;# (It seems to fail intermittently if you deviate.)&lt;br /&gt;unload_modules() {&lt;br /&gt;rmmod wlan_scan_sta&lt;br /&gt;rmmod wlan_tkip&lt;br /&gt;rmmod wlan_wep&lt;br /&gt;rmmod wlan_ccmp&lt;br /&gt;rmmod wlan_acl&lt;br /&gt;rmmod ath_pci&lt;br /&gt;sleep 1&lt;br /&gt;rmmod ath_rate_atheros&lt;br /&gt;rmmod ath_hal&lt;br /&gt;rmmod wlan&lt;br /&gt;rmmod ath_dfs&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# At least this one's straightforward.&lt;br /&gt;load_modules() {&lt;br /&gt;modprobe ath_pci&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;wifi_on() {&lt;br /&gt;# Force PCI Express Hotplug to reinit&lt;br /&gt;rmmod pciehp&lt;br /&gt;sleep 1&lt;br /&gt;# pciehp_force may be unnecessary; Xandros did it.&lt;br /&gt;modprobe pciehp pciehp_force=1&lt;br /&gt;sleep 1&lt;br /&gt;# Switch on the hardware&lt;br /&gt;echo 1 &gt;/proc/acpi/asus/wlan&lt;br /&gt;sleep 1&lt;br /&gt;load_modules&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;wifi_off() {&lt;br /&gt;unload_modules&lt;br /&gt;echo 0 &gt;/proc/acpi/asus/wlan&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case $1 in&lt;br /&gt;on)&lt;br /&gt; acpi_fakekey $KEY_PROG1&lt;br /&gt; wifi_on&lt;br /&gt; ;;&lt;br /&gt;off)&lt;br /&gt; acpi_fakekey $KEY_PROG2&lt;br /&gt; wifi_off&lt;br /&gt; ;;&lt;br /&gt;toggle)&lt;br /&gt; STAT=`cat /proc/acpi/asus/wlan`&lt;br /&gt; if [ "$STAT" = "1" ];&lt;br /&gt;    then wifi_off;&lt;br /&gt;    else wifi_on;&lt;br /&gt; fi&lt;br /&gt; ;;&lt;br /&gt;esac&lt;/pre&gt;&lt;br /&gt;Также создаем файл /etc/acpi/eeepc-hotkeys.sh:&lt;pre class="my_code_box"&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;code=$3&lt;br /&gt;&lt;br /&gt;case $code in&lt;br /&gt;# Fn+F2 - enable/disable wifi&lt;br /&gt;00000010)&lt;br /&gt;   /etc/acpi/actions/wireless-toggle.sh on&lt;br /&gt;;;&lt;br /&gt;00000011)&lt;br /&gt;   /etc/acpi/actions/wireless-toggle.sh off&lt;br /&gt;;;&lt;br /&gt;esac&lt;/pre&gt;&lt;br /&gt;Делаем эти файлы исполняемыми:&lt;pre class="my_code_box"&gt;chmod a+x /etc/acpi/actions/wireless-toggle.sh&lt;br /&gt;chmod a+x /etc/acpi/eeepc-hotkeys.sh&lt;/pre&gt;&lt;br /&gt;И создаем файл /etc/acpi/events/hotkey, в который записываем:&lt;pre class="my_code_box"&gt;event=hotkey ATKD&lt;br /&gt;action=/etc/acpi/eeepc-hotkeys.sh %e&lt;/pre&gt;&lt;br /&gt;Все, теперь Wi-Fi и кнопка его включения/выключения должны работать. В принципе, для подключения к Wi-Fi точке вы можете использовать графические утилиты, но лично мне гораздо удобнее набрать пару слов в консоли, чем щелкать по множеству кнопок. Поэтому:&lt;pre class="my_code_box"&gt;# Устанавливаем пакет для работы с WPA шифрованием&lt;br /&gt;sudo apt-get install wpasupplicant&lt;/pre&gt;&lt;br /&gt;Создаем файл /etc/wpa_supplicant/wpa_supplicant.conf следующего содержания:&lt;pre class="my_code_box"&gt;ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;ctrl_interface_group=0&lt;br /&gt;ap_scan=1&lt;br /&gt;fast_reauth=1&lt;br /&gt;eapol_version=1&lt;br /&gt;network={&lt;br /&gt;ssid="ROUTER_ID"&lt;br /&gt;psk="PASSWORD"&lt;br /&gt;priority=5&lt;br /&gt;}&lt;/pre&gt;где ROUTER_ID - имя точки доступа, а PASSWORD - пароль для доступа к ней.&lt;br /&gt;&lt;br /&gt;Добавляем в /etc/network/interfaces строки:&lt;pre class="my_code_box"&gt;iface ath0 inet dhcp&lt;br /&gt;wpa-driver wext&lt;br /&gt;wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf&lt;/pre&gt;&lt;br /&gt;Все, теперь для подключения к точке доступа необходимо выполнить команду&lt;pre class="my_code_box"&gt;sudo ifup ath0&lt;/pre&gt;&lt;br /&gt;Если вы используете Wi-Fi точку с открытым доступом, то устанавливать wpasupplicant и создавать файл /etc/wpa_supplicant/wpa_supplicant.conf не нужно - достаточно только добавить в /etc/network/interfaces строки&lt;pre class="my_code_box"&gt;iface ath0 inet dhcp&lt;br /&gt;pre-up ifconfig ath0 up&lt;br /&gt;pre-up iwconfig ath0 essid "ROUTER_ID"&lt;/pre&gt;&lt;br /&gt;Разорвать уже установленное соединение можно командой&lt;pre class="my_code_box"&gt;sudo ifdown ath0&lt;/pre&gt;&lt;br /&gt;В принципе, можно прописать команды ifup/ifdown в скрипт /etc/acpi/actions/wireless-toggle.sh, чтобы при нажатии на кнопку включения/выключения Wi-Fi автоматически происходило подключение к Wi-Fi точке.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Экономим электроэнергию&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Чтобы посмотреть, какие приложения/сервисы заставляют процессор чаще всего переходить из спящего состояния в рабочее, а следовательно, увеличивать расход электроэнергии, воспользуйтесь утилитой powertop.&lt;br /&gt;&lt;br /&gt;У меня самыми активными оказались Wi-Fi, USB и Ethernet. Поэтому я добавил в /etc/rc.local следующие строки, которые отключают на этапе загрузки все эти интерфейсы:&lt;pre class="my_code_box"&gt;# Отключаем Ethernet&lt;br /&gt;/sbin/ifconfig eth0 down&lt;br /&gt;&lt;br /&gt;# Отключаем USB&lt;br /&gt;rmmod ehci-hcd&lt;br /&gt;rmmod uhci-hcd&lt;br /&gt;&lt;br /&gt;# Отключаем Wi-Fi&lt;br /&gt;/sbin/ifconfig ath0 down&lt;/pre&gt;&lt;br /&gt;Включаю я их только тогда, когда они мне нужны. Включается они следующими командами:&lt;pre class="my_code_box"&gt;# Ethernet&lt;br /&gt;ifup eth0&lt;br /&gt;&lt;br /&gt;# USB&lt;br /&gt;sudo modprobe ehci-hcd&lt;br /&gt;sudo modprobe uhci-hcd&lt;br /&gt;&lt;br /&gt;# Wi-Fi&lt;br /&gt;ifup ath0&lt;/pre&gt;&lt;br /&gt;Если нет желания набирать каждый раз все эти команды в консоли, то можно поставить программу &lt;a href="http://eee-pc.ru/wiki/_media/ubuntu:eeepc-control.zip"&gt;Eee PC sm-Control&lt;/a&gt;, написанную товарищем Serge_RUS, которая позволяет производить те же действия через графический интерфейс.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJ1cOhjJDI/AAAAAAAAAHk/xnUdv9u-I80/s1600-h/eee_pc_sm-control.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJ1cOhjJDI/AAAAAAAAAHk/xnUdv9u-I80/s320/eee_pc_sm-control.png" alt="" id="BLOGGER_PHOTO_ID_5211356846616683570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SD/SDHC карты&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Пока что мне вполне хватает встроенного SSD диска, и покупать дополнительную флэш память я к своему Eee PC не думаю. Но, читая различные HowTo и форумы, я заметил, что у многих возникают проблемы с некоторыми картами памяти. Т. к. у меня пока такой проблемы нет, я не особо интересовался, какие карты лучше покупать и как бороться с проблемами, если они вдруг возникнут. В конце статьи я привел пару ссылок на эту тему, если она для вас актуальна.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Увеличение срока службы SSD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Чтобы уменьшить количество операций записи на SSD, добавьте в /etc/fstab следующие строки, чтобы все временные файлы и логи писались в оперативную память:&lt;pre class="my_code_box"&gt;tmpfs /tmp tmpfs defaults,noatime,nodiratime 0 0&lt;br /&gt;tmpfs /var/tmp tmpfs defaults,noatime,nodiratime 0 0&lt;br /&gt;tmpfs /var/log tmpfs defaults,noatime,nodiratime 0 0&lt;/pre&gt;&lt;br /&gt;Внимание! Если вы используете программы, которые создают временные файлы очень большого размера в /tmp, то первую строку добавлять не стоит во избежании нехватки оперативной памяти при создании таких файлов.&lt;br /&gt;&lt;br /&gt;В параметрах монтирования раздела SSD диска укажите опции noatime и nodiratime. Т. е. если раздел у вас монтируется строкой&lt;pre class="my_code_box"&gt;UUID=79d788c4-a8fb-4f03-92c2-e90d4c26b51b    /    ext2    defaults,errors=remount-ro    0    1&lt;/pre&gt;то замените ее на&lt;pre class="my_code_box"&gt;UUID=79d788c4-a8fb-4f03-92c2-e90d4c26b51b    /    ext2    defaults,noatime,nodiratime,errors=remount-ro    0    1&lt;/pre&gt;Включение этих опций запрещает обновление времени последнего доступа каждый раз, когда вы обращаетесь к какому-либо файлу или папке на этом разделе.&lt;br /&gt;&lt;br /&gt;Если вы не пользуетесь командой locate, то можете удалить (или просто поставить exit 0 после строки #!/bin/sh) файл /etc/cron.daily/mlocate. Этот скрипт запускается каждый день и обновляет базу locate, содержащую пути всех файлов в системе (очень удобно использовать locate, если необходимо быстро найти какой-нибудь файл по имени - каманда find работает значительно медленнее, т. к. использует не готовую базу данных, а каждый раз просматривает все дерево каталогов). Если же вы пользуетесь locate'ом, то можно переместить /etc/cron.daily/mlocate в /etc/cron.weekly/, чтобы база обновлялясь раз в неделю.&lt;br /&gt;&lt;br /&gt;Также, чтобы уменьшить количество операций записи на SSD, отключаем все логи (имхо, на карманном ноутбуке они не нужны):&lt;pre class="my_code_box"&gt;apt-get remove klogd sysklogd logrotate&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Экономим место на SSD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Установите пакет localepurge. Он запросит у вас список локалей, которые вам нужны, и удалит все остальные. localepurge также будет автоматически запускаться при каждом запуске apt.&lt;br /&gt;&lt;br /&gt;Запустите Synaptic, зайдите в меню Settings-&gt;Preferences, перейдите на вкладку Columns and Fonts и поставьте флажок напротив поля Installed Size. Теперь в списке пакетов появится еще одна колонка - Size. Если пакет установлен, то в этой колонке будет отображен размер, который занимают файлы данного пакета. Отсортируйте список пакетов по этой колонке и удаляйте все ненужные пакеты, которые занимают много места.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Компактная тема&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Чтобы увеличить количество полезной информации, отображаемой на относительно небольшом экране Eee PC, рекомендую вам установить компактную тему для GTK - &lt;a href="http://gnome-look.org/content/show.php/Human+Compact?content=80980"&gt;Human Compact&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dWRCmLfFFN0/SFJf_gHW4GI/AAAAAAAAAHc/u38LFtYRubI/s1600-h/human_compact_stardict.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_dWRCmLfFFN0/SFJf_gHW4GI/AAAAAAAAAHc/u38LFtYRubI/s320/human_compact_stardict.png" alt="" id="BLOGGER_PHOTO_ID_5211333263378276450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dWRCmLfFFN0/SFJfkiS4-3I/AAAAAAAAAHU/bQKIdDUfDn0/s1600-h/human_compact_rox.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_dWRCmLfFFN0/SFJfkiS4-3I/AAAAAAAAAHU/bQKIdDUfDn0/s320/human_compact_rox.png" alt="" id="BLOGGER_PHOTO_ID_5211332800107051890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dWRCmLfFFN0/SFJfQtkYkMI/AAAAAAAAAHM/MycIip-ZHXA/s1600-h/human_compact_firefox.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_dWRCmLfFFN0/SFJfQtkYkMI/AAAAAAAAAHM/MycIip-ZHXA/s320/human_compact_firefox.png" alt="" id="BLOGGER_PHOTO_ID_5211332459535831234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Чтение книг&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Для чтения книг могу порекомендовать &lt;a href="http://www.fbreader.org/"&gt;FBReader&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJfE1PsZxI/AAAAAAAAAHE/FXKiQ94D0DU/s1600-h/fbreader_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJfE1PsZxI/AAAAAAAAAHE/FXKiQ94D0DU/s320/fbreader_2.png" alt="" id="BLOGGER_PHOTO_ID_5211332255438104338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJe1_jcHTI/AAAAAAAAAG8/BzKSXyNWKqk/s1600-h/fbreader_1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_dWRCmLfFFN0/SFJe1_jcHTI/AAAAAAAAAG8/BzKSXyNWKqk/s320/fbreader_1.png" alt="" id="BLOGGER_PHOTO_ID_5211332000507239730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ссылки по теме&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="fullpost"&gt;&lt;a href="http://www.linux-on-laptops.com/"&gt;linux-on-laptops&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://tuxmobil.org"&gt;Linux Laptop &amp;amp; Notebook Installation Guides&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;a href="http://wiki.debian.org/DebianEeePC/HowTo/Wifi"&gt;DebianEeePC/HowTo/Wifi&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.eeeuser.com/getting_ubuntu_8.04_to_work_perfectly"&gt;Ubuntu 8.04 (Hardy Heron) on the Asus Eee PC&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.eeeuser.com/hardware:eee_un_supported_devices"&gt;(Un)supported Hardware&lt;/a&gt;&lt;br /&gt;&lt;a href="http://habrahabr.ru/blog/eeepc/41434.html"&gt;Проблемы с SDHC и их решение&lt;/a&gt;&lt;br /&gt;&lt;a href="http://habrahabr.ru/blog/eeepc/35625.html"&gt;Установка Ubuntu на Eee PC&lt;/a&gt;&lt;br /&gt;&lt;a href="http://eee-pc.ru/wiki/ubuntu:%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F"&gt;Установка и настройка Ubuntu&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;/div&gt;  &lt;script charset="utf-8" src="http://feeds.feedburner.com/%7Es/KonishchevdmitrySmallBlog?i=http://konishchevdmitry.blogspot.com/2008/06/ubuntu-804-asus-eee-pc.html" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript" charset="utf-8" src="http://feeds.feedburner.com/%7Ed/static/site-tracker.js"&gt;&lt;/script&gt; &lt;span class="post-author vcard"&gt; Автор: &lt;span class="fn"&gt;Конищев Дмитрий&lt;/span&gt; &lt;/span&gt;&lt;span class="post-timestamp"&gt;&lt;/span&gt;&lt;span class="post-comment-link"&gt;&lt;/span&gt;&lt;span class="post-icons"&gt;&lt;span class="item-control blog-admin pid-1753101445"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=2141445677437943011&amp;amp;postID=5973835110619743051" title="Изменить сообщение"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6987642961062132753?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6987642961062132753/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6987642961062132753' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6987642961062132753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6987642961062132753'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/06/ubuntu-804-eepc.html' title='Установка  ubuntu 8.04 на eePC'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dWRCmLfFFN0/SFLCocNk_EI/AAAAAAAAAHs/T-170w4uq00/s72-c/ubuntu_on_eee_pc.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1389312876830941649</id><published>2008-06-08T13:19:00.000-07:00</published><updated>2008-06-08T13:21:50.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='cd-rom'/><title type='text'>Запись DVD CD</title><content type='html'>http://www.cyberciti.biz/tips/how-do-i-write-cd-at-debain-linux-command-prompt.html&lt;br /&gt;&lt;br /&gt;http://www.debuntu.org/2006/06/03/61-how-to-burn-dvds-from-the-command-line&lt;br /&gt;&lt;br /&gt;http://www.lesbell.com.au/Home.nsf/b8ec57204f60dfcb4a2568c60014ed0f/16d7aba66e3a1812ca2571b80007d960?OpenDocument&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1389312876830941649?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1389312876830941649/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1389312876830941649' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1389312876830941649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1389312876830941649'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/06/dvd-cd.html' title='Запись DVD CD'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4339293226825440642</id><published>2008-06-07T09:42:00.000-07:00</published><updated>2008-08-26T04:20:13.536-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>коллекция скриптов</title><content type='html'>http://www.shelldorado.com/scripts/&lt;br /&gt;&lt;br /&gt;скрипт для фоток&lt;br /&gt;&lt;pre&gt;Read photos from CF/SD memory card&lt;br /&gt;http://platon.sk/cvs/cvs.php/scripts/shell/photo-managment/foto-copy&lt;br /&gt;и еще сортировка фоток&lt;br /&gt;http://j-sheridan.livejournal.com/35417.html&lt;br /&gt;http://www.nooblet.org/blog/2007/exifsort/&lt;br /&gt;http://www.nslu2-linux.org/wiki/Applications/DigitalCameraBackup&lt;br /&gt;http://dejant.blogspot.com/2007/07/sort-digital-photos.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4339293226825440642?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4339293226825440642/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4339293226825440642' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4339293226825440642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4339293226825440642'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/06/blog-post.html' title='коллекция скриптов'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3049372353777894391</id><published>2008-06-07T08:58:00.000-07:00</published><updated>2008-06-07T08:59:50.664-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wake up on lan'/><category scheme='http://www.blogger.com/atom/ns#' term='remote desktop'/><title type='text'>HOWTO: Wake On LAN, удалённое включение компьютера</title><content type='html'>В данном  HowTo рассматривается вопрос использования Wake on LAN под Ubuntu.&lt;br /&gt;&lt;br /&gt;Wake-On-LAN — технология, позволяющая удалённо включать компьютер. Почему-то не часто используемая функция, хотя бесспорно будет полезна любителям ввести halt не в том ssh-сеансе  &lt;img src="http://forum.ubuntu.ru/Smileys/webby/wink.gif" alt="Wink" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Что понадобится:&lt;/b&gt;&lt;br /&gt;- компьютер-жертва с ATX-источником питания, материнской платой, поддерживающей Wake On LAN и Ubuntu на борту;&lt;br /&gt;- сетевой адаптер с поддержкой Wake On LAN;&lt;br /&gt;- знание IP и MAC сетевого устройства;&lt;br /&gt;- второй компьютер, при помощи которого будем будить первого;&lt;br /&gt;- спец-программа на втором компьютере, умеющая отсылать «волшебный пакет».&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Как это работает:&lt;/b&gt;&lt;br /&gt;Управляемый компьютер находится в дежурном режиме (stand by) и выдаёт питание на сетевой адаптер. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес и ничего не отвечая на них. Если одним из пакетов окажется Magic Packet, сетевой адаптер выдаёт сигнал на включение питания компьютера.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Делаем:&lt;/b&gt;&lt;br /&gt;1.Включаем поддержку WAN в BIOS. Как это делается — смотрите в мануале вашей материнской платы. Или просто ищите в настройках BIOS что-то похожее на «enable Wake On LAN».&lt;br /&gt;&lt;br /&gt;2.Теперь загружаем ОС и создаем скрипт, который будет должным образом конфигурировать сетевую карту при каждой загрузке Ubuntu.&lt;br /&gt;&lt;br /&gt;- Выбираем необходимую сетевую карту:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;ifconfig&lt;/pre&gt;&lt;/div&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;eth0      Link encap:Ethernet  HWaddr 01:23:45:67:89:ab&lt;br /&gt;          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0&lt;br /&gt;          inet6 addr: fe80::215:f2ff:fe6f:3487/64 Scope:Link&lt;br /&gt;          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;          RX packets:71495 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;          TX packets:76190 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;          collisions:0 txqueuelen:1000&lt;br /&gt;          RX bytes:23164212 (22.0 MiB)  TX bytes:7625016 (7.2 MiB)&lt;br /&gt;          Interrupt:217 Base address:0xd400&lt;br /&gt;&lt;br /&gt;lo        Link encap:Local Loopback&lt;br /&gt;          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br /&gt;          inet6 addr: ::1/128 Scope:Host&lt;br /&gt;          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br /&gt;          RX packets:1290 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;          TX packets:1290 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;          collisions:0 txqueuelen:0&lt;br /&gt;          RX bytes:161182 (157.4 KiB)  TX bytes:161182 (157.4 KiB)&lt;/pre&gt;&lt;/div&gt;в данном примере карта одна, eth0.&lt;br /&gt;&lt;br /&gt;- Теперь создаем сам скрипт, для этого сначала необходимо получить права администратора:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;sudo su&lt;br /&gt;cd /etc/init.d/&lt;br /&gt;gedit wakeonlanconfig&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;- пишем в файл следующие строки, сохраняем, закрываем:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;#!/bin/bash&lt;br /&gt;ethtool -s eth0 wol g&lt;br /&gt;exit&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;- устанавливаем права:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;chmod a+x wakeonlanconfig&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;- создаем символическую ссылку, делаем скрипт исполняемым при загрузке:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;update-rc.d -f wakeonlanconfig defaults&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;на экране должно отобразиться что-то вроде&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;Adding system startup for /etc/init.d/wakeonlanconfig ...&lt;br /&gt;   /etc/rc0.d/K20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc1.d/K20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc6.d/K20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc2.d/S20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc3.d/S20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc4.d/S20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;br /&gt;   /etc/rc5.d/S20wakeonlanconfig -&gt; ../init.d/wakeonlanconfig&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;- проверяем что всё нормально получилось, вводим в терминале&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;/etc/init.d/wakeonlanconfig&lt;/pre&gt;&lt;/div&gt;если никакого вывода не последовало и показалась следующая строка ввода - значит всё прошло гладко.&lt;br /&gt;&lt;br /&gt;- проверяем на практике.&lt;br /&gt;распечатываем данное руководство, выключаем первый компьютер и идём ко второму &lt;img src="http://forum.ubuntu.ru/Smileys/webby/smiley.gif" alt="Smiley" border="0" /&gt; Здесь нам понадобится одна из многочисленных программ, умеющих слать волшебный пакет. Программа попросит указать IP и MAC первого компьютера, в крайнем случае - еще и порт (обычно 7 или 9).&lt;br /&gt;Для Ubuntu удобна программа wakeonlan, для офтопика найдет гугл. Мне же нравится он-лайн сервис &lt;a href="http://www.rshut.com/rus/products/wol" target="_blank"&gt;http://www.rshut.com/rus/products/wol&lt;/a&gt; которым легко можно воспользоваться даже с сотового телефона &lt;img src="http://forum.ubuntu.ru/Smileys/webby/smiley.gif" alt="Smiley" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Пробуем:&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;wakeonlan -i [IP адрес] -p [порт] [MAC адрес]&lt;/pre&gt;&lt;/div&gt; , например&lt;br /&gt;&lt;div class="codeheader"&gt;Код:&lt;/div&gt;&lt;div class="code"&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;wakeonlan -i 192.168.1.2 -p 7 01:23:45:67:89:ab&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;должно сработать  &lt;img src="http://forum.ubuntu.ru/Smileys/webby/coolsmiley.gif" alt="coolsmiley" border="0" /&gt; если ничего не вышло - проблема, скорее всего, в неправильной настройке BIOS, перепроверьте. Может быть ситуация, когда включаемый компьютер находится за маршрутизатором, в таком случае следует пробросить необходимый порт.&lt;br /&gt;&lt;br /&gt;_____________________________________________________________________&lt;br /&gt;&lt;b&gt;источники:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://ru.wikipedia.org/wiki/Wake-on-LAN" target="_blank"&gt;http://ru.wikipedia.org/wiki/Wake-on-LAN&lt;/a&gt; - теоретическая часть&lt;br /&gt;&lt;a href="http://ubuntuforums.org/showthread.php?t=234588" target="_blank"&gt;http://ubuntuforums.org/showthread.php?t=234588&lt;/a&gt; - практическая часть&lt;br /&gt;&lt;br /&gt;HowTo испробовано на Ubuntu 7.10, сработало с первой попытки.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3049372353777894391?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3049372353777894391/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3049372353777894391' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3049372353777894391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3049372353777894391'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/06/howto-wake-on-lan.html' title='HOWTO: Wake On LAN, удалённое включение компьютера'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1834009954022823414</id><published>2008-06-07T08:48:00.000-07:00</published><updated>2008-06-07T08:51:40.245-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wget'/><title type='text'>Скачать linuxFormat одной командой</title><content type='html'>&lt;a href="http://forum.ubuntu.ru/index.php?topic=24180.0"&gt;отсюда&lt;/a&gt;&lt;br /&gt;Бывает иногда интересно полистать, оное красочное издание, в формате PDF.&lt;br /&gt;Но скачивать все номера поотдельности? Без поллитру не обойтись!&lt;br /&gt;Не торопитесь в магазин.  Продукт виртуальный, но не менее ценен: Wget!&lt;br /&gt;Вбиваем одну команду, и на утро (или день), все номера складированны у&lt;br /&gt;вас в выбранной директории Ну а в это время, неторопясь, можно употребить&lt;br /&gt;и натуральный продукт!&lt;br /&gt;&lt;blockquote&gt;wget -U Mozilla -r -cv -l 4 -np -w 5 -A.pdf -P /home/XXXXX/linuxformat &lt;a href="http://www.linuxformat.ru/pdf.phtml" target="_blank"&gt;http://www.linuxformat.ru/pdf.phtml&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;Где:&lt;br /&gt;-A.pdf   только файлы PDF&lt;br /&gt;-U Mozilla    маскировка под браузер&lt;br /&gt;-P /home/XXXXX/linuxformat  каталог в вашей домашней директории&lt;br /&gt;&lt;br /&gt; Wget проходит по ссылкам на  &lt;a href="http://www.linuxformat.ru/pdf.phtml" target="_blank"&gt;http://www.linuxformat.ru/pdf.phtml&lt;/a&gt;&lt;br /&gt;и сохраняет только файлы PDF.&lt;br /&gt;&lt;br /&gt;И ещё одна ценнейшая функия:&lt;br /&gt;После посещения интернета, можно собрать ссылки на файлы, в обычный текстоый&lt;br /&gt;файл ,к примеру links.И сохраним его в дом.директории. Вводим команду:&lt;br /&gt;&lt;blockquote&gt;wget -U Mozilla -i links&lt;/blockquote&gt;&lt;br /&gt;Файлы будут скачаны в домашнюю директорию.Ну а свободное время&lt;br /&gt;можно также использовать с пользой.В т.ч.чтение man wget&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1834009954022823414?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1834009954022823414/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1834009954022823414' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1834009954022823414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1834009954022823414'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/06/linuxformat.html' title='Скачать linuxFormat одной командой'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7730232590522010245</id><published>2008-05-23T14:51:00.000-07:00</published><updated>2008-05-23T14:53:15.889-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mount'/><category scheme='http://www.blogger.com/atom/ns#' term='cd-rom'/><title type='text'>Скрипт для упрощения монтирования CD-ROMа Автор: Антон [есть мнение]</title><content type='html'>&lt;span&gt;&lt;span style="color:#404040;"&gt;&lt;pre&gt;Вот такой простой скрипт:&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;retval=`/sbin/mount | grep /mnt/cdrom`&lt;br /&gt;if [ -n "$retval" ];&lt;br /&gt;then  /sbin/umount /mnt/cdrom 1&gt; /dev/null 2&gt; /dev/null&lt;br /&gt; if [ "$?" -ne 0 ];&lt;br /&gt;     then echo "Не могу размонтировать CDROM"&lt;br /&gt; else echo "Размонтировал CDROM"&lt;br /&gt; eject /dev/cdrom &lt;br /&gt; fi&lt;br /&gt;else /sbin/mount /dev/cdrom 1&gt; /dev/null 2&gt; /dev/null&lt;br /&gt; if [ "$?" -ne 0 ];&lt;br /&gt;     then echo "Не могу смонтировать CDROM"&lt;br /&gt; else echo "Примонтировал CDROM"&lt;br /&gt; fi &lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;П.С. копируем в каталог /sbin под именем cdm. Сам определяет состояние&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7730232590522010245?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7730232590522010245/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7730232590522010245' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7730232590522010245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7730232590522010245'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/cd-rom.html' title='Скрипт для упрощения монтирования CD-ROMа Автор: Антон [есть мнение]'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1324146094841143340</id><published>2008-05-21T12:19:00.000-07:00</published><updated>2008-10-01T09:41:06.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mta'/><category scheme='http://www.blogger.com/atom/ns#' term='exim4'/><title type='text'>Настройка exim</title><content type='html'>&lt;a href="http://www.lissyara.su/?id=1175"&gt;здесь&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1324146094841143340?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1324146094841143340/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1324146094841143340' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1324146094841143340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1324146094841143340'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/exim-cj-cgfvjv-ghbrjkmyj.html' title='Настройка exim'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2202724153215666251</id><published>2008-05-21T10:24:00.000-07:00</published><updated>2008-05-21T11:29:48.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wi-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Дрова для  Realtek 8185</title><content type='html'>&lt;a href="http://linux-wless.passys.nl/query_chipset.php?chipset=Realtek"&gt;Дрова для  Realtek 8185   &lt;/a&gt;&lt;br /&gt;&lt;a href="http://rtl-wifi.sourceforge.net/wiki/Main_Page"&gt;wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;amp;PNid=24&amp;amp;PFid=1&amp;amp;Level=6&amp;amp;Conn=5&amp;amp;DownTypeID=3&amp;amp;GetDown=false&amp;amp;Downloads=true"&gt;official drivers page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2202724153215666251?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2202724153215666251/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2202724153215666251' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2202724153215666251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2202724153215666251'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/realtek-8185.html' title='Дрова для  Realtek 8185'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-5222443718646597065</id><published>2008-05-21T10:00:00.000-07:00</published><updated>2008-05-21T10:03:03.915-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wi-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Опыт настройки USB-адаптера  D-Link DWL-G122 в Ubuntu</title><content type='html'>&lt;div style="color: rgb(0, 0, 0);" id="g_description"&gt;&lt;p&gt;&lt;a href="http://bellycat77.googlepages.com/wi-fiusb-%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80d-linkdwl-g122%D0%B8ubuntu7.1"&gt;отсюда&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Мой опыт настройки USB-адаптера  D-Link DWL-G122 в Ubuntu 7.10 Linux, но думаю что методика применима для большинства дистрибутивов (аналогичным методом точно можно настроить в Ubuntu 7.04)&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;                                  &lt;!-- /editable --&gt;&lt;!-- /wrapper --&gt;&lt;!-- /header --&gt;                                    &lt;div style="color: rgb(0, 0, 0);" class="content-item"&gt;&lt;div id="g_body"&gt;&lt;p&gt;&lt;b&gt;Предисловие&lt;/b&gt;&lt;/p&gt;&lt;p&gt;    Будем настраивать соединение Wi-Fi USB-адаптера D-Link DWL-G122 rev.C с точкой доступа в Ubuntu 7.10 Linux&lt;/p&gt;&lt;p&gt;   Будем пользоваться windows-драйверами через ndiswrapper. Соответственно предполагается что ndiswrapper уже установлен в системе. Для Ubuntu 7.10 это пакеты ndiswrapper-common и ndiswrapper-utils-1.9 Естественно понадобятся и windows-драйвера.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;    В рассматриваемом адаптере используется чипсет производства &lt;a href="http://www.ralinktech.com/"&gt;Ralink&lt;/a&gt;. Проблема в том, что Linux считает, что он умеет работать с данным чипсетом.  Соответственно при загрузке ОС мы с большой долей вероятности в выводе команды 'ifconfig -a' увидим сетевой интерефейс 'rausb0'&lt;/p&gt;&lt;p&gt;    Все операции должны выполняться с правами пользователя root &lt;/p&gt;&lt;p&gt;    Естественно, я снимаю с себя всякую ответственность за результат Ваших действий в системе :-(&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Тактика и стратегия&lt;/b&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;1. Найти ...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Находим модули ядра, которые нам мешают.&lt;/p&gt;&lt;p&gt;    lsmod | grep rt7&lt;/p&gt;&lt;p&gt;    lsmod | grep rt2&lt;/p&gt;&lt;p&gt;Вывод данных команд  будет зависеть от версии дистрибутива Linux. В моем случае это были rt73usb, rt2x00usb и rt2x00lib&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;2. ...   и обезвредить &lt;/p&gt;&lt;p&gt;    modprobe -l&lt;br /&gt;&lt;/p&gt;&lt;p&gt;показывает где находятся модули ядра. В моем случае все  3 модуля (rt73usb, rt2x00usb и rt2x00lib) находились в каталоге /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/&lt;/p&gt;&lt;p&gt;Чтобы данные модули больше не подгружались, их нужно либо удалить, либо переименовать. Я выбрал второе.&lt;/p&gt;&lt;p&gt;    cd /lib/modules/2.6.22-14-generic/ubuntu/wireless/rt2x00/&lt;/p&gt;&lt;p&gt;    mv rt2x00usb.ko rt2x00usb.ko.old&lt;/p&gt;&lt;p&gt;    mv rt2x00lib.ko rt2x00lib.ko.old&lt;/p&gt;&lt;p&gt;    mv rt73usb.ko rt73usb.ko.old&lt;/p&gt;&lt;p&gt;Все. После перезагрузки системы эти модули не будут загружены.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;3. "Заграница" нам поможет&lt;/p&gt;&lt;p&gt;Сначала проинсталлируем драйвера адаптера. Для этого перейдем в каталог где они лежат и выполним команду:&lt;/p&gt;&lt;p&gt;    ndiswrapper -i Dr71WU.inf&lt;/p&gt;&lt;p&gt;где Dr71WU.inf inf-файл драйвера нашего адаптера. Данная команда копирует нужные ей файлы в каталог /etc/ndiswrapper. Оттуда модуль ядра ndiswrapper и будет брать их в дальнейшем.&lt;/p&gt;&lt;p&gt;Теперь скажем ядру что оно должно использовать модуль ndiswrapper, для этого:&lt;/p&gt;&lt;p&gt;    modprobe -i ndiswrapper&lt;/p&gt;&lt;p&gt;    depmod -a&lt;/p&gt;&lt;p&gt;Теперь проверим что в файле /etc/modprobe.d/aliases отсутствует запись для rausb0&lt;/p&gt;&lt;p&gt;Далее создаем интерфейс wlan0&lt;/p&gt;&lt;p&gt;    vi /etc/modprobe.d/ndiswrapper&lt;/p&gt;&lt;p&gt;с такой записью: &lt;/p&gt;&lt;p&gt;    alias wlan0 ndiswrapper&lt;/p&gt;&lt;p&gt;Теперь можно перезагрузить систему и если все было правильно, то вывод команды 'ifconfig -a' покажет наличие в системе интерфейса wlan0.&lt;/p&gt;&lt;p&gt;Если этого не произошло, попробуйте еще раз сделать&lt;/p&gt;&lt;p&gt;    modprobe -i ndiswrapper&lt;/p&gt; &lt;p&gt;    depmod -a&lt;/p&gt;&lt;p&gt; это должно помочь.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;4. "Полная тайна вкладов... то есть организации"&lt;/p&gt;&lt;p&gt;Дальше рассказ о том как настроить WPA-шифрование. Для этого в системе должен быть wpa_supplicant (пакет wpasupplicant в Ubuntu 7.10)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Предположения относительно точки доступа:&lt;/p&gt;&lt;p&gt; - SSID = testnet&lt;/p&gt;&lt;p&gt; - сеть "скрытая", т.е. не анонсирует своего имени&lt;/p&gt;&lt;p&gt; - адрес сети  00:11:22:33:44:55&lt;/p&gt;&lt;p&gt; - используются протоколы WPA-PSK, WPA2-PSK, TKIP, AES&lt;/p&gt;&lt;p&gt; - пароль PSK = 1234567890axcvf &lt;/p&gt;&lt;p&gt; - на точке доступа настроена динамическая раздача адресов  &lt;/p&gt;&lt;p&gt;Двоичный пароль запрашиваем командой:&lt;/p&gt;&lt;p&gt;    wpa_passphrase testnet 1234567890axcvf&lt;/p&gt;&lt;p&gt;и получаем от него нечто вроде:&lt;/p&gt;&lt;p&gt;network={&lt;br /&gt;        ssid="testnet"&lt;br /&gt;        #psk="1234567890axcvf"&lt;br /&gt;        psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Вариантов два.&lt;/p&gt;&lt;p&gt;Вариант 1&lt;/p&gt;&lt;p&gt;Если беспроводная сеть является постоянной, то в файле /etc/network/interfaces прописываем:&lt;/p&gt;&lt;p&gt;auto wlan0&lt;br /&gt;iface wlan0 inet dhcp&lt;br /&gt;        wpa-driver wext&lt;br /&gt;        wpa-ssid testnet&lt;br /&gt;        wpa-bssid 00:11:22:33:44:55&lt;br /&gt;        wpa-scan-ssid 1&lt;br /&gt;        wpa-ap-scan 2&lt;br /&gt;        wpa-proto WPA RSN&lt;br /&gt;        wpa-pairwise TKIP CCMP&lt;br /&gt;        wpa-group TKIP CCMP&lt;br /&gt;        wpa-auth-alg OPEN&lt;br /&gt;        wpa-key-mgmt WPA-PSK&lt;br /&gt;        wpa-psk  95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Вариант 2&lt;/p&gt;&lt;p&gt;Если беспроводная сеть нужна время от времени,&lt;/p&gt;&lt;p&gt;то ее можно инициализировать следующим способом&lt;/p&gt;&lt;p&gt;    wpa_supplicant -D wext -i  wlan0 -c /etc/wpa_supplicant.conf -B&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Содержимое файла /etc/wpa_supplicant.conf:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;ap_scan=2&lt;br /&gt;network={&lt;br /&gt;        ssid="testnet"&lt;br /&gt;        bssid=00:11:22:33:44:55&lt;br /&gt;        scan_ssid=1&lt;br /&gt;        proto=WPA RSN&lt;br /&gt;        key_mgmt=WPA-PSK&lt;br /&gt;        auth_alg=OPEN&lt;br /&gt;        pairwise=TKIP CCMP&lt;br /&gt;        group=TKIP CCMP                              &lt;/p&gt;&lt;p&gt;        psk=95d5e79040c1da5c70981fbc51679331b53245e923b7dc62f0621826d529abfa&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;p&gt;IP-адрес получается  динамически,  говорим:&lt;/p&gt;&lt;p&gt;    dhclient wlan0&lt;/p&gt;&lt;p&gt;Все. &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-5222443718646597065?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/5222443718646597065/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=5222443718646597065' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5222443718646597065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/5222443718646597065'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/usb-d-link-dwl-g122-ubuntu.html' title='Опыт настройки USB-адаптера  D-Link DWL-G122 в Ubuntu'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3530718472016898865</id><published>2008-05-19T08:39:00.000-07:00</published><updated>2008-05-19T09:44:32.894-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='htop'/><category scheme='http://www.blogger.com/atom/ns#' term='iptraf'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='console'/><title type='text'>полезные утилиты</title><content type='html'>htop  - просмотр и удаление процессов&lt;br /&gt;cairo-clock - прикольные гномовские часы&lt;br /&gt;darkstat - статистика по трафику интерфейса ( после установки в конфиге подправить первую строку на yes&lt;br /&gt;iptraf просмотр трафика с консоли&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3530718472016898865?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3530718472016898865/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3530718472016898865' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3530718472016898865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3530718472016898865'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/blog-post_9878.html' title='полезные утилиты'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-123144807757701925</id><published>2008-05-19T04:40:00.000-07:00</published><updated>2008-05-19T04:45:48.721-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='beep'/><title type='text'>Сигнал об окончании загрузки сервера</title><content type='html'>ставим beep&lt;br /&gt;&lt;blockquote&gt;apt-get install beep&lt;/blockquote&gt;и правим скрипт /etc/rc.local&lt;br /&gt;&lt;blockquote&gt;nano /etc/rc.local&lt;/blockquote&gt;добавляем в скрипт строку &lt;br /&gt;&lt;blockquote&gt;beep -l 900 -r 3 -f 500&lt;/blockquote&gt;теперь после загрузки сервака будет 3 раза пищать встроенный динамик&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-123144807757701925?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/123144807757701925/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=123144807757701925' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/123144807757701925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/123144807757701925'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/blog-post_19.html' title='Сигнал об окончании загрузки сервера'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3123650282164119818</id><published>2008-05-16T04:43:00.000-07:00</published><updated>2008-05-19T12:30:04.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>How-to Apache2 и vhost_alias</title><content type='html'>ставим Apache&lt;br /&gt;&lt;blockquote&gt;# apt-get install apache2&lt;/blockquote&gt;После установки у нас появилась директория  /var/www (здесь расположен сайт по умолчанию.  Все документы в этой директории доступны через броузер по адресу http://localhost/ или IP адресу сервера.&lt;br /&gt;&lt;br /&gt;ставим  PHP5 и MySql&lt;br /&gt;&lt;blockquote&gt; # apt-get install libapache2-mod-php5&lt;br /&gt;# apt-get install mysql-server&lt;br /&gt;# apt-get install php5-mysql&lt;br /&gt;&lt;/blockquote&gt;рестартуем apache&lt;br /&gt;&lt;blockquote&gt;# /etc/init.d/apache2 restart&lt;/blockquote&gt;Проверяем работу PHP&lt;br /&gt;&lt;blockquote&gt;# echo "&amp;lt;?php echo phpinfo()  ?&amp;gt;" &gt; /var/www/info.php&lt;/blockquote&gt;смотрим броузером  http://localhost/info.php и видим результат работы PHP.&lt;br /&gt;если предлагается загрузить файл проверяем файлы /etc/apache2/apache2.conf или /etc/apache2/mods-enabled/php5.conf на наличие строки&lt;br /&gt;&lt;blockquote&gt;AddType application/x-httpd-php .php .phtml .php3&lt;/blockquote&gt;если потребовались изменения делаем рестарт апача&lt;br /&gt;&lt;blockquote&gt;# /etc/init.d/apache2 restart&lt;/blockquote&gt;Настраиваем Dynamic Virtual Hosting по именам сайтов (url):&lt;br /&gt;разрешаем запуск модуля vhost_alias&lt;br /&gt;&lt;blockquote&gt;# a2enmod vhost_alias&lt;/blockquote&gt;для того чтобы модуль заработал правим /etc/apache2/apache2.conf&lt;br /&gt;отключаем canonical name ,если нужно настраиваем логи по каждому виртуальному хосту, и указываем директорию виртуальных хостов&lt;br /&gt;&lt;blockquote&gt;# берем имя сервера из Host: header&lt;br /&gt;UseCanonicalName Off&lt;br /&gt;# директории с виртуальными хостами&lt;br /&gt;VirtualDocumentRoot /var/www/vhosts/%0&lt;br /&gt;VirtualScriptAlias /var/www/vhosts/%0/cgi-bin&lt;/blockquote&gt;создаем директорию для виртуальных хостов&lt;br /&gt;&lt;blockquote&gt;# mkdir /var/www/vhosts&lt;br /&gt;# chown -r www-data:www-data /var/www/vhosts&lt;br /&gt;&lt;/blockquote&gt;Создаем темплейт виртуального хоста и копируем туда например joomla 1.5&lt;br /&gt;&lt;blockquote&gt;# mkdir -p /var/www/vhosts/template/cgi-bin&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;Рестартуем апач&lt;br /&gt;&lt;blockquote&gt;# /etc/init.d/apache2 restart&lt;/blockquote&gt;Все готово для создания виртуальных хостов.&lt;br /&gt;Просто копируем темплейт хоста  в директорию с именем будущего сайта например для сайта www.mysite.ru&lt;br /&gt;&lt;blockquote&gt;# cp -r /var/www/vhosts/template /var/www/vhosts/www.mysite.ru&lt;/blockquote&gt;теперь все HTTP запросы к серверу с Host-header  www.mysite.ru будут перенаправляться на сайт в директории /var/www/vhosts/www.mysite.ru&lt;br /&gt;&lt;br /&gt;Для того чтоб до сайта можно было добраться правим записи DNS&lt;br /&gt;или правим /etc/hosts file и добавляем запись&lt;br /&gt;&lt;blockquote&gt;127.0.0.1 localhost www.mysite.ru&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3123650282164119818?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3123650282164119818/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3123650282164119818' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3123650282164119818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3123650282164119818'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/apache2-vhostalias.html' title='How-to Apache2 и vhost_alias'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7757388318016037937</id><published>2008-05-13T11:56:00.000-07:00</published><updated>2008-05-13T11:59:16.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='pwgen'/><title type='text'>Генерируем пароли</title><content type='html'>ставим pwgen&lt;br /&gt;&lt;blockquote&gt;sudo apt-get install pwgen&lt;/blockquote&gt;и запускаем&lt;br /&gt;&lt;blockquote&gt;pwgen&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7757388318016037937?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7757388318016037937/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7757388318016037937' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7757388318016037937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7757388318016037937'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/blog-post_8604.html' title='Генерируем пароли'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2170042700784340614</id><published>2008-05-13T11:44:00.000-07:00</published><updated>2008-05-19T12:31:30.678-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='antivirus'/><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='clamav'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>how-to Установка антивируса ClamAV</title><content type='html'>Устанавливаем антивирус&lt;br /&gt;&lt;blockquote&gt;apt-get install clamav&lt;/blockquote&gt;обновляем антивирусную базу&lt;br /&gt;&lt;blockquote&gt;freshclam               &lt;br /&gt;обновить сейчас или&lt;br /&gt;freshclam -d -c 2    &lt;br /&gt;запускаем как демон (обновлять два раза в день) &lt;/blockquote&gt;и запускаем сканирование вирусов&lt;br /&gt;&lt;blockquote&gt;clamscan -r /      &lt;- все сканируем&lt;/blockquote&gt;или&lt;br /&gt;&lt;blockquote&gt;clamscan -r /home  &lt;- только домашние папки&lt;/blockquote&gt;разумеется лучше в cron запихнуть например так&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;blockquote&gt;0 9 * * * /usr/bin/freshclam &gt; /dev/null 2&gt;&amp;amp;1  &lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;и антивирусная база будет обновляться каждый день в 9-00.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2170042700784340614?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2170042700784340614/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2170042700784340614' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2170042700784340614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2170042700784340614'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/clamav.html' title='how-to Установка антивируса ClamAV'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4707192056771715280</id><published>2008-05-13T04:59:00.000-07:00</published><updated>2008-05-13T05:15:27.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cryptsetup'/><category scheme='http://www.blogger.com/atom/ns#' term='LUKS'/><category scheme='http://www.blogger.com/atom/ns#' term='mount'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='dm-crypt'/><category scheme='http://www.blogger.com/atom/ns#' term='LVM'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Шифрованная файловая система</title><content type='html'>&lt;span style="font-weight: bold;font-family:onload;" &gt;1.Создаем сам файл, на котором будет храниться шифрованная файловая система &lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;touch /home/secure&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;2.Заполняем его случайными данными, чтобы сложнее было дешифровать &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;shred -n1 -s500M /home/secure &lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;в данном случаи мы указали размер в 500Мб. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.Подгружаем нужные модули: &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;modprobe dm-crypt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;modprobe aes_generic&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;(aes - быстрый алгоритм шифрования)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;4.Создаем loopback устройство из файла: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;losetup /dev/loop0 /home/secure&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;наше устройство теперь называется /dev/loop0, а находится оно в файле /home/secure&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;5.Создаем шифрованный том из устройства /dev/loop0 &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;cryptsetup -c aes -y create mycrypt /dev/loop0&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;шифрованный том в этом примере будет называться mycrypt&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;6.Форматируем его: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;mkreiserfs /dev/mapper/mycrypt&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;7.Монтирование: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;losetup /dev/loop0 /home/secure &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;cryptsetup create mycrypt /dev/loop0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;mount -o acl /dev/mapper/mycrypt /home/mnt&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;ACL - включаем потом для самбы пригодиться&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;8.Размонтирование:&lt;/span&gt; &lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;umount /dev/mapper/mycrypt &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;cryptsetup remove mycrypt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;losetup -d /dev/loop0&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;font-family:georgia;font-size:130%;"  &gt;&lt;br /&gt;&lt;br /&gt;Хранение шифрованных данных на отдельной партиции LVM&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;1. Создаем партицию&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;lvcreate -L2G -nstorage vg&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;в данном случаи мы задали размер 2Гб для тома с именем storage в группе vg. Подробнее в документации по LVM2.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;2.Подгружаем нужные модули: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;modprobe dm-crypt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;modprobe aes&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;(aes - быстрый алгоритм шифрования, можно использовать blowfish, des и пр. - см. раздел Cryptographic options ядра)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;3. Создаем шифрованный том из устройства /dev/vg/storage &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;cryptsetup -c aes -y create mycrypt /dev/vg/storage&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;шифрованный том в этом примере будет называться mycrypt&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;4.Форматируем его: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;blockquote&gt;mkreiserfs /dev/mapper/mycrypt&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Все. После этих операций в устройстве /dev/mapper/mycrypt находится файловая система с шифрованными данными. Ее уже можно монтировать / писать на нее / размонтировать.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;5.Монтирование: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;cryptsetup create mycrypt /dev/vg/storage&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;mount /dev/mapper/mycrypt /mnt/storage&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:georgia;" &gt;6.Размонтирование: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:georgia;"&gt;umount /dev/mapper/mycrypt /mnt/storage&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;cryptsetup remove mycrypt&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4707192056771715280?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4707192056771715280/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4707192056771715280' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4707192056771715280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4707192056771715280'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/blog-post_13.html' title='Шифрованная файловая система'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3225636757330157718</id><published>2008-05-11T00:51:00.000-07:00</published><updated>2008-05-11T00:54:00.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mta'/><category scheme='http://www.blogger.com/atom/ns#' term='exim4'/><category scheme='http://www.blogger.com/atom/ns#' term='sendmail'/><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><category scheme='http://www.blogger.com/atom/ns#' term='postfix'/><title type='text'>Настройка MTA для работы через внешний SMTP сервер</title><content type='html'>&lt;a href="http://debback.blogspot.com/2008/04/mta-mutt-smtp.html"&gt;отсюда&lt;/a&gt;&lt;br /&gt;Поскольку MTA существуют самые разные и многим нравится только какой-то определенный, я попытаюсь описать настройку нескольких популярных MTA.&lt;br /&gt;&lt;br /&gt;1. Sendmail&lt;br /&gt;Классический Sendmail многим не нравится из-за сложной настройки, но все-таки это очень мощный и достаточно распространенный MTA. Итак (все действия будут выполнятся пользователем root),&lt;br /&gt;&lt;br /&gt;# apt-get install sendmail&lt;br /&gt;&lt;br /&gt;Добавим несколько строк в /etc/mail/sendmail.mc для того, чтобы Sendmail отсылал почту через gmail (добавлять эти строчки нужно до параметров MAILER, иначе потом будет ошибка при сборке конфигов).&lt;br /&gt;&lt;br /&gt;define(`SMART_HOST',`smtp.gmail.com')dnl&lt;br /&gt;define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl&lt;br /&gt;define(`RELAY_MAILER',`esmtp')dnl&lt;br /&gt;define(`RELAY_MAILER_ARGS', `TPC $h 587')dnl&lt;br /&gt;FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl&lt;br /&gt;&lt;br /&gt;Теперь создадим папку /etc/mail/auth, а в ней - файл client-info, в котором будут храниться наши логин и пароль для my.name@gmail.com.&lt;br /&gt;&lt;br /&gt;# mkdir /etc/mail/auth&lt;br /&gt;# touch /etc/mail/client-info&lt;br /&gt;&lt;br /&gt;Добавим в client-info наши параметры авторизации (my.name заменим на свой логин на gmail, а password - на пароль).&lt;br /&gt;&lt;br /&gt;AuthInfo:smtp.gmail.com "U:root" "I:my.name" "P:password" "M:PLAIN"&lt;br /&gt;AuthInfo:smtp.gmail.com:587 "U:root" "I:my.name" "P:password" "M:PLAIN"&lt;br /&gt;&lt;br /&gt;Для пущей безопасности можно сделать этот файл (да и папку тоже) доступными только для пользователя root&lt;br /&gt;&lt;br /&gt;# chmod 600 /etc/mail/auth/client-info&lt;br /&gt;# chmod 700 /etc/mail/auth&lt;br /&gt;&lt;br /&gt;Преобразуем этот файл в нужный формат&lt;br /&gt;&lt;br /&gt;# makemap -r hash /etc/mail/auth/client-info.db &lt; /etc/mail/auth/client-info&lt;br /&gt;&lt;br /&gt;Теперь выполним одно специфичное для Sendmail действие - пересборку конфигурационных файлов&lt;br /&gt;&lt;br /&gt;# cd /etc/mail&lt;br /&gt;# make&lt;br /&gt;&lt;br /&gt;И наконец перезапускаем MTA для применения изменений&lt;br /&gt;&lt;br /&gt;# /etc/init.d/sendmail reload&lt;br /&gt;&lt;br /&gt;Готово. Можно отправлять почту.&lt;br /&gt;&lt;br /&gt;2. Postfix&lt;br /&gt;Postfix обладает всей мощью Sendmail, будучи полностью с ним совместимым, но при этом он гораздо проще в конфигурации. Кроме того, это мой любимый MTA, так что я не мог обойтись без описания его настройки. Итак (все действия производятся от имени root),&lt;br /&gt;&lt;br /&gt;# apt-get install postfix&lt;br /&gt;&lt;br /&gt;Скопируем главный настроечный файл postfix в нужное место (почему-то в Kubuntu он не устанавливается по-умолчанию)&lt;br /&gt;&lt;br /&gt;# cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf&lt;br /&gt;&lt;br /&gt;В конец этого файла добавим несколько строк, чтобы настроить доставку почты через gmail.&lt;br /&gt;&lt;br /&gt;relayhost = smtp.gmail.com:587&lt;br /&gt;smtp_use_tls = yes&lt;br /&gt;smtp_sasl_auth_enable = yes&lt;br /&gt;smtp_sasl_password_maps = hash:/etc/postfix/gmail_passwd&lt;br /&gt;smtp_sasl_security_options = noanonymous&lt;br /&gt;&lt;br /&gt;Теперь создадим указанный нами файл авторизации&lt;br /&gt;&lt;br /&gt;# touch /etc/postfix/gmail_passwd&lt;br /&gt;&lt;br /&gt;и добавим в него наши логин и пароль на gmail (my.name заменяем на логин, а password - на пароль).&lt;br /&gt;&lt;br /&gt;smtp.gmail.com:587 my.name@gmail.com:password&lt;br /&gt;&lt;br /&gt;Преобразуем этот файл в нужный формат (BDB) и для пущей безопасности защитим его от доступа простых смертных.&lt;br /&gt;&lt;br /&gt;# postmap /etc/postfix/gmail_passwd&lt;br /&gt;# chown root:postfix /etc/postfix/gmail_passwd*&lt;br /&gt;# chmod 0640 /etc/postfix/gmail_passwd*&lt;br /&gt;&lt;br /&gt;Перезапускаем Postfix для применения изменений.&lt;br /&gt;&lt;br /&gt;# /etc/init.d/postfix restart&lt;br /&gt;&lt;br /&gt;Настройка закончена. MTA готов к отправке почты через gmail.&lt;br /&gt;&lt;br /&gt;3. Exim&lt;br /&gt;Exim - один из самых популярных (и мощных) MTA. Именно его мне советовала Kubuntu при установке Mutt. Кроме того, exim уже упоминался в этом блоге, так что описание его настройки вполне закономерно. Итак (всё делаем с правами root),&lt;br /&gt;&lt;br /&gt;# apt-get install exim4&lt;br /&gt;&lt;br /&gt;Отредактируем следующие параметры в файле /etc/exim4/update-exim4.conf.conf, чтобы отправлять почту через gmail&lt;br /&gt;&lt;br /&gt;dc_eximconfig_configtype='smarthost'&lt;br /&gt;dc_smarthost='smtp.gmail.com::587'&lt;br /&gt;&lt;br /&gt;В файл авторизации /etc/exim4/passwd.client добавим следующие строки (подставляем свои логин и пароль вместо my.name и password соответственно)&lt;br /&gt;&lt;br /&gt;gmail-smtp.l.google.com:my.name@gmail.com:password&lt;br /&gt;*.google.com:my.name@gmail.com:password&lt;br /&gt;smtp.gmail.com:my.name@gmail.com:password&lt;br /&gt;&lt;br /&gt;Выполним следующую команду для применения новых настроек&lt;br /&gt;&lt;br /&gt;# update-exim4.conf&lt;br /&gt;&lt;br /&gt;На этом настройка завершена. Exim будет отправлять почту через gmail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3225636757330157718?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3225636757330157718/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3225636757330157718' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3225636757330157718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3225636757330157718'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/mta-smtp.html' title='Настройка MTA для работы через внешний SMTP сервер'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8343407301287635968</id><published>2008-05-11T00:45:00.000-07:00</published><updated>2008-05-11T00:46:49.850-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='bacula'/><title type='text'>Использование bacula для mysql баз</title><content type='html'>&lt;a href="http://sozinov.blogspot.com/search/label/bacula"&gt;отсюда&lt;/a&gt;&lt;br /&gt;При использовании Bacula для копирования MySQL баз данных на Bacula-клиенте (там, откуда необходимо копировать mysql-базы) необходимо создать скрипт /usr/loca/bin/mysqlhotcopyall:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;DBLIST="db1 db2 db3 mysql" # здесь необходимо указать имена баз, которые следует копировать&lt;br /&gt;DBDIR=/var/lib/bacula/mysql&lt;br /&gt;UP=" --user=$1 --password=$2"&lt;br /&gt;LOGFILE=/var/log/backup.log&lt;br /&gt;mkdir $DBDIR&lt;br /&gt;for DATABASE in $DBLIST&lt;br /&gt;do&lt;br /&gt; mysqlhotcopy $UP $DATABASE ${DBDIR} --allowold &gt;&gt; ${LOGFILE}&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Также необходимо в MySQL'е создать пользователя bacula, который будет выполнять блокировку и копирование указанных баз на время backup'а. Данному пользователю должны быть предоставлены глобальные привилегии SELECT, RELOAD, LOCK TABLES.&lt;br /&gt;&lt;br /&gt;CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'PASSWORD';&lt;br /&gt;GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO 'bacula'@'localhost' IDENTIFIED BY 'PASSWORD';&lt;br /&gt;&lt;br /&gt;На Bacula Director'е в соответствующий job добавить строки:&lt;br /&gt;&lt;br /&gt;ClientRunBeforeJob = "/usr/local/bin/mysqlhotcopyall bacula PASSWORD"&lt;br /&gt;ClientRunAfterJob = "/bin/rm -rf /var/lib/bacula/mysql"&lt;br /&gt;&lt;br /&gt;Благодаря указанным параметрам перед backup'ом с помощью утилиты mysqlhotcopy указанные базы будут скопированы в каталог /var/lib/bacula/mysql. После backup'а содержимое данного каталога будет очищено.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8343407301287635968?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8343407301287635968/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8343407301287635968' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8343407301287635968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8343407301287635968'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/bacula-mysql.html' title='Использование bacula для mysql баз'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-6776660095419634410</id><published>2008-05-11T00:40:00.000-07:00</published><updated>2008-05-11T00:44:05.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='bacula'/><title type='text'>Bacula - система резервного копирования и восстановления</title><content type='html'>&lt;a href="http://sozinov.blogspot.com/search/label/bacula"&gt;отсюда&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Перед началом установки сервисов необходимо ознакомиться со структурой и функционированием составных частей системы Bacula. В этом может помочь небольшая статья [1] и исчерпывающая документация (более 700 стр.), доступная на официальном сайте. Установка сервисов - это всего лишь начало, впереди стоят более важные задачи по грамотной конфигурации сервисов и тестированию процессов резервирования и восстановления.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;В приведенном описании в качестве Director и Storage сервисов используется FreeBSD 5.4, в качестве клиента (File Daemon) опробованы следующие системы: Debian 3.1 (Bacula 1.36.2), 4.0 (Bacula 1.38.11), FreeBSD 5.4 (Bacula 2.0.1), Slackware 10.1 (Bacula 2.0.2). В качестве рабочей консоли использовался Windows XP SP2 (Bacula 2.0.1).&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Установка Director и Storage сервисов&lt;/h3&gt;&lt;p&gt;1. Установка производится из портов&lt;/p&gt;&lt;pre&gt;# cd /usr/ports/sysutils/bacula-server&lt;br /&gt;# make&lt;br /&gt;[X] MYSQL       Use MySQL database instead of SqLite&lt;br /&gt;[X] NLS         Native Language Support via gettext utilities&lt;br /&gt;[X] OPENSSL     Enable OpenSSL for encrypted communication&lt;br /&gt;...&lt;br /&gt;# make install&lt;/pre&gt;&lt;p&gt;2. Для работы Bacula Director необходима база данных для накопления и оперирования всевозможными данными о собранных резервных копиях. Такая база называется Каталог (Catalog). Таких каталогов может быть несколько, в зависимости от потребностей. Перед запуском, необходимо подготовить хотя бы один Каталог:&lt;/p&gt;&lt;pre&gt;mysql -u &lt;span style="font-weight: bold;"&gt;root &lt;/span&gt;-p&lt;span style="font-weight: bold;"&gt;password&lt;br /&gt;&lt;/span&gt;CREATE DATABASE `&lt;span style="font-weight: bold;"&gt;bacula_db&lt;/span&gt;` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;&lt;br /&gt;GRANT USAGE ON *.* TO '&lt;span style="font-weight: bold;"&gt;baculauser&lt;/span&gt;'@'&lt;span style="font-weight: bold;"&gt;localhost&lt;/span&gt;' IDENTIFIED BY '&lt;span style="font-weight: bold;"&gt;baculauser_password&lt;/span&gt;';&lt;br /&gt;GRANT ALL PRIVILEGES ON `&lt;span style="font-weight: bold;"&gt;bacula_db&lt;/span&gt;`.* TO '&lt;span style="font-weight: bold;"&gt;baculauser&lt;/span&gt;'@'&lt;span style="font-weight: bold;"&gt;localhost&lt;/span&gt;';&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Для заполнения подготовленной базы необходимыми таблицами есть скрипт /usr/local/share/bacula/make_mysql_tables. Единственное, в нем по умолчанию используется база данных с именем bacula. В данном примере используется имя bacula_db, поэтому перед запуском скрипт необходимо внести соответствующую поправку.&lt;/p&gt;&lt;pre&gt;# /usr/local/share/bacula/make_mysql_tables -u &lt;span style="font-weight: bold;"&gt;baculauser&lt;/span&gt; -p&lt;span style="font-weight: bold;"&gt;baculauser_password&lt;br /&gt;&lt;/span&gt;Creation of Bacula MySQL tables succeeded.&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Перед запуском сервисов необходимо создать конфигурационные файлы на основе доступных шаблонов и сконфигурировать их в соответствии с желаемой конфигурацией.&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;# cd /usr/local/etc&lt;br /&gt;# cp bacula-dir.conf.sample bacula-dir.conf&lt;br /&gt;# cp bacula-sd.conf.sample bacula-sd.conf&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Для автоматического запуска Director и Storage сервисов при загрузке сервера в &lt;span style="font-style: italic;"&gt;/etc/rc.conf&lt;/span&gt; добавить строчки&lt;/p&gt;&lt;pre&gt;bacula_dir_enable="YES"&lt;br /&gt;bacula_sd_enable="YES"&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Документацию и клиент-сервис (file daemon) можно установить отдельно&lt;/p&gt;&lt;pre&gt;# cd /usr/ports/sysutils/bacula-docs&lt;br /&gt;# make &amp;amp;&amp;amp; make install&lt;br /&gt;# cd /usr/ports/sysutils/bacula-client&lt;br /&gt;# make &amp;amp;&amp;amp; make install&lt;br /&gt;&lt;/pre&gt;Запуск сервисов&lt;br /&gt;&lt;pre&gt;# /usr/local/etc/rc.d/bacula-dir.sh start&lt;br /&gt;# /usr/local/etc/rc.d/bacula-sd.sh start&lt;br /&gt;&lt;/pre&gt;&lt;h3&gt;Установка клиента (File Daemon)&lt;br /&gt;&lt;/h3&gt;&lt;pre&gt;# &lt;span style="font-weight: bold;"&gt;apt-get install bacula-fd&lt;/span&gt;&lt;br /&gt;Reading package lists... Done&lt;br /&gt;Building dependency tree... Done&lt;br /&gt;The following extra packages will be installed:&lt;br /&gt;bacula-common&lt;br /&gt;Suggested packages:&lt;br /&gt;bacula-doc bacula-traymonitor&lt;br /&gt;The following NEW packages will be installed&lt;br /&gt;bacula-common bacula-fd&lt;br /&gt;0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;Need to get 528kB of archives.&lt;br /&gt;After unpacking 1167kB of additional disk space will be used.&lt;br /&gt;Do you want to continue [Y/n]? &lt;span style="font-weight: bold;"&gt;y&lt;/span&gt;&lt;br /&gt;Get: 1 http://ftp.at.debian.org etch/main bacula-common 1.38.11-7 [348kB]&lt;br /&gt;Get: 2 http://ftp.at.debian.org etch/main bacula-fd 1.38.11-7 [180kB]&lt;br /&gt;Fetched 528kB in 2s (264kB/s)&lt;br /&gt;Selecting previously deselected package bacula-common.&lt;br /&gt;(Reading database ... 44221 files and directories currently installed.)&lt;br /&gt;Unpacking bacula-common (from .../bacula-common_1.38.11-7_all.deb) ...&lt;br /&gt;Adding user 'bacula'... Ok.&lt;br /&gt;Selecting previously deselected package bacula-fd.&lt;br /&gt;Unpacking bacula-fd (from .../bacula-fd_1.38.11-7_i386.deb) ...&lt;br /&gt;Setting up bacula-common (1.38.11-7) ...&lt;br /&gt;&lt;br /&gt;Setting up bacula-fd (1.38.11-7) ...&lt;br /&gt;Starting Bacula File daemon: bacula-fd.&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;В конфигурационном файле &lt;span style="font-style: italic;font-family:Times New Roman,Times,serif;" &gt;/etc/bacula/hostname-fd.conf&lt;/span&gt; поправить описание Director (имя, адрес, пароль), закомментировать второй Director (с опцией Monitor), в описании Messages поправить имя используемого director'а. Перезапустить fd-сервис с новыми параметрами:&lt;/p&gt;&lt;pre&gt;# /etc/init.d/bacula-fd restart&lt;br /&gt;Restarting Bacula File daemon: bacula-fd.&lt;br /&gt;&lt;/pre&gt;&lt;h3&gt;Установка клиента из исходников (sources)&lt;/h3&gt;&lt;pre&gt;# tar zxf bacula-2.0.x.tar.gz&lt;br /&gt;# cd bacula-2.0.x&lt;br /&gt;./configure --with-mysql --with-openssl --enable-client-only --localstatedir=/var --sysconfdir=/etc \&lt;br /&gt;--with-job-email=roma@mycompany.com --with-dump-email=roma@mycompany.com&lt;br /&gt;# make&lt;br /&gt;# make install&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;В конфигурационном файле &lt;span style="font-style: italic;"&gt;/etc/bacula/bacula-fd.conf&lt;/span&gt; поправить описание Director (имя, адрес, пароль), закомментировать второй Director (с опцией Monitor), в описании Messages поправить имя используемого director'а. Скрипт управления bacula-сервисами - &lt;span style="font-style: italic;"&gt;/etc/bacula/bacula&lt;/span&gt;, его необходимо переложить, в соответствии с Вашей системой, в папку с другими скриптами и проделать необходимые манипуляции для автоматического запуска fd-сервиса в момент загрузки системы. Запустить fd-сервис с новыми параметрами:&lt;/p&gt;&lt;pre&gt;# /etc/bacula/bacula start&lt;br /&gt;Starting the Bacula File daemon&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Ссылки:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.freebsddiary.org/bacula.php" target="_self"&gt;Bacula: Cross-Platform Client-Server Backups&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.bacula.org/?page=documentation" target="_self"&gt;Bacula, the Network Backup Tool for Linux, Unix, Mac and Windows&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.opennet.ru/prog/info/1977.shtml" target="_self"&gt;Перевод документации от Bacula v.1.38 на русский язык&lt;/a&gt; (частично)&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-6776660095419634410?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/6776660095419634410/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=6776660095419634410' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6776660095419634410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/6776660095419634410'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/bacula.html' title='Bacula - система резервного копирования и восстановления'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-4834633703816023203</id><published>2008-05-05T10:55:00.000-07:00</published><updated>2008-05-05T11:53:22.263-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xl2tpd'/><category scheme='http://www.blogger.com/atom/ns#' term='corbina'/><category scheme='http://www.blogger.com/atom/ns#' term='vpn'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='l2tp'/><title type='text'>Настройка VPN по L2TP в Ubuntu 8.04 Hardy Heron</title><content type='html'>&lt;div class="content"&gt;&lt;a href="http://www.solargate.ru/nastroika-vpn-po-l2tp-v-ubuntu-8-04"&gt;отсюда&lt;/a&gt;&lt;br /&gt;   &lt;p&gt;Исторически сложилось, что многие российские провайдеры предоставляют подключение к интернет через VPN-соединение. Соответственно, пользователям Linux для этого приходится настраивать подключение по PPTP. Относительно недавно у некоторых провайдеров появилась возможность подключения по протоколу L2TP. Не вдаваясь в технические подробности, скажу, что для пользователей Linux теперь появилась возможность кардинально улучшить свое интернет-соединение. Забегая вперед, замечу, что результат превзошел все мои ожидания.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Такая возможность появилась с поддержкой OpenL2TP в последних ядрах Linux. В этой заметке пойдет речь о настройке L2TP-соединения в Ubuntu Linux на примере провайдера Corbina Telecom. Для других провайдеров, думаю, настройка будет не сильно отличаться. Выражаю огромную благодарность &lt;a href="http://sdvn.livejournal.com/"&gt;sdvn&lt;/a&gt;, написавшему очень толковую инструкцию по настройке.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Настройка L2TP-соединения&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;1. Вначале необходимо установить пакет xl2tp. В репозиториях Ubuntu 8.04 он уже есть.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;$ sudo apt-get install xl2tp&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;2. Редактируем файл /etc/xl2tpd/xl2tpd.conf:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;$ sudo gedit /etc/xl2tpd/xl2tpd.conf&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Необходимо прописать в него следующее:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="geshifilter text"&gt;[global]&lt;br /&gt;access control = yes&lt;br /&gt;[lac corbina]&lt;br /&gt;lns = l2tp.corbina.net&lt;br /&gt;redial = yes&lt;br /&gt;redial timeout = 1&lt;br /&gt;require chap = yes&lt;br /&gt;require authentication = no&lt;br /&gt;name = &amp;lt;corbina-user-name-without-brackets&amp;gt;&lt;br /&gt;ppp debug = yes&lt;br /&gt;pppoptfile = /etc/ppp/options.xl2tpd&lt;br /&gt;require pap = no&lt;br /&gt;autodial = yes&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;где &lt;code class="geshifilter text"&gt;&amp;lt;corbina-user-name-without-brackets&amp;gt;&lt;/code&gt; - ваше имя пользователя в Corbina.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;3. Редактируем /etc/ppp/options.xl2tpd:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;$ sudo gedit /etc/ppp/options.xl2tpd&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Прописываем в него:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="geshifilter text"&gt;unit 0&lt;br /&gt;name &amp;lt;corbina-user-name-without-brackets&amp;gt;&lt;br /&gt;remotename l2tp&lt;br /&gt;ipparam corbina&lt;br /&gt;connect /bin/true&lt;br /&gt;mru 1460&lt;br /&gt;mtu 1460&lt;br /&gt;nodeflate&lt;br /&gt;nobsdcomp&lt;br /&gt;persist&lt;br /&gt;maxfail 0&lt;br /&gt;nopcomp&lt;br /&gt;noaccomp&lt;br /&gt;defaultroute&lt;br /&gt;replacedefaultroute&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;4. В /etc/ppp/chap-secrets добавляем строку (если ее еще там нет):&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;code class="geshifilter text"&gt;&amp;lt;corbina-user-name-without-brackets&amp;gt; * &amp;lt;corbina-password-without-brackets&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;5. Вносим изменения в /etc/init.d/xl2tpd:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;$ sudo gedit /etc/init.d/xl2tpd&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Необходимо поменять секцию start следующим образом:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="geshifilter text"&gt;start)&lt;br /&gt;     if !([ -f /var/run/xl2tpd/l2tp-control ]) ; then&lt;br /&gt;             mkdir -p /var/run/xl2tpd&lt;br /&gt;             touch /var/run/xl2tpd/l2tp-control&lt;br /&gt;     fi&lt;br /&gt;     echo -n "Starting $DESC: "&lt;br /&gt;     start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \&lt;br /&gt;              --exec $DAEMON -- $DAEMON_OPTS&lt;br /&gt;     echo "$NAME."&lt;br /&gt;     route add -host &amp;lt;host l2tp.corbina.ru&amp;gt; gw &amp;lt;default-gw&amp;gt;&lt;br /&gt;&lt;br /&gt;     route add -host &amp;lt;dns-server-1&amp;gt; gw &amp;lt;default-gw&amp;gt;&lt;br /&gt;     route add -host &amp;lt;dns-server-2&amp;gt; gw &amp;lt;default-gw&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Здесь &lt;host ru=""&gt; (L2TP-сервер провайдера), &lt;dns-server-1&gt; (первый DNS-сервер), &lt;dns-server-2&gt; (второй DNS-сервер), &lt;default-gw&gt; (шлюз по умолчанию) определяются для каждого случая свои. Для их определения можно воспользоваться командами:&lt;/default-gw&gt;&lt;/dns-server-2&gt;&lt;/dns-server-1&gt;&lt;/host&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;$ host l2tp.corbina.ru&lt;br /&gt;$ cat /etc/resolv.conf&lt;br /&gt;$ route -n&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;Или уточнить их в службе технической поддержки провайдера. Очень важно, чтобы маршруты были прописаны правильно.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;6. Прописываем в /etc/network/interfaces свои настройки сети для карточки:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="geshifilter text"&gt;auto lo eth0&lt;br /&gt;iface lo inet loopback&lt;br /&gt;address 127.0.0.1&lt;br /&gt;netmask 255.0.0.0&lt;br /&gt;iface eth0 inet dhcp&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;7. Удаляем network-manager из системы, чтобы не мешал работать стандартной дебиановской сетевой системе и позволил проинициализировать eth0 до того, как будет подниматься ppp0 через xl2tpd:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;$ sudo aptitude remove network-manager&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;8. Теперь можно перезагрузиться и посмотреть на результат. Если все нормально, то по команде ifconfig мы получим три интерфейса - lo, eth0 и ppp0. Что и требовалось.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;9. В случае, если необходимо расшарить интернет на другие машины, можно в /etc/init.d/xl2tpd в секцию start после route -add добавить строчки:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;pre class="geshifilter text"&gt;echo 1 &amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;iptables -F&lt;br /&gt;iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE&lt;br /&gt;iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Возможные проблемы&lt;/h2&gt;&lt;br /&gt;&lt;p&gt;В случае неправильных настроек может наблюдаться следующая проблема: соединение устанавливается, но через минуту-две обрывается либо без каких-либо сообщений, либо с сообщением в /var/log/messages:&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;No response to 4 echo-requests&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;В таком случае можно попытаться сделать следующее:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Убедиться, что network-manager удален из системы. Кроме того, убедиться, что нет еще каких-либо факторов, мешающих стандартной дебиановской сетевой системе. Таковым может являться firestarter или некорректные настройки dnsmasq или ipmasq.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Убедиться, что указан верный маршрут к L2Tp-серверу провайдера. В случае чего уточнить его в службе технической поддержки.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Если же интерфейс ppp0 успешно поднимается и не обрывается, но сайты не открываются, то проблема скорее всего в DNS-серверах. Нужно указать их правильные адреса в маршрутах.&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;Результаты&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;В моем случае результаты оказались следующими.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;При работе через PPTP:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://www.solargate.ru/system/files/u2/066_1_l2tp.png" alt="" width="302" height="138" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;p&gt;При работе через L2TP:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;center&gt;&lt;img src="http://www.solargate.ru/system/files/u2/066_2_l2tp.png" alt="" width="302" height="137" /&gt;&lt;/center&gt;&lt;br /&gt;&lt;p&gt;Результат потрясающий и говорит сам за себя.&lt;/p&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-4834633703816023203?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/4834633703816023203/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=4834633703816023203' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4834633703816023203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/4834633703816023203'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/vpn-l2tp-ubuntu-804-hardy-heron.html' title='Настройка VPN по L2TP в Ubuntu 8.04 Hardy Heron'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1627249828446185244</id><published>2008-05-04T22:16:00.000-07:00</published><updated>2008-05-19T14:22:56.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='tor'/><category scheme='http://www.blogger.com/atom/ns#' term='privoxy'/><title type='text'>how-to Анонимный серфинг</title><content type='html'>&lt;a href="http://habrahabr.ru/blog/ubuntu/29317.html"&gt;взято отсюда&lt;/a&gt;&lt;br /&gt;Когда я первый раз столкнулся с проблемой анонимного серфинга, то максимум, что смог вспомнить, это анонимные прокси серверы. Но немного покопавшись в сети выяснил, что на самом деле всё намного проще, чем возня c ненадежными, во всех смыслах, сервисами, и что хорошие люди не только придумали, но уже давно сделали отличную "луковую" штуку — &lt;a href="http://www.torproject.org/"&gt;Tor&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Как поставить Tor в "горячо любимой" операционке можно &lt;a href="http://www.torproject.org/docs/tor-doc-win32.html.ru"&gt;прочитать&lt;/a&gt; на указанном выше сайте, а я расскажу, как настроить Tor в Ubuntu, чтобы было удобно, красиво и правильно. &lt;a name="habracut"&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Итак, для начала нужно установить Tor и Privoxy (оно нам пригодится):&lt;br /&gt;&lt;blockquote&gt;$ sudo apt-get install tor privoxy&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Затем нужно рассказать Privoxy, что оно не одиноко, и можно пользоваться Tor'ом. Для этого в конфиге правим:&lt;br /&gt;&lt;blockquote&gt;$ sudo nano /etc/privoxy/config&lt;br /&gt;&lt;pre style="margin-top: 0pt; display: inline;"&gt;forward-socks4a / localhost:9050 .&lt;br /&gt;confdir /etc/privoxy&lt;br /&gt;#logfile logfile&lt;br /&gt;#jarfile jarfile&lt;br /&gt;listen-address  127.0.0.1:8118&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;не забываем  точку&lt;br /&gt;Перезапускаем Privoxy:&lt;br /&gt;&lt;blockquote&gt;$ sudo /etc/init.d/privoxy restart&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Осталось сделать две важные вещи — настроить FireFox, чтобы было удобно, и проверить как всё работает.&lt;br /&gt;&lt;br /&gt;Для ОгнеЛиса есть крошечный плагин &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/2275"&gt;Torbutton&lt;/a&gt;, который устанавливается и работает очень просто. Одна подсказка — используйте "Use Privoxy" в Preferences. И не забудьте перезапустить браузер.&lt;br /&gt;&lt;br /&gt;И наконец последний, самый важный, шаг — проверка.&lt;br /&gt;Для этого включаем в FireFox (нажатием на луковицу в правом нижнем углу окна) анонимность, и идём на &lt;a href="http://torcheck.xenobite.eu/"&gt;TorCheck&lt;/a&gt;, где, если всё было сделано правильно, должно появится что-то вот такое:&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Your IP is identified to be a Tor-EXIT.&lt;br /&gt;So you are using Tor successfully to reach the web!&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;На всякий случай цитата с сайта — &lt;i&gt;И помните что это развивающийся код - не лучшая идея полностью полагаться на сеть Tor, если вам нужна гарантированная анонимность.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1627249828446185244?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1627249828446185244/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1627249828446185244' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1627249828446185244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1627249828446185244'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/05/blog-post.html' title='how-to Анонимный серфинг'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-1568041940087545931</id><published>2008-04-29T10:56:00.000-07:00</published><updated>2008-04-29T10:57:46.513-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DVB-S'/><title type='text'>Трансляция спутникового канала в локальную сеть</title><content type='html'>Полтора месяца назад настроил трансляцию спутникового канала Вести в локальную сеть.&lt;br /&gt;&lt;div class="post-body entry-content"&gt;&lt;p&gt;&lt;br /&gt;В связи с реорганизацией парка серверов пришлось переносить DVB-S карты и весь софт на другую машину.&lt;br /&gt;&lt;br /&gt;Железо перекинуть не проблема (только не забывайте выключать оборудование перед отключением антенного фидера), а вот вспомнить что и как настроить в софте, оказалось проблематично.&lt;br /&gt;&lt;br /&gt;Решил теперь все такие настройки организовывать в мануалы и оставлять на блоге - и себе и другим :)&lt;br /&gt;&lt;br /&gt;Приступим.&lt;br /&gt;&lt;br /&gt;Многое взято из статьи http://omsk.lug.ru/SatTVLinux&lt;br /&gt;&lt;br /&gt;Однако в моей ситуации все сразу не получилось.&lt;br /&gt;&lt;br /&gt;1. Ищем информацию по нашему спутнику.&lt;br /&gt;Мне помог http://www.lyngsat.com&lt;br /&gt;Спутник HotBird.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Составляем список каналов и записываем в /etc/channels.conf&lt;br /&gt;У меня пока только:&lt;br /&gt;&lt;code&gt;Vesti:11034:v:0:27500:1020:1030:1710&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;3. Проверяем наличие сигнала:&lt;br /&gt;&lt;code&gt;#szap -c /etc/channels.conf -x -n 1 -a 2&lt;/code&gt;&lt;br /&gt;-a определяет номер адаптера, у меня в машине их 3, выбираю третий.&lt;br /&gt;&lt;br /&gt;4. Транслируем каналы мультикастом:&lt;br /&gt;Много экспериментировал с трансляцией всего транспондера, но так и не получилось.&lt;br /&gt;&lt;code&gt;#/usr/local/bin/dvbstream -c 2 -i 224.1.2.10 -r 1234 -f 11034 -p V -s 27500 -ps -v 1020 -a 1030&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Вот тут я погряз надолго. Стример запускался, но тут же завершал свою работу.&lt;br /&gt;Чего я только не делал и ядро скачал самое новое, и потом откатывался обратно, но все так и не получалось...&lt;br /&gt;&lt;br /&gt;Решение пришло неожиданно.&lt;br /&gt;Оказалось что у машины нет DNS-записи типа А! - вот из-за чего падал dvbstream!!!&lt;br /&gt;&lt;br /&gt;[Дополнение]&lt;br /&gt;Необходимость в DNS-записи типа А была вызвана только тем, что в /etc/hosts небыло записи с настоящим именем машины. После добавления/изменения записи в данном файле необходимость в DNS вообще отпадает.&lt;br /&gt;&lt;br /&gt;Так что, господа, незабываем сделать запись или лезем в исходники и фиксим...&lt;br /&gt;&lt;br /&gt;На этот момент трансляция настроена и наша машина выплевывает в сеть видео-поток.&lt;br /&gt;Если не предпринять дополнительных мер, то трафик будет распространятся по всей локальной сети постоянно и нагружать все компьютеры сети.&lt;br /&gt;&lt;br /&gt;В нашей сети используются интелектуальные коммутаторы hp 2824 и hp 2510-24.&lt;br /&gt;Эти коммутаторы имеют возможности контроллирования распространения multicast-трафика - &lt;a href="http://ru.wikipedia.org/wiki/IGMP"&gt;IGMP&lt;/a&gt; .&lt;br /&gt;&lt;br /&gt;Описание этого процесса достойно отдельной статьи, либо прочтения руководства по настройке коммутатора ;)&lt;/p&gt;  &lt;/div&gt;  &lt;span class="post-author vcard"&gt; &lt;a href="http://nethuman.blogspot.com/"&gt;Автор &lt;span class="fn"&gt;GByte&lt;/span&gt; &lt;/a&gt;&lt;/span&gt;&lt;span class="post-timestamp"&gt;&lt;/span&gt;&lt;span class="post-comment-link"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-1568041940087545931?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/1568041940087545931/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=1568041940087545931' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1568041940087545931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/1568041940087545931'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/blog-post_29.html' title='Трансляция спутникового канала в локальную сеть'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2355688273069771670</id><published>2008-04-29T10:48:00.000-07:00</published><updated>2008-04-29T10:50:09.310-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><title type='text'>С чего начинать оптимизацию MySQL?</title><content type='html'>&lt;h1&gt;&lt;br /&gt;&lt;/h1&gt; &lt;div class="right twink"&gt;10 апреля 2008, 23:27&lt;/div&gt; &lt;div class="left"&gt;   Автор: &lt;a href="http://webew.ru/users/33.webew" class="author"&gt;Григорий Рубцов [rgbeast]&lt;/a&gt;   &lt;/div&gt; &lt;div class="text"&gt;  &lt;div style="padding-left: 300px;"&gt; Кролик надел очки.&lt;br /&gt;— С чего начинать, Ваше Величество? — спросил он.&lt;br /&gt;— Начни с начала,  — важно ответил Король, — продолжай, пока не дойдешь до конца. &lt;/div&gt; &lt;div align="right"&gt; Льюис Кэрролл. Приключения Алисы в стране чудес. &lt;/div&gt;  &lt;p&gt;Эта статья для тех, кто впервые столкнулся с необходимостью оптимизировать производительность MySQL. Статья описывает основные подходы, применяемые сегодня для решения данной задачи в масштабах одного сервера.&lt;/p&gt;  &lt;h2&gt;Нужна ли оптимизация MySQL?&lt;/h2&gt; &lt;p&gt;Итак, вы столкнулись с падением производительности веб-приложения, использующего MySQL. Приложение периодически недоступно, загрузка страниц вашего сайта происходит слишком долго или периодически выдается ошибка "Too many connections". Перед тем, как приступать к оптимизации MySQL, следует проверить следующее:&lt;/p&gt;&lt;ul&gt;&lt;li&gt; Наличие свободного места на диске в рамках дисковой квоты.&lt;/li&gt;&lt;li&gt; Отсутствие зацикливания в веб-приложении.&lt;/li&gt;&lt;li&gt; Время отклика вашего web-сервера (ping).&lt;/li&gt;&lt;li&gt; В случае виртуального хостинга, отсутсвие внешних замедляющих факторов (один из способов это проверить — остановить приложение и выполнить простейший запрос &lt;span class="sql" style="font-family: monospace;"&gt;&lt;span class="kw1"&gt;SELECT&lt;/span&gt; &lt;span class="nu0"&gt;2&lt;/span&gt;&lt;span class="nu0"&gt;+2&lt;/span&gt;;&lt;/span&gt; в консоли mysql на сервере. Такой запрос должен выполниться за несколько сотых секунды).&lt;/li&gt;&lt;li&gt; Отсутствие задержки при подключении к mysql-серверу с сервера веб-приложения. Если такая задержка присутствует, это может быть связано с неправильной работой системы доменных имен (DNS).&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;Выполнение описанных выше проверок не гарантирует, что проблемы производительности связаны именно с MySQL, но позволит во многих случаях найти стороннюю причину падения производительности.&lt;/p&gt;  &lt;h2&gt;Путь оптимизации&lt;/h2&gt; &lt;p&gt;Предостережение, высказанное Дональдом Кнутом: «Преждевременная оптимизация - корень всех зол» справедливо и для MySQL. Нельзя начинать оптимизацию не выявив узкие места. Если вы создаете приложение, которое должно выдерживать в будущем большую нагрузку, то для нахождения узких мест потребуется создать искусственную нагрузку, аналогичную ожидаемой.&lt;/p&gt; &lt;p&gt;Перечислим различные методы оптимизации в одном из возможных порядков их применения: &lt;/p&gt;&lt;ol&gt;&lt;li&gt; Анализ медленных запросов к базе данных. На этой стадии анализируется журнал медленных запросов (slow query log) и текущий поток запросов к базе (увидеть выполняемые в настоящий момент запросы к базе можно, выполнив команду &lt;span class="mysql" style="font-family: monospace;"&gt;&lt;span class="kw1"&gt;SHOW FULL PROCESSLIST&lt;/span&gt;&lt;/span&gt; в консоли MySQL).&lt;/li&gt;&lt;li&gt;Добавление ключевых полей, оптимизация запросов, оптимизация типов колонок, выбор оптимального механизма хранения (storage engine). На этой ступени устраняются наиболее распространенные причины медленности запросов - отсутствие ключей, неоптимальный выбор типа колонки и неоптимальная форма запроса.&lt;/li&gt;&lt;li&gt;Переход на виртуальный выделенный сервер (VDS) или на выделенный физический сервер (если это еще не сделано). Время разработчика дорого, поэтому переход на более производительный сервер часто оптимальное решение (бывает, без этого и не обойтись). Кроме того, без прав суперпользователя невозможна оптимизация конфигурации MySQL, а на VDS невозможно гарантировать стабильную производительность, так как приложения других пользователей VDS могут блокировать доступ к диску.&lt;/li&gt;&lt;li&gt;Оптимизация конфигурации MySQL и параметров операционной системы. На этой стадии настраиваются кэши и буферы MySQL, исходя из потребности приложений. Настраиваются другие параметры MySQL и некоторые параметры операционной системы. См. также статью &lt;a href="http://webew.ru/articles/184.webew"&gt;«Использование кэшей индексов»&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Оптимизация структуры базы данных. На этой стадии производится необходимая нормализация или денормализация базы данных. Стадия наиболее трудоемкая в силу того, что изменение структуры данных может потребовать внесения значительных изменений в код приложений, использующих базу данных. К этому методу обычно прибегают на стадии проектирования приложения или если все, описанные выше методы, не дали результата.&lt;/li&gt;&lt;/ol&gt;  &lt;h2&gt;Серебряной пули нет&lt;/h2&gt; &lt;p&gt;Не существует одного метода, который быстро решил бы все проблемы производительности. Приведенный перечень методов не претендует на полноту, оптимизация производительности СУБД в каждом случае требует индивидуального анализа. Содержание каждого из названных методов постараемся осветить в будущих статьях. С чего начинать оптимизацию? Начните с узких мест и продолжайте, пока будет оставаться хотя бы одно узкое место.&lt;/p&gt;    &lt;div class="copynote"&gt;  &lt;br /&gt;     &lt;a href="http://webew.ru/articles/275.webew"&gt;© Все права на данную статью принадлежат порталу webew.ru. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.  &lt;/a&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2355688273069771670?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2355688273069771670/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2355688273069771670' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2355688273069771670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2355688273069771670'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/mysql.html' title='С чего начинать оптимизацию MySQL?'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7725983494976526345</id><published>2008-04-19T07:40:00.000-07:00</published><updated>2008-05-28T22:03:01.708-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='DHCP'/><category scheme='http://www.blogger.com/atom/ns#' term='transparent proxy'/><category scheme='http://www.blogger.com/atom/ns#' term='squid'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='dnsmasq'/><title type='text'>Простой DHCP-сервер + прозрачный прокси на Squid</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Для начала опишу ситуацию, почему я установил у себя на компьютере связку dhcp-сервера и прозрачного прокси на squid. Все дело в том, что мне частенько приходится дома работать с несколькими компьютерами одновременно (что-нить настроить и т.п.), но постоянно каждому компьютеру прописывать ручками ip, а так же прописывать настройки прокси очень не удобно, можешь забыть, что ты уже использовал какой-то ip - поэтому и получаешь конфликты ip-адресов.&lt;span class="fullpost"&gt;&lt;br /&gt;Хочу сразу предупредить, что описал лишь только те параметры конфигурационных файлов, которые необходимы для простой работы dhcp-сервера и прокси Squid. Так как этих параметров уйма, предлагаю вам самим с ними поразбираться, а не упрекать меня в том, что я что-то не описал.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(0, 0, 153);"&gt;Установка DHCP-сервера&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Устанавливаем &lt;b&gt;dnsmasq&lt;/b&gt;&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo apt-get install &lt;a href="apt:dnsmasq"&gt;dnsmasq&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. Редактируем файл /etc/dnsmasq.conf&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo nano /etc/dnsmasq.conf&lt;/div&gt;&lt;br /&gt;3. Ищем закомментированную строку (что то вроде этого):&lt;br /&gt;&lt;div class="textblock"&gt;#interface=eth0&lt;/div&gt;и раскомментируем ее&lt;br /&gt;&lt;div class="textblock"&gt;interface=eth0&lt;/div&gt;при этом не забываем поменять название сетевой карты - &lt;b&gt;eth0&lt;/b&gt; на название вашей сетевой карты, к которой будут конектиться другие компьютеры из вашей сети.&lt;br /&gt;4. Дальше, в этом же файле, раскомментируем или добавляем свою строку: &lt;b&gt;dhcp-range=&lt;/b&gt; . К примеру, вот как она выглядит у меня:&lt;br /&gt;&lt;div class="textblock"&gt;dhcp-range=192.168.0.2,192.168.0.15,12h&lt;/div&gt;данная запись означает, что всем компьютерам подключающимся к моей сети, будут автоматически выдаваться ip-адреса, c 192.168.0.2 по 192.168.0.15. И аренда этих адресов будет составлять 12 часов.&lt;br /&gt;5. Перезапускаем сервис dnsmasq:&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo /etc/init.d/dnsmasq restart&lt;/div&gt;&lt;br /&gt;6. Подключаем в сеть какой-нить компьютер, при этом не забываем поставить ему в сетевых настройках, получение ip-адреса автоматически. Если все верно - то компьютеру присвоится ip-адрес из заданного нами в настройках диапазона.&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(0, 0, 153);"&gt;Установка прозрачного прокси.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Устанавливаем &lt;b&gt;squid&lt;/b&gt; (и если потребуется, другие нужные пакеты, которые он запросит автоматически):&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo apt-get install &lt;a href="apt:squid"&gt;squid&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2. Редактируем файл настроек squid:&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo nano /etc/squid/squid.conf&lt;/div&gt;&lt;br /&gt;3. Ищем параметр &lt;b&gt;http_port&lt;/b&gt; , и выставляем ему следующее значение (к примеру, как у меня):&lt;br /&gt;&lt;div class="textblock"&gt;http_port 3128 transparent&lt;/div&gt;ключевое слово здесь - это transparent, в результате его мы и получим "прозрачный" прокси. А 3128 - это порт для протокола http.&lt;br /&gt;4. В этом же файле ищем параметр &lt;b&gt;visible_hostname&lt;/b&gt; и выставляем ему следующее значение:&lt;br /&gt;&lt;div class="textblock"&gt;visible_hostname (название прокси)&lt;/div&gt;где (название прокси) - можете заменить на любое слово или словосочетание. Если вы не заполните данный параметр - squid будет очень сильно ругаться ))&lt;br /&gt;5. Ищем дальше. Теперь ищем параметр &lt;b&gt;acl our_networks&lt;/b&gt; заменяем его на такие строки (вот как к примеру у меня):&lt;br /&gt;&lt;div class="textblock"&gt;acl our_networks src 192.168.0.0/255.255.0.0&lt;br /&gt;http_access allow our_networks&lt;/div&gt;&lt;br /&gt;Данными строками мы разрешили доступ к прокси для компьютеров из нашей сети 192.168.0.0&lt;br /&gt; Проверяем настройки сквида&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;blockquote&gt;cat /etc/squid/squid.conf | sed '/ *#/d; /^ *$/d'&lt;/blockquote&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;6. Перезапускаем сервис squid:&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo /etc/init.d/squid restart&lt;/div&gt;&lt;br /&gt;7. Ну и наконец-то завершающий аккорд. Добавим правило перенаправления портов в наш файервол.&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128&lt;/div&gt;&lt;br /&gt;8. Теперь компьютеры в вашей сети смогут выходить в интернет через ваш "прозрачный" прокси, при этом нам нигде не надо прописывать настройки прокси вручную !! Все работает автоматом.&lt;br /&gt;&lt;br /&gt;P.S. Чтобы снова, при каждом включении компьютера, не запускать по новой правило для файервола, проделываем следующее:&lt;br /&gt;1. Запускаем правило для файервола:&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo iptables -t nat -A PREROUTING -i eth0 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128&lt;/div&gt;&lt;br /&gt;2. Сохраняем список всех правил файервола в файл:&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;iptables-save /etc/iptables.rules&lt;/div&gt;&lt;br /&gt;3. Редактируем файл &lt;b&gt;/etc/network/interfaces&lt;/b&gt;&lt;br /&gt;&lt;div class="abzac"&gt;$&lt;/div&gt;&lt;div class="code"&gt;sudo nano /etc/network/interfaces&lt;/div&gt;&lt;br /&gt;и после блока про сетевую карту eth0 (к примеру, у меня так), вставляем строку&lt;br /&gt;&lt;div class="textblock"&gt;pre-up iptables-restore &amp;lt; /etc/iptables.rules&lt;/div&gt;&lt;br /&gt;Вот собственно и все ))&lt;/span&gt;&lt;/div&gt;    &lt;div class="post-footer"&gt; &lt;p class="post-footer-line post-footer-line-1"&gt; &lt;span class="post-author vcard"&gt; Автор &lt;span class="fn"&gt;Leolik&lt;/span&gt; &lt;/span&gt; &lt;span class="post-timestamp"&gt; на &lt;a class="timestamp-link" href="http://leolik.blogspot.com/2008/04/dhcp-squid_19.html" rel="bookmark" title="permanent link"&gt;&lt;abbr class="published" title="2008-04-19T16:39:00+03:00"&gt;16:39&lt;/abbr&gt;&lt;/a&gt; &lt;/span&gt;&lt;span class="post-comment-link"&gt;&lt;/span&gt;&lt;span class="post-backlinks post-comment-link"&gt;&lt;/span&gt;&lt;span class="post-icons"&gt;&lt;span class="item-control blog-admin pid-646017274"&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=9218184947724383901&amp;amp;postID=8586159263027466421" title="Изменить сообщение"&gt; &lt;/a&gt; &lt;/span&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class="post-footer-line post-footer-line-2"&gt; &lt;span class="post-labels"&gt; &lt;/span&gt; &lt;/p&gt;  &lt;/div&gt;   &lt;a name="comments"&gt;&lt;/a&gt; &lt;h4&gt;&lt;br /&gt;&lt;/h4&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7725983494976526345?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7725983494976526345/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7725983494976526345' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7725983494976526345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7725983494976526345'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/dhcp-squid.html' title='Простой DHCP-сервер + прозрачный прокси на Squid'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3999816373662055632</id><published>2008-04-14T03:22:00.001-07:00</published><updated>2008-04-14T03:22:56.640-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Массовый хостинг с помощью mod_vhost_alias</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td&gt;&lt;a name="id=3464"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;&lt;b&gt;Автор: Голышев С.В. (glsv)&lt;br /&gt;e-mail:  &lt;a href="mailto:glsv@yandex.ru"&gt;glsv@yandex.ru&lt;/a&gt; &lt;/b&gt;&lt;/p&gt;      &lt;a name="id=3465"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;&lt;i&gt;В статье описывается работа с модулем Apache mod_vhost_alias. Данный модуль предназначен для уменьшения трудоемкости создания и поддержки большого количества виртуальных хостов на сервере Apache. Модуль организует динамическое создание виртуальных хостов на основе запрошенного доменного имени и не требует внесения изменений в конфигурационные файлы сервера при создании новых виртуальных хостов.&lt;/i&gt;&lt;/p&gt;      &lt;a name="id=3439"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;При большом числе виртуальных хостов (десятки и сотни) время запуска и перезагрузки веб-сервера занимает значительное время, в течение которого он недоступен посетителям. Такая ситуация является критической для хост-провайдеров и серверов на которых расположены популярные сайты. Уменьшить время запуска сервера и упростить работу c большим количеством виртуальных хостов может модуль Apache с названием mod_vhost_alias. &lt;/p&gt;      &lt;a name="id=3440"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Данный модуль позволяет не создавать отдельный контейнер &lt;virtualhost&gt; для каждого виртуального хоста, а динамически формирует пути к директориям сайтов на основе запрошенных доменных имен или IP-адресов. Для создания сотен виртуальных хостов модуль mod_vhost_alias использует всего 4 директивы, с помощью которых определяются правила формирования путей к директориям сайтов. 2 из них предназначены для работы с виртуальными хостами на основе имен и 2 для работы с виртуальными хостами на основе IP-адресов.&lt;/virtualhost&gt;&lt;/p&gt;      &lt;a name="id=3441"&gt;&lt;/a&gt;&lt;ul class="artul"&gt;&lt;li&gt;&lt;b&gt;VirtualDocumentRoot&lt;/b&gt; – определение директории DocumentRoot на основе запрошенного доменного имени. &lt;/li&gt;&lt;li&gt;&lt;b&gt;VirtualScriptAlias&lt;/b&gt; - определение директории для CGI-скриптов на основе запрошенного доменного имени. &lt;/li&gt;&lt;li&gt;&lt;b&gt;VirtualDocumentRootIP&lt;/b&gt;– определение директории DocumentRoot на основе запрошенного IP-адреса. &lt;/li&gt;&lt;li&gt;&lt;b&gt;VirtualScriptAliasIP&lt;/b&gt;- определение директории для CGI-скриптов на основе запрошенного IP-адреса.      &lt;/li&gt;&lt;/ul&gt;&lt;a name="id=3442"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;В директивах модуля могут использоваться следующие параметры:&lt;/p&gt;      &lt;a name="id=3443"&gt;&lt;/a&gt;&lt;ul class="artul"&gt;&lt;li&gt;&lt;b&gt;%%&lt;/b&gt; - символ % &lt;/li&gt;&lt;li&gt;&lt;b&gt;%p&lt;/b&gt; – номер запрошенного порта &lt;/li&gt;&lt;li&gt;&lt;b&gt;%N.M&lt;/b&gt; – имя хоста или часть имени, определяемая значениями N и M.      &lt;/li&gt;&lt;/ul&gt;&lt;a name="id=3444"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Параметр N определяет часть имени хоста, которое следует использовать. Параметр M определяет номер используемого символа из части N. Ниже показаны возможные значения параметра N и примеры на основе доменного имени www.st-host.ru.&lt;/p&gt;      &lt;a name="id=3445"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Разбиение имен хостов на части происходит по символу точки слева направо. Т.е. для имени www.st-host.ru первой частью будет являться - www, а последней - ru.&lt;/p&gt;      &lt;a name="id=3470"&gt;&lt;/a&gt;&lt;table class="arttable" border="0" cellpadding="1" cellspacing="1"&gt;  &lt;col&gt;  &lt;col&gt;  &lt;col&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td class="xl2431264"&gt;%N&lt;/td&gt;   &lt;td class="xl2531264"&gt;Описание&lt;/td&gt;   &lt;td class="xl2531264"&gt;Пример&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;0%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Полное имя&lt;/td&gt;   &lt;td class="xl2831264"&gt;&lt;span lang="EN-US"&gt;www.st-host.ru&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;1%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Первая часть имени&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;www&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;2%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Вторая часть имени&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;st-host&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;3%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Третья часть имени&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;ru&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;-1%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Последняя часть&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;ru&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2631264"&gt;-2%&lt;/td&gt;   &lt;td class="xl2731264"&gt;Предпоследняя часть&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;st-host&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2931264"&gt;%2+&lt;/td&gt;   &lt;td class="xl2731264"&gt;Вторая и все поcледующие части&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;st-host.ru&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl2931264"&gt;%-2+&lt;/td&gt;   &lt;td class="xl2731264"&gt;Предпоследняя и все последующие части&lt;/td&gt;   &lt;td class="xl2731264"&gt;&lt;span lang="EN-US"&gt;st-host.ru&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;!--[if supportMisalignedColumns]--&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt;   &lt;td&gt; &lt;/td&gt;   &lt;td&gt; &lt;/td&gt;  &lt;/tr&gt;  &lt;!--[endif]--&gt; &lt;/tbody&gt;&lt;/table&gt;       &lt;a name="id=3446"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Рассмотрим применение данных параметров на примере директивы VirtualDocumentRoot. &lt;/p&gt;      &lt;a name="id=3447"&gt;&lt;/a&gt;&lt;p class="artcode"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; VirtualDocumentRoot /www/%-2/htdocs&lt;/span&gt; &lt;/code&gt;&lt;/p&gt;     &lt;a name="id=3448"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;При запросе по адресу &lt;b&gt;http://www.st-host.ru &lt;/b&gt;директива VirtualDocumentRoot сгенерирует путь к файлу на основе запрошенного имени хоста и Apache будет искать файл на диске по адресу &lt;b&gt;/www/st-host/htdocs/index.php&lt;/b&gt;&lt;/p&gt;      &lt;a name="id=3449"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Параметр &lt;b&gt;M &lt;/b&gt;определяет номер используемого символа в параметре &lt;b&gt;N&lt;/b&gt;. При положительном значении &lt;b&gt;M&lt;/b&gt; отсчитывается с левой стороны строки, при отрицательном – с правой стороны.&lt;/p&gt;      &lt;a name="id=3467"&gt;&lt;/a&gt;&lt;table class="arttable" border="0" cellpadding="1" cellspacing="1"&gt;  &lt;col span="2"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td class="xl25"&gt;%N.M&lt;/td&gt;   &lt;td class="xl25"&gt;Пример&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl24"&gt;%0.1&lt;/td&gt;   &lt;td class="xl24"&gt;&lt;span lang="EN-US"&gt;w&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl24"&gt;%2.1&lt;/td&gt;   &lt;td class="xl24"&gt;&lt;span lang="EN-US"&gt;s&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl24"&gt;%2.2&lt;/td&gt;   &lt;td class="xl24"&gt;&lt;span lang="EN-US"&gt;t&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl24"&gt;%-2.1&lt;/td&gt;   &lt;td class="xl24"&gt;&lt;span lang="EN-US"&gt;s&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;   &lt;td class="xl24"&gt;%-2.-1&lt;/td&gt;   &lt;td class="xl24"&gt;&lt;span lang="EN-US"&gt;t&lt;/span&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;!--[if supportMisalignedColumns]--&gt;  &lt;tr&gt;   &lt;td&gt; &lt;/td&gt;   &lt;td&gt; &lt;/td&gt;  &lt;/tr&gt;  &lt;!--[endif]--&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;a name="id=3450"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Ниже приведены примеры директивы VirtualDocumentRoot и сгенерированные пути для запроса http://www.st-host.ru/.&lt;/p&gt;      &lt;a name="id=3469"&gt;&lt;/a&gt;&lt;p class="artcode"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; /www/%0/htdocs                        Путь: /www/www.st-host.ru/htdocs&lt;br /&gt;/www/%-1/%-2/htdocs                   Путь: /www/ru/st-host/htdocs&lt;br /&gt;/www/%-1/%-2.1/%-2/htdocs             Путь: /www/ru/s/st-host/htdocs&lt;br /&gt;/www/%-1/%-2.1/%-2.1%-2.2/%-2/htdocs  Путь: /www/ru/s/st/st-host/htdocs&lt;/span&gt; &lt;/code&gt;&lt;/p&gt;     &lt;a name="id=3451"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Если на сервере используется большое количество виртуальных хостов, то директории хранения сайтов удобно распределять по именам доменов первого уровня (ru, com, net, org и т.п.). При размещении нескольких сотен сайтов их можно распределять по папкам, имена которых соответствуют первым символам доменных имен.&lt;/p&gt; &lt;a name="id=3452"&gt;&lt;/a&gt;&lt;h2 class="artzag"&gt;Недостатки модуля mod_vhost_alias&lt;/h2&gt;     &lt;a name="id=3453"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Удобный способ создания виртуальных хостов с помощью модуля mod_vhost_alias не лишен ряда недостатков. &lt;/p&gt;      &lt;a name="id=3454"&gt;&lt;/a&gt;&lt;ul class="artul"&gt;&lt;li&gt;Нельзя разделить логи сервера по виртуальных хостам – все обращения к разным сайтам записываются в общий журнальный файл. &lt;/li&gt;&lt;li&gt;Для эффективного использования модуля mod_vhost_alias конфигурация всех виртуальных хостов должно быть одинакова. В противном случае, для настройки каждого виртуального хоста необходимо применять контейнер &lt;directory&gt;, что лишает модуль mod_vhost_alias своего основного преимущества.  &lt;/directory&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a name="id=3455"&gt;&lt;/a&gt;&lt;h2 class="artzag"&gt;Индивидуальная настройка виртуальных хостов, созданных mod_vhost_alias&lt;/h2&gt;     &lt;a name="id=3456"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Модуль mod_vhost_alias не имеет средств индивидуальной настройки виртуальных хостов и вследствие этого конфигурации всех виртуальных хостов, созданных модулем, получаются одинаковыми. При необходимости индивидуального конфигурирования виртуальных хостов применяется контейнер &lt;directory&gt;, в котором производится настройка работы Apache индивидуально для каждой директории.&lt;/directory&gt;&lt;/p&gt;      &lt;a name="id=3457"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Рассмотрим пример. Необходимо произвести уникальную настройку сайта www.mega-site.ru. При этом для создания виртуальных хостов используется модуль mod_vhost_alias со следующими директивами.&lt;/p&gt;      &lt;a name="id=3458"&gt;&lt;/a&gt;&lt;p class="artcode"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; VirtualDocumentRoot /www/%-1/%-2/htdocs&lt;/span&gt; &lt;/code&gt;&lt;/p&gt;     &lt;a name="id=3459"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Согласно директиве VirtualDocumentRoot файлы сайта www.mega-site.ru должны храниться в директории &lt;b&gt;/www/ru/mega-site/htdocs&lt;/b&gt;. Для того чтобы настроить работу Apache для этой директории необходимо в файле httpd.conf создать следующие директивы.&lt;/p&gt;      &lt;a name="id=3460"&gt;&lt;/a&gt;&lt;p class="artcode"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;directory&gt;&lt;br /&gt;  # Директивы конфигурирования &lt;br /&gt;  # уникальные для сайта www.mega-site.ru&lt;br /&gt;&lt;/directory&gt;&lt;/span&gt; &lt;/code&gt;&lt;/p&gt;     &lt;a name="id=3461"&gt;&lt;/a&gt;&lt;p class="arttext"&gt;Внутри контейнера &lt;directory&gt; необходимо разместить директивы, которые необходимо применить к конкретному сайту (виртуальному хосту).&lt;/directory&gt;&lt;/p&gt; &lt;a name="id=3462"&gt;&lt;/a&gt;&lt;h2 class="artnamenote"&gt;Примечание&lt;/h2&gt;     &lt;a name="id=3463"&gt;&lt;/a&gt;&lt;p class="artnote"&gt;Частичное конфигурирование виртуальных хостов можно производить также через файлы .htaccess, размещаемые непосредственно в директории сайта.&lt;/p&gt; &lt;div style="position: absolute; width: 100px; height: 77px; z-index: 3; right: 50px; top: 105px;"&gt;     &lt;p&gt;&lt;a title="Русская версия сайта" href="http://www.softtime.ru/index.php"&gt;&lt;img alt="Русская версия" src="http://www.softtime.ru/images2/flags/ru.gif" border="0" height="15" width="24" /&gt;&lt;/a&gt; &lt;a title="English version of the site" href="http://www.softtime.ru/index.en.php"&gt;&lt;img alt="English" src="http://www.softtime.ru/images2/flags/en.gif" border="0" height="15" width="24" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;                      &lt;/td&gt;            &lt;td width="7%"&gt; &lt;/td&gt;       &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;               &lt;table border="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="10%"&gt; &lt;/td&gt;         &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-3999816373662055632?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/3999816373662055632/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=3999816373662055632' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3999816373662055632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/3999816373662055632'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/modvhostalias.html' title='Массовый хостинг с помощью mod_vhost_alias'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7026582655609284005</id><published>2008-04-12T12:44:00.000-07:00</published><updated>2008-05-13T22:18:07.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crypto'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Шифрование домашнего раздела в GNU/Linux. Ещё одна инструкция.</title><content type='html'>Решил на днях поиграться с шифрованием разделов. Но не нашёл инструкции, которая была бы мне понятно и содержала нужные и правильные для меня советы и объяснения. Как известно, в мире свободного ПО хорошо действует принцип "если тебе чего-то не хватает, то сделай это сам". Потому и пишу эту инструкцию - не только для других, но и для себя.&lt;br /&gt;&lt;p&gt;Итак, имеется следующая задача:&lt;br /&gt;- зашифровать домашний раздел - при его монтировании система запрашивает пароль.&lt;br /&gt;- при подключении жесткого диска с домашним разделом к другому компьютеру, операционной системе и программам по разметке жестких дисков раздел должен видиться как пустой неразмеченный.&lt;br /&gt;Один из минусов данного подхода - если ноутбук (для десктопа я считаю это не актуальным) переводится в режим гибернации (hibernate), то при возвращении его к жизни запроса пароля, к сожалению (а хотелось бы), ещё раз не происходит - т.к. домашний раздел уже подмонтирован. Возможно, проблему решит шифрование swap-раздела.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Update&lt;/span&gt;: танцы с бубном вокруг шифрования swap-раздела к успеху не привели...&lt;br /&gt;&lt;br /&gt;Примечание. Перед началом операции во-первых, НАСТОЯТЕЛЬНО рекомендуется сбэкапить все важные данные. Во-вторых, перед вводом команд необходимо перейти в режим суперпользователя. Думаю, если Вы решили зашифровать раздел, Вам не надо рассказывать, что такое режим суперпользователя и как в этот самый режим перейти.&lt;br /&gt;&lt;br /&gt;В попытках найти уже существующие решения, наткнулся на три статьи, но ни одна из них не покрывала мою задачу так, как это нужно мне:&lt;br /&gt;&lt;a href="http://tuxedo-live.blogspot.com/2007/09/debian-ubuntu-linux.html"&gt;Tuxedo Live&lt;/a&gt; - ряд ошибок, в том числе грубых; некоторые команды и применённые принципы не пояснены.&lt;br /&gt;&lt;a href="http://www.uptimebox.ru/2007/05/debian-gnulinux-4.html"&gt;Прикладная Дебианавтика&lt;/a&gt; - инструкция правильная, но слишком исчерпывающая; решение описано скорее для серверных машин с применением LVM-разделов.&lt;br /&gt;&lt;a href="http://forum.antichat.ru/thread51519.html"&gt;Продвинутый способ шифрования разделов в Linux&lt;/a&gt;@Форум "Античат" - пособие грамотное, но слишком уж параноидальное. Единственное, что оттуда подчерпнул - инструкция о том, как забить раздел случайными данными и как узнать, сколько ещё осталось:&lt;br /&gt;узнаём PID процесса: ps ax | grep "dd if"; а затем получаем информацию о том, сколько случайных данных уже записано: kill -USR1 pid&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Возможно, структура этой заметки покажется читателю странной, но, как было сказано выше, заметка в первую очередь публикуется для автора, а так автору понятней всего.&lt;br /&gt;Приступим.&lt;br /&gt;0. Устанавливаем необходимые пакеты. Для шифрования будут использоваться cryptsetup и dm-crypt.&lt;br /&gt;1. Форматируем будущий домашний раздел в целевую файловую систему.&lt;br /&gt;2. Забиваем раздел случайными данными, чтобы в обычном состоянии раздел казался пустым - если Вам это не надо, то можете пропустить этот шаг.&lt;br /&gt;&lt;br /&gt;Примечание: наполнение раздела случайными данными - очень длительная процедура. В моём случае домашний раздел на 60GB наполнился за 5-8 часов. Т.е. в этом случае имеет смысл сделать такую процедуру перед сном. Тогда на утро раздел будет готов.&lt;br /&gt;&lt;br /&gt;Если же Вам не нужно делать раздел "неработающим", тогда будет наблюдаться интереснейшая вещь - если Вы после этого подключите зашифрованный, но не забитый случайными данными раздел к компьютеру, на котором установлена ОС GNU/Linux с пакетами для шифрования, то выскочет окно с сообщением о том, что этот раздел зашифрован и необходимо ввести пароль. Если пароль правильный, то раздел подмонтируется и Вы получите к разделу доступ.&lt;br /&gt;&lt;br /&gt;3. Шифруем домашний раздел; с необходимыми параметрами шифрования и паролем.&lt;br /&gt;4. Редактируем любимым текстовым редактором файл /etc/crypttab в соответствии с параметрами шифрования.&lt;br /&gt;5. Перезапускаем службу шифрования дисков cryptdisks. Если всё правильно, то появится предложение ввести LUKS-пароль. Если пароль введён правильно и нигде нет ошибок, то служба шифрования успешно перезапустится. Если нет, то появится предупреждение или ошибка. Значит где-то что-то неправильно.&lt;br /&gt;6. Форматируем уже зашифрованный домашний раздел в целевую файловую систему.&lt;br /&gt;7. Редактируем, опять же, любимым текстовым редактором, /etc/fstab таким образом, чтобы в качестве домашнего раздела монтировался свежезашифрованный раздел.&lt;br /&gt;8. Монтируем зашифрованный будущий домашний раздел.&lt;br /&gt;9. Копируем на него структуру раздела /home без изменений.&lt;br /&gt;10. Перезагружаем систему, вводим при загрузке пароль и работаем с домашним зашифрованным разделом на отдельном логическом диске.&lt;br /&gt;&lt;br /&gt;Подведём итоги. Магические слова:&lt;br /&gt;{&lt;br /&gt;/dev/sdaN - раздел, который будет зашифрован и станет домашним;&lt;br /&gt;name - имя, эдакая метка зашифрованного раздела.&lt;br /&gt;В моём случае N=3; name=home; файловая система - ext3; текстовый редактор - gedit&lt;br /&gt;}&lt;br /&gt;0. apt-get install dmsetup cryptsetup fuse-utils&lt;br /&gt;1. mkfs -t ext3 /dev/sdaN&lt;br /&gt;2. dd if=/dev/urandom of=/dev/sdaN&lt;br /&gt;3. cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/sdaN&lt;br /&gt;4. gedit /etc/crypttab&lt;br /&gt;добавляем строчку:&lt;br /&gt;name    /dev/sdaN    none    luks,cipher=aes-cbc-essiv:sha256&lt;br /&gt;5. /etc/init.d/cryptdisks restart&lt;br /&gt;6. mkfs -t ext3 /dev/mapper/name&lt;br /&gt;7. gedit /etc/fstab&lt;br /&gt;комментируем строку с /home, если она была;&lt;br /&gt;добавляем другую:&lt;br /&gt;/dev/mapper/name    /home    ext3    defaults&lt;br /&gt;8. mkdir /mnt/home; mount /dev/mapper/name /mnt/home&lt;br /&gt;9. cp -axv /home/* /mnt/home/&lt;br /&gt;10. reboot&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aiz-linux.blogspot.com/2007/11/gnulinux.html"&gt;И помните, если Вы не страдаете паранойей, то это ещё вовсе не означает, что ОНИ за Вами не наблюдают... :-)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7026582655609284005?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7026582655609284005/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7026582655609284005' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7026582655609284005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7026582655609284005'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/gnulinux.html' title='Шифрование домашнего раздела в GNU/Linux. Ещё одна инструкция.'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2051025308984114643</id><published>2008-04-11T12:25:00.000-07:00</published><updated>2008-04-11T12:34:27.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='du'/><category scheme='http://www.blogger.com/atom/ns#' term='size'/><title type='text'>Размер директорий</title><content type='html'>du -ah --max-depth=1&lt;br /&gt;&lt;br /&gt;или с сортировкой&lt;br /&gt;&lt;br /&gt;du -a --max-depth=1 | sort -n&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2051025308984114643?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2051025308984114643/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2051025308984114643' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2051025308984114643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2051025308984114643'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/blog-post_11.html' title='Размер директорий'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2900595933193955358</id><published>2008-04-11T12:06:00.000-07:00</published><updated>2008-04-11T12:08:56.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grub'/><title type='text'>Восстановление загрузчика GRUB</title><content type='html'>&lt;div class="post-body entry-content"&gt; &lt;p&gt;&lt;span class="fullpost"&gt;&lt;span class="dropcaps"&gt;П&lt;/span&gt;оследнее время часто экспериментирую с операционными системами, и при установке некоторых из них, таких как Linux, Mac OS X или Windows, затирается главная загрузочная запись (&lt;a href="http://en.wikipedia.org/wiki/Master_boot_record"&gt;MBR&lt;/a&gt;). Для восстановления ее можно использовать LiveCD дистрибутив Линукс (&lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;, Knoppix), также можно восстановить с помощью &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; "Etch".&lt;br /&gt;&lt;br /&gt;Этот пример показывает как восстановить загрузчик GRUB Loader при помощи LiveCD Ubuntu Linux&lt;br /&gt;&lt;br /&gt;Прежде всего ставим в BIOS загрузку с CD. [First Boot]&lt;br /&gt;Далее запускаемся с LiveCD дистрибутива...&lt;br /&gt;&lt;br /&gt;..и работаем в консоли (терминале):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; ~$ sudo grub&lt;br /&gt;&gt; &lt;blink&gt;_&lt;/blink&gt;&lt;/blockquote&gt;&lt;span style="font-size: 85%;"&gt;утилита будет ожидать ваших действий&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;ищем загрузчик:&lt;br /&gt;&lt;blockquote&gt;&gt; find /boot/grub/stage2&lt;br /&gt;  (hd0,2)&lt;/blockquote&gt;&lt;br /&gt;подменили рута&lt;br /&gt;&lt;blockquote&gt;&gt; root (hd0,2)&lt;/blockquote&gt;&lt;br /&gt;устанавливаем GRUB на hd0:&lt;br /&gt;&lt;blockquote&gt;&gt; setup (hd0)&lt;/blockquote&gt;&lt;br /&gt;На этом всё ;)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="post-footer-line post-footer-line-1"&gt; &lt;a href="http://tuxedo-live.blogspot.com/2007/07/grub.html"&gt;&lt;span class="post-author vcard"&gt; Автор &lt;span class="fn"&gt;va1e&lt;/span&gt; &lt;/span&gt;&lt;/a&gt;&lt;span class="post-timestamp"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2900595933193955358?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2900595933193955358/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2900595933193955358' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2900595933193955358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2900595933193955358'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/grub.html' title='Восстановление загрузчика GRUB'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-8974617109964271245</id><published>2008-04-09T21:47:00.000-07:00</published><updated>2008-04-09T21:49:18.213-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dd'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><category scheme='http://www.blogger.com/atom/ns#' term='par2'/><title type='text'>Добавляем информацию для восстановления архивов с помощью par2</title><content type='html'>&lt;p&gt;В этой заметке я предложу способ чтения данных с поцарапанных, погрызанных собакой или обработанных шредером компакт-дисков. &lt;/p&gt; &lt;p&gt;Итак, к делу: регулярно, при записывании данных на диск, остается некоторое количество свободного места. Лет 5 назад можно было положить диск на полочку, пометив, что еще 30 мегабайт можно забить каким-нибудь хламом, но сейчас стоимость болванки - 10 рублей, такой аргумент не действует. И, соответственно, привычку оставлять место “на потом” надо искоренять. Мне кажется, наиболее разумным было бы добавить на диск данные для восстановления - т.н. корректирующие коды Рида-Соломона, которые могу пригодится, в случае, если диск будет поврежден.&lt;/p&gt; &lt;p&gt;Собственно весь заговор выглядит следующим образом:&lt;br /&gt;&lt;code&gt;#sudo aptitude install par2&lt;br /&gt;#man par2&lt;br /&gt;#cd backups&lt;br /&gt;#ls&lt;br /&gt;dump.sql.gz&lt;br /&gt;#par2 create -v -r10 -n1 -m500 dump.sql.gz                     &lt;br /&gt;#ls&lt;br /&gt;dump.sql.gz  dump.sql.gz.par2  dump.sql.gz.vol000+100.par2&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Эта команда добавит 10% избыточной информации к данным, запишет все это в один файл, при этом программе par2 разрешено использовать 500 мегабайт оперативной памяти. Файлы *.par2 следует записать на диск вместе с дампом. &lt;/p&gt; &lt;p&gt;Мне эта программа понравилась, я захотел ее проверить в боевых условиях. Сделал архив размером около 400 Мб, добавил данные для восстановления - еще 200Мб - *.par2 файлы (50% избыточность, по умолчанию - 5%). Все это я записал на CD-RW, в котором потом сделал, простите, дырку. В итоге стандартными средствами удавалось прочитать только первые 150 Кб данных. Чтобы восстановить файл нужно сначала все считать пускай с ошибками - для этого есть программа dd_rescue, которая является практчески полным аналогом dd с одним исключением - она умеет игнорировать ошибки чтения:&lt;/p&gt; &lt;p&gt;&lt;img src="http://alexey.sveshnikov.ru/blog/wp-content/uploads/2008/04/dsc_0001_1.jpg" alt="диск с дыркой" align="right" width="240" /&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;#sudo dd_rescue -Av -b 1048576 -B 1048576 /dev/scd0 brokencd.iso&lt;/code&gt;(-A - заполняь нулями те участки файла, которые считать не удалось, v - verbose, -b - размер блока данных, -B - размер блока данных для проблемных областей диска)&lt;br /&gt;&lt;code&gt;# sudo mount -o loop brokencd.iso mnt # монтируем получившийся образ диска&lt;br /&gt;# cp mnt/* dump; cd dump # копируем содержимое&lt;br /&gt;# par2 r archive.par2 # приводим в изначальный вид&lt;/code&gt;&lt;/p&gt; &lt;p&gt;На этом эксперимент завершился - все данные с диска восстановлены. Даже скучно.&lt;br /&gt;Но пример, мне кажется, весьма красноречив :)&lt;/p&gt;     &lt;p class="meta"&gt;      Постоянная ссылка: &lt;a href="http://alexey.sveshnikov.ru/blog/2008/04/10/%d0%b7%d0%b0%d0%b3%d0%be%d0%b2%d0%be%d1%80-%d0%be%d1%82-%d0%b1%d0%b8%d1%82%d1%8b%d1%85-%d0%ba%d0%bb%d0%b0%d1%81%d1%82%d0%b5%d1%80%d0%be%d0%b2-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc/" rel="bookmark" title="Permanent Link to Заговор от битых кластеров (добавляем информацию для восстановления архивов с помощью par2)"&gt;2008-04-10 02:08&lt;/a&gt;          &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-8974617109964271245?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/8974617109964271245/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=8974617109964271245' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8974617109964271245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/8974617109964271245'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/par2.html' title='Добавляем информацию для восстановления архивов с помощью par2'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-7048313365070213647</id><published>2008-04-09T07:52:00.000-07:00</published><updated>2008-04-09T07:57:05.809-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nvidia'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>ubuntu 7.10 with  9600 gt</title><content type='html'>&lt;div class="snap_preview"&gt;&lt;p&gt;&lt;a href="http://wildarcher7.wordpress.com/2008/04/09/ubuntu-710-x86_64-core-2-duo/#comments"&gt;Отсюда&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Делать было нечего, дело было вечером. Вот решил немного по тестировать линукс для x86_64. Выбор пал на ubuntu 7.10. Загрузка сразу не удалась, наверно виновата видео карточка 9600 gt. Пришлось запуститься в безопасном графическом режиме. Загрузка шла “вслепую” (без splash screen), лишь похрустывание hdd и моргание диодов на системнике, ни давало отчаиваться. После диких переживаний и практически полной потери веры в успех загрузки, длившихся в течении 30 секунд. Ubuntu спела.&lt;/p&gt; &lt;p&gt;С установкой проблем ни возникло - так же как и в 32 битной версии. Правда, после установки, первый запуск свеженькой системы длился о-о-о-очень долго. После запуска Ubuntu быстренько обнаружила для себя - 204 обновления.&lt;/p&gt; &lt;p&gt;Обновился и система загрузилась быстро, сразу понял, что ни зря ей понадобились эти обновления. Правда загрузка происходит, без splash screen, но напильник поможет с этим разобраться, а пока разберемся с видео. А то cooler на видео крутиться как ненормальный - драйверов просит.&lt;/p&gt; &lt;p&gt;Я с просил у google, как мне драйвера получить, и ответил google &lt;a href="http://www.albertomilone.com/nvidia_scripts1.html"&gt;envy&lt;/a&gt; . Но envy ни подерживает установку драйверов 171.06 - хотя он помог установить всё, что нужно для ручной установки. &lt;a href="http://www.nvidia.com/object/linux_display_amd64_171.06.html"&gt;Качаем драйвера с сайта nvidia&lt;/a&gt; в свой домашний каталог.&lt;/p&gt; &lt;p&gt;И так процедура проста. жмём ctrl+ alt+f1. Логинемся под своей учёткой, вводим команду sudo su вводим свой пароль и вот вы всемогущий root.&lt;/p&gt; &lt;p&gt;sh ~wild/NVIDIA-Linux-x86_64-171.06-pkg2.run отвечаем на всякие вопросики.&lt;/p&gt; &lt;p&gt;теперь правим файлик&lt;/p&gt; &lt;p&gt;nano /etc/default/linux-restricted-modules-common&lt;/p&gt; &lt;p&gt;DISABLED_MODULES=”nv” #добавляем nv что бы он не мешал драйверам от nvidia&lt;/p&gt; &lt;p&gt;Перезагружаемся и вот в момент появления gdm вентилятор видео карточки находит покой. compiz-fusion начинает работать.&lt;/p&gt; &lt;p&gt;Решил зайти на youtube, firefox преложил установить flash - плагин. Мой выбор пал adobe flash. Плагин установился, ФФ попросил перезапуститься. Просьбу выполнил, а flash ни заработал.&lt;/p&gt; &lt;p&gt;p.s.: Данная статья ни претендует на руководство.&lt;/p&gt; &lt;p&gt;p.p.s: Данная статья - вообще ни претендует.&lt;/p&gt; &lt;p&gt;p.p.p.s: А главное в этой “сказки” то что 4GB оперативки показывается как 3,9gb а ни 3,2gn как в 32х битной версии.&lt;/p&gt; &lt;p&gt;Вместо happy end:&lt;/p&gt; &lt;p&gt;До выхода 8.04 осталось чуть-чуть.&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-7048313365070213647?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/7048313365070213647/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=7048313365070213647' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7048313365070213647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/7048313365070213647'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/ubuntu-710-with-9600-gt.html' title='ubuntu 7.10 with  9600 gt'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-2008058658056795306</id><published>2008-04-07T23:55:00.001-07:00</published><updated>2008-04-09T23:06:32.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bontima'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>Bontmia скрипт бакупа</title><content type='html'>&lt;p class="text" align="justify"&gt;Bontmia - это сетевое средство резервного копирования, сохраняющее заданное количество копий за последний месяц, неделю, день, час и минуту. Каждая резервная копия представляет собой полный моментальный снимок исходных каталогов, а при генерации моментальных снимков сохраняются только новые и измененные файлы за счет использования жестких связей. Обеспечивается безопасный удаленный доступ с помощью SSH. Передаются только изменения, что ускоряет создание резервных копий.&lt;/p&gt;  &lt;p class="text"&gt;&lt;a target="_blank" href="http://folk.uio.no/johnen/bontmia/"&gt;Домашняя страница&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3622801626169945037-2008058658056795306?l=kmb-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kmb-tips.blogspot.com/feeds/2008058658056795306/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3622801626169945037&amp;postID=2008058658056795306' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2008058658056795306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3622801626169945037/posts/default/2008058658056795306'/><link rel='alternate' type='text/html' href='http://kmb-tips.blogspot.com/2008/04/bontmia.html' title='Bontmia скрипт бакупа'/><author><name>mcdba</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3622801626169945037.post-3541068729687951322</id><published>2008-04-07T10:40:00.000-07:00</published><updated>2008-04-07T10:42:57.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySql'/><category scheme='http://www.blogger.com/atom/ns#' term='backup'/><title type='text'>MySql backup</title><content type='html'>&lt;a href="http://sourceforge.net/projects/automysqlbackup/"&gt;скрипт для инкрементного бакупа баз MySql &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# MySQL Backup Script&lt;br /&gt;# VER. 2.5 - http://sourceforge.net/projects/automysqlbackup/&lt;br /&gt;# Copyright (c) 2002-2003 wipe_out@lycos.co.uk&lt;br /&gt;#&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;# (at your option) any later version.&lt;br /&gt;#&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;#&lt;br /&gt;# You should have received a copy of the GNU General Public License&lt;br /&gt;# along with this program; if not, write to the Free Software&lt;br /&gt;# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA&lt;br /&gt;#&lt;br /&gt;#=====================================================================&lt;br /&gt;#=====================================================================&lt;br /&gt;# Set the following variables to your system needs&lt;br /&gt;# (Detailed instructions below variables)&lt;br /&gt;#=====================================================================&lt;br /&gt;&lt;br /&gt;# Username to access the MySQL server e.g. dbuser&lt;br /&gt;USERNAME=dbuser&lt;br /&gt;&lt;br /&gt;# Username to access the MySQL server e.g. password&lt;br /&gt;PASSWORD=password&lt;br /&gt;&lt;br /&gt;# Host name (or IP address) of MySQL server e.g localhost&lt;br /&gt;DBHOST=localhost&lt;br /&gt;&lt;br /&gt;# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"&lt;br /&gt;DBNAMES="DB1 DB2 DB3"&lt;br /&gt;&lt;br /&gt;# Backup directory location e.g /backups&lt;br /&gt;BACKUPDIR="/backups"&lt;br /&gt;&lt;br /&gt;# Mail setup&lt;br /&gt;# What would you like to be mailed to you?&lt;br /&gt;# - log   : send only log file&lt;br /&gt;# - files : send log file and sql files as attachments (see docs)&lt;br /&gt;# - stdout : will simply output the log to the screen if run manually.&lt;br /&gt;# - quiet : Only send logs if an error occurs to the MAILADDR.&lt;br /&gt;MAILCONTENT="stdout"&lt;br /&gt;&lt;br /&gt;# Set the maximum allowed email size in k. (4000 = approx 5MB email [see docs])&lt;br /&gt;MAXATTSIZE="4000"&lt;br /&gt;&lt;br /&gt;# Email Address to send mail to? (user@domain.com)&lt;br /&gt;MAILADDR="user@domain.com"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# ============================================================&lt;br /&gt;# === ADVANCED OPTIONS ( Read the doc's below for details )===&lt;br /&gt;#=============================================================&lt;br /&gt;&lt;br /&gt;# List of DBBNAMES for Monthly Backups.&lt;br /&gt;MDBNAMES="mysql $DBNAMES"&lt;br /&gt;&lt;br /&gt;# List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in " quotes)&lt;br /&gt;DBEXCLUDE=""&lt;br /&gt;&lt;br /&gt;# Include CREATE DATABASE in backup?&lt;br /&gt;CREATE_DATABASE=yes&lt;br /&gt;&lt;br /&gt;# Separate backup directory and file for each DB? (yes or no)&lt;br /&gt;SEPDIR=yes&lt;br /&gt;&lt;br /&gt;# Which day do you want weekly backups? (1 to 7 where 1 is Monday)&lt;br /&gt;DOWEEKLY=6&lt;br /&gt;&lt;br /&gt;# Choose Compression type. (gzip or bzip2)&lt;br /&gt;COMP=gzip&lt;br /&gt;&lt;br /&gt;# Compress communications between backup server and MySQL server?&lt;br /&gt;COMMCOMP=no&lt;br /&gt;&lt;br /&gt;# Additionally keep a copy of the most recent backup in a seperate directory.&lt;br /&gt;LATEST=no&lt;br /&gt;&lt;br /&gt;#  The maximum size of the buffer for client/server communication. e.g. 16MB (maximum is 1GB)&lt;br /&gt;MAX_ALLOWED_PACKET=&lt;br /&gt;&lt;br /&gt;#  For connections to localhost. Sometimes the Unix socket file must be specified.&lt;br /&gt;SOCKET=&lt;br /&gt;&lt;br /&gt;# Command to run before backups (uncomment to use)&lt;br /&gt;#PREBACKUP="/etc/mysql-backup-pre"&lt;br /&gt;&lt;br /&gt;# Command run after backups (uncomment to use)&lt;br /&gt;#POSTBACKUP="/etc/mysql-backup-post"&lt;br /&gt;&lt;br /&gt;#=====================================================================&lt;br /&gt;# Options documantation&lt;br /&gt;#=====================================================================&lt;br /&gt;# Set USERNAME and PASSWORD of a user that has at least SELECT permission&lt;br /&gt;# to ALL databases.&lt;br /&gt;#&lt;br /&gt;# Set the DBHOST option to the server you wish to backup, leave the&lt;br /&gt;# default to backup "this server".(to backup multiple servers make&lt;br /&gt;# copies of this file and set the options for that server)&lt;br /&gt;#&lt;br /&gt;# Put in the list of DBNAMES(Databases)to be backed up. If you would like&lt;br /&gt;# to backup ALL DBs on the server set DBNAMES="all".(if set to "all" then&lt;br /&gt;# any new DBs will automatically be backed up without needing to modify&lt;br /&gt;# this backup script when a new DB is created).&lt;br /&gt;#&lt;br /&gt;# If the DB you want to backup has a space in the name replace the space&lt;br /&gt;# with a % e.g. "data base" will become "data%base"&lt;br /&gt;# NOTE: Spaces in DB names may not work correctly when SEPDIR=no.&lt;br /&gt;#&lt;br /&gt;# You can change the backup storage location from /backups to anything&lt;br /&gt;# you like by using the BACKUPDIR setting..&lt;br /&gt;#&lt;br /&gt;# The MAILCONTENT and MAILADDR options and pretty self explanitory, use&lt;br /&gt;# these to have the backup log mailed to you at any email address or multiple&lt;br /&gt;# email addresses in a space seperated list.&lt;br /&gt;# (If you set mail content to "log" you will require access to the "mail" program&lt;br /&gt;# on your server. If you set this to "files" you will have to have mutt installed&lt;br /&gt;# on your server. If you set it to "stdout" it will log to the screen if run from&lt;br /&gt;# the console or to the cron job owner if run through cron. If you set it to "quiet"&lt;br /&gt;# logs will only be mailed if there are errors reported. )&lt;br /&gt;#&lt;br /&gt;# MAXATTSIZE sets the largest allowed email attachments total (all backup files) you&lt;br /&gt;# want the script to send. This is the size before it is encoded to be sent as an email&lt;br /&gt;# so if your mail server will allow a maximum mail size of 5MB I would suggest setting&lt;br /&gt;# MAXATTSIZE to be 25% smaller than that so a setting of 4000 would probably be fine.&lt;br /&gt;#&lt;br /&gt;# Finally copy automysqlbackup.sh to anywhere on your server and make sure&lt;br /&gt;# to set executable permission. You can also copy the script to&lt;br /&gt;# /etc/cron.daily to have it execute automatically every night or simply&lt;br /&gt;# place a symlink in /etc/cron.daily to the file if you wish to keep it&lt;br /&gt;# somwhere else.&lt;br /&gt;# NOTE:On Debian copy the file with no extention for it to be run&lt;br /&gt;# by cron e.g just name the file "automysqlbackup"&lt;br /&gt;#&lt;br /&gt;# Thats it..&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# === Advanced options doc's ===&lt;br /&gt;#&lt;br /&gt;# The list of MDBNAMES is the DB's to be backed up only monthly. You should&lt;br /&gt;# always include "mysql" in this list to backup your user/password&lt;br /&gt;# information along with any other DBs that you only feel need to&lt;br /&gt;# be backed up monthly. (if using a hosted server then you should&lt;br /&gt;# probably remove "mysql" as your provider will be backing this up)&lt;br /&gt;# NOTE: If DBNAMES="all" then MDBNAMES has no effect as all DBs will be backed&lt;br /&gt;# up anyway.&lt;br /&gt;#&lt;br /&gt;# If you set DBNAMES="all" you can configure the option DBEXCLUDE. Other&lt;br /&gt;# wise this option will not be used.&lt;br /&gt;# This option can be used if you want to backup all dbs, but you want&lt;br /&gt;# exclude some of them. (eg. a db is to big).&lt;br /&gt;#&lt;br /&gt;# Set CREATE_DATABASE to "yes" (the default) if you want your SQL-Dump to create&lt;br /&gt;# a database with the same name as the original database when restoring.&lt;br /&gt;# Saying "no" here will allow your to specify the database name you want to&lt;br /&gt;# restore your dump into, making a copy of the database by using the dump&lt;br /&gt;# created with automysqlbackup.&lt;br /&gt;# NOTE: Not used if SEPDIR=no&lt;br /&gt;#&lt;br /&gt;# The SEPDIR option allows you to choose to have all DBs backed up to&lt;br /&gt;# a single file (fast restore of entire server in case of crash) or to&lt;br /&gt;# seperate directories for each DB (each DB can be restored seperately&lt;br /&gt;# in case of single DB corruption or loss).&lt;br /&gt;#&lt;br /&gt;# To set the day of the week that you would like the weekly backup to happen&lt;br /&gt;# set the DOWEEKLY setting, this can be a value from 1 to 7 where 1 is Monday,&lt;br /&gt;# The default is 6 which means that weekly backups are done on a Saturday.&lt;br /&gt;#&lt;br /&gt;# COMP is used to choose the copmression used, options are gzip or bzip2.&lt;br /&gt;# bzip2 will produce slightly smaller files but is more processor intensive so&lt;br /&gt;# may take longer to complete.&lt;br /&gt;#&lt;br /&gt;# COMMCOMP is used to enable or diable mysql client to server compression, so&lt;br /&gt;# it is useful to save bandwidth when backing up a remote MySQL server over&lt;br /&gt;# the network.&lt;br /&gt;#&lt;br /&gt;# LATEST is to store an additional copy of the latest backup to a standard&lt;br /&gt;# location so it can be downloaded bt thrid party scripts.&lt;br /&gt;#&lt;br /&gt;# If the DB's being backed up make use of large BLOB fields then you may need&lt;br /&gt;# to increase the MAX_ALLOWED_PACKET setting, for example 16MB..&lt;br /&gt;#&lt;br /&gt;# When connecting to localhost as the DB server (DBHOST=localhost) sometimes&lt;br /&gt;# the system can have issues locating the socket file.. This can now be set&lt;br /&gt;# using the SOCKET parameter.. An example may be SOCKET=/private/tmp/mysql.sock&lt;br /&gt;#&lt;br /&gt;# Use PREBACKUP and POSTBACKUP to specify Per and Post backup commands&lt;br /&gt;# or scripts to perform tasks either before or after the backup process.&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;#=====================================================================&lt;br /&gt;# Backup Rotation..&lt;br /&gt;#=====================================================================&lt;br /&gt;#&lt;br /&gt;# Daily Backups are rotated weekly..&lt;br /&gt;# Weekly Backups are run by default on Saturday Morning when&lt;br /&gt;# cron.daily scripts are run...Can be changed with DOWEEKLY setting..&lt;br /&gt;# Weekly Bac
