Advanced Operators for Web Search

allinanchor:  /  inanchor:

  • Google restricts results to pages containing all query terms in the anchor text on links to the page. For instance: [ allinanchor: best restaurant Sunnyvale ] will return only pages in which the anchor text on links to the pages contain the words “best” “restaurant” and “Sunnyvale” – that is, all of the words following the allinanchor operator.  So, when using allinanchor: in your query, do not include any other search operators.  By contrast, using the operator inanchor:  only searches for the term that’s next.  Example:   [ inanchor:sales offer 2011 ] will search only for “sales” in the anchor text.
  • Anchor text is the text on a page that is linked to another web page or a different place on the current page. When you click on anchor text, you will be taken to the page or place on the page to which it is linked.

allintext: / intext:

  • Restricts results to those containing all the query terms you specify in the text of the page. For example, [ allintext: camping tent stove] will return only pages in which the words “camping” “tent” and “stove” appear in the text of the page.   Using the operator intext: will search only for the next term in the text of the page.   .  (Note: using intext: in front of every word in your query is the same as using allintext: at the front of your query, e.g., [ intext:Victorian intext:artists ] is the same as [ allintext: Victorian artists ].)

allintitle: / intitle:

  • Restricts results to those containing all the query terms you specify in the title. For example, [ allintitle: university relations ] will return only documents that contain the words “university” and “relations” in the title of the page.  Using the operator intitle: will search only for the next term in the title of the page.  For instance, [ flu shot intitle:help ] will return documents that mention the word “help” in their titles, and mention the words “flu” and “shot” anywhere in the document (title or not).

allinurl: / inurl:

  • Restricts results to those containing all the query terms you specify in the URL. For example, [ allinurl: google faq ] will return only documents that contain the words “google” and “faq” in the URL, such as “”.

term1  AROUND( n ) term2

  • Limits results to those documents where term1 appears within a certain number of words of term2.  For instance, [ search AROUND (3) engine ] will find only documents that have the words “search” within 3 words of “engine” – this is particularly useful when searching for common words that are relevant to your search only when in close proximity.


  • Gives definitions from pages on the web for the term that follows. Useful  for finding definitions of words, phrases, and acronyms. For example, [ define: peruse ] will  give a definition of the word “peruse.”  This also works for many phrases, [ define:Hobson’s choice ]


  • Limits results to pages whose names end in suffix.  The suffix is anything following the last period in the file name of the web page and can be many characters in length.
  • Example:  [ search engine guidelines filetype:pdf ] will return Adobe Acrobat pdf files that match the terms “search,” “engine,” “guildelines,” and are  pages whose names end with pdf

Fill in the blanks (*)

  • The *, or wildcard, is a little-known feature that can be very powerful. If you include * within a query, it tells Google to try to treat the star as a placeholder for any unknown term(s) and then find the best matches. For example, the search [ Google * ] will give you results about many of Google’s products (go to next page and next page — we have many products). The query [ Obama voted * on the * bill ] will give you stories about different votes on different bills. Note that the * operator works only on whole words, not parts of words.

inanchor:   (see allinanchor: above )


  • info: will gives some additional  information about the specified web page. For instance, the query —

[  ]

will show information about this Google web blog page, including a cached version, links to pages that link to this page, other pages

on this site, etc.

intext: (see allintext: above)

intitle: ( see allintitle: above)

inurl: (see allinurl: above)


  • Note that the link:  operator does not return a complete list of all the links available.  It simply returns a representative sample.

Minus sign  ( – ) to exclude

  • Placing  a minus sign immediately before a word indicates that you do not want pages that contain this word to appear in your results. The minus sign should appear immediately before the word and should be preceded with a space. For example, in the query [ anti-virus software ], the minus sign is used as a hyphen and will not be interpreted as an exclusion symbol; whereas the query:  [ anti-virus –software ] will search for the words ‘anti-virus’ but exclude references to software. You can exclude as many words as you want by using the – sign in front of all of them, for example [ jaguar –cars –football –os ]. The – sign can be used to exclude more than just words. For example, place a minus sign before the ‘site:’ operator (without a space) to exclude a specific site from your search results. (NOTE: If you copy and paste these searches into a search bar, please note that we have elongated the minus sign here so you can see it–please replace with a regular minus sign.)

Number range ( .. )

  • The number range operator searches for results containing numbers in a given range. Just add two numbers, separated by two periods, with no spaces, into the search box along with your search terms. Example: [  Willie Mays 1950..1960 ]   You can also specify a unit of measurement or some other indicator of what the number range represents.  For example, here’s how you’d search for a DVD player that costs between $50 and $100: [ DVD player $50..$100 ]


  • The Boolean operator OR specifies alternatives to use as synonyms in search.  For instance, the query:

[ mesothelioma OR “lung disease”  treatment ]

could be used to search for a treatment for either mesothelioma or the quoted phrase “lung disease” (Be sure to make the OR all

uppercase.  Lowercase or won’t work.)

Phrase search (using double quotes, “…” )

  • By putting double quotes around a set of words, you are telling Google to consider the exact words in that exact order without any change. Google already uses the order and the fact that the words are together as a very strong signal and will stray from it only for a good reason, so quotes are usually unnecessary. By insisting on phrase search you might be missing good results accidentally. For example, a search for [ “Alexander Bell” ] (with quotes) will miss any pages that refer to Alexander G. Bell.


  • A search for  related:URL lists pages that are similar to the web page you specify. For instance, [] will list web pages that are similar to the Wikipedia homepage.

Search exactly as is (“word”)

  • Google employs synonyms automatically, so that it finds pages that mention, for example, childcare for the query [ child care ] (with a space), or California history for the query [ ca history ]. But sometimes Google helps out a little too much and gives you a synonym when you don’t really want it. By enclosing the single word you want to freeze in quotes as in the query [ ca” history ], you are telling Google to match that word precisely as you typed it.


  • Using the site: operator restricts your search results to the site or domain you specify. For example, [ penquins ] will search for pages about penguins from web sites that have an AQ top-level domain name.  (AQ is Antarctica, and is mostly research stations located there.) A query like  [ accidents ] will find pages about accidents within the domain (BLS = Bureau of Labor Statistics).  You can specify a domain with or without a period, e.g., either as .gov or gov.

Combinations of operators:

  • Many of the search operators –, OR, and ” ” can be combined.  For example, to find articles on security from all sites except you would search for:

[  article security –  ]

  • Similarly, you might want to exclude some kinds of documents with a search such as [ salsa recipe -tomatoes -filetype:pdf ] which would find salsa recipes that do not include the term “tomatoes” and are not PDF files.

More advanced search options:

  • Note that the Advanced Search page ( also provides a set of search options that are not available as special operators.  Using the Advanced Search page you can also:

– filter by language (e.g., find pages only in Spanish, Chinese, German, etc.)

– date (filter by time)

– usage rights (filter by Creative Commons license)

– reading level (find pages that are Basic, Intermediate or Advanced reading levels)

Reference: Advanced Operators for Web Search

FreeBSD 9.0 install flash plugin

cd /usr/ports/emulators/linux_base-f10
make install distclean
Если вылетит с ошибкой linuxulator is not (kld)loaded, то подгружаем модуль:
kldload linux.ko

cd /usr/ports/www/linux-f10-flashplugin11
make install distclean

cd /usr/ports/www/nspluginwrapper
make install distclean

Запустить под юзером, который будет использовать плагин…
nspluginwrapper -v -a -i

Oracle Solaris 10. Solaris Volume Manager

Описание создания RAID-массивов в операционной системе Solaris. Процедура меня лично заинтересовала на определенном этапе создания кластера (Configuration Steps For Using SVM из EIS Installation Checklist for SunCluster Systems). Необходимо создать software RAID-1 (mirror). Имеется 2 одинаковых диска, разметка одного из них показана ниже…

ФС для будущей ноды:

/ c0t0d0s0
/var c0t0d0s1
overlap c0t0d0s2
swap c0t0d0s3
/export c0t0d0s4
/opt c0t0d0s5
c0t0d0s7 69MB (for metadb)

Копируем таблицу разделов:

prtvtoc /dev/dsk/c0t0d0s2 | fmthard -s – /dev/rdsk/c0t1d0s2

"Metadevices MUST be unique within the cluster"
"Recommendation: Place replica on slice7"

Перед созданием любых RAID-массивов в системе Solaris необходимо иметь State Database (далее – SD), в которой хранится конфигурация и состояние всех RAID в системе. Для работы SVM обязательным требованием является наличие одной копии базы структуры SVM. Для хранения SD используются отдельные небольшие разделы, в каждом из которых может храниться несколько копий SD (копии называются State Database Replica). Одна replica занимает около 4 Мбайт. Оптимальным решением является создание 3 реплик на каждом дисковом носителе. 4Мб x 3=12Mb. Я разметил 7ой слайс с размером 64Мб на всякий случай.

vi /etc/system
set md:mirrored_root_flag=1

metadb -afc 3 c0t0d0s7 c0t1d0s7

For root FS:

metainit -f d1 1 1 c0t0d0s0
metainit d2 1 1 c0t1d0s0
metainit d0 -m d1
metaroot d0
lockfs -fa
metastat -c d0 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metattach d0 d2
metastat -c d0 – ждем пока произойдет синхронизация

For /var FS: (Пример создания зеркала для файловой системы которая не может быть отмонтирована)

metainit -f d4 1 1 c0t0d0s1
metainit d3 -m d4
vi /etc/vfstab
cat /etc/vfstab | grep var
/dev/md/dsk/d3 /dev/md/rdsk/d3 /var ufs 1 no –
lockfs -fa
metastat -c d3 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metainit -f d5 1 1 c3t1d0s1
metattach d3 d5
metastat -c d3 – ждем пока произойдет синхронизация

For /var FS (Пример создания зеркала для раздела который может быть размонтирован):

umount /opt
metainit -f d7 1 1 c0t0d0s5
metainit d6 -m d7
vi /etc/vfstab
cat /etc/vfstab |grep opt
#to mount to fsck point type pass at boot options
/dev/md/dsk/d6 /dev/md/rdsk/d6 /opt ufs 2 yes –
mount /opt
metainit -f d8 1 1 c0t1d0s5
metattach d6 d8
metastat -c d6 – ждем пока произойдет синхронизация

For swap (Пример создания зеркала для swap ):

metainit -f d10 1 1 c0t0d0s3
metainit d11 1 1 c0t1d0s3
metainit d9 -m d10
vi /etc/vfstab
cat /etc/vfstab |grep opt
#to mount to fsck point type pass at boot options
/dev/md/dsk/9 – – swap – no –
metastat -c d9 – ждем пока произойдет синхронизация
shutdown -i 6 -g 0 -y
metattach d9 d11
metastat -c d9 – ждем пока произойдет синхронизация
vi /etc/dumpadm.conf:

Для того чтобы можно было загружаться с вторичного зеркала, необходимо установить в него загрузочную область (bootblk) и в OpenBoot прописать альтернативное загрузочное устройство:

installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c3t1d0s0

eeprom boot-device
init 0
setenv boot-device disk0:a disk1:a
boot-device = disk0:a disk1:a

У меня немного по-другому:

boot-device="boot_disk1 boot_disk2"
nvramrc="devalias boot_disk1 /pci@1c,600000/scsi@2/disk@1,0:a devalias boot_disk2 /pci@1c,600000/scsi@2/disk@2,0:a"

Пример того, что должна показать команда metastat -c dN:
d3 m 9.8GB d4 d5 (resync-2%)
d4 s 9.8GB c0t0d0s1
d5 s 9.8GB c0t1d0s1


Oracle Solaris Cluster. Shared Physical Adapters (tagged VLAN)

Есть 2 SPARC сервера с 2мя сетевыми карточками на борту. Необходимо:
Active-Active Probe-based IPMP или Active-Standby Probe-based IPMP
Junction-Based Cluster Interconnect
Для номального отказоустойчивого решения нужно как минимум по 4 сетевых интерфейса на ноду, а имеется только 2.
Решение: Shared Physical Adapters с технологией tagged VLAN, чтобы разделить "приватный трафик" (специфичный только для внутреннего обмена между нодами) и "публичный" трафик. Физический канал один.

Интерфейсы: ce0 и ce1 (или bge0, bge1)
Старый ipmp:
cat /etc/hostname.bge0 netmask + broadcast + group test up addif deprecated -failover netmask + broadcast + up
cat /etc/hostname.bge1 netmask + broadcast + deprecated group test -failover standby up
Формула для расчета номера для "Public Network Personality" и "Private Network Personality":
Например, если physical adapter bge1, tagged VLAN with ID – 3 ("Public Network Personality")и tagged VLAN with ID – 5 (Private Сluster Interconnect), то получится 2 адаптера – bge3001 и bge5001.
Plumb bge3001:
ifconfig bge3001 plumb
Надо сделать пустым /etc/hostname.bge1, чтобы информация не считавалась больше.
Новый ipmp:
cat /etc/hostname.bge0 netmask + broadcast + group test up addif deprecated -failover netmask + broadcast + up
cat /etc/hostname.bge3001 netmask + broadcast + deprecated group test -failover standby up

This adapter is used on the public network also, you will need to configure it as a tagged VLAN adapter for cluster transport.
What is the cluster transport VLAN ID for this adapter? 5
Adapter "bge1" is an Ethernet adapter.
Searching for any unexpected network traffic on "bge5001" … done
Unexpected network traffic was seen on "bge5001".
"bge5001" may be cabled to a public network.
Do you want to use "bge5001" anyway (yes/no) [no]? yes
The "dlpi" transport type will be set for this cluster.

Отмена перехода на зимнее время

Проверяем, будет ли система переходить с летнего на зимнее время. Здесь важно поле idst=1, которое определяет летнее время (DST).

zdump -c 2013 -v Asia/Omsk | grep 2011 | grep -q isdst=1 && echo NOTGOOD

Если “NOTGOOD”, то читаем далее как исправить…

1) Oracle SW – ОС Solaris
Влияние перевода на “зимнее время”. Да есть
Наличие патчей.
SPARC Platform
• Solaris 8 patch 109809-17
• Solaris 9 patch 113225-29
• Solaris 10 patch 146470-04
x86 Platform
• Solaris 8 patch 109810-17
• Solaris 9 patch 116545-27
• Solaris 10 patch 146471-04
Рекомендации. Установить, перезагрузиться. Но можно и без перезагрузки – нужно смотреть на текущие патчи

2) Oracle SW – СУБД Oracle
Влияние. Нет, неподвержено (может быть подвержено ППО, если в БД хранится информация с указанием Time Zone)
Наличие патчей. Планируется постоянный патч в начале октября, Russia abandons DST in 2011 – Impact on Oracle RDBMS [ID 1335999.1]
Updated DST transitions and new Time Zones in Oracle Time Zone File patches [ID 412160.1]
Рекомендации. Дождаться выхода постоянного патча.

3) Oracle HW – Servers: Mid-range, Low-end; Storage
Влияние. Нет, неподвержено

Oracle HW – Servers: M-Series
Влияние. Есть.
Рекомендации. Для корректной работы времени на XSCF (XCP версии 1102 или более поздней) рекомендуется проделать следующую процедуру:
1) apply OS patch on all domains
2) halt Solaris on the domains
3) change TZ on XSCF to GMT-4 (Moscow)
4) reboot and check time on XSCF (XSCF reboot is not required but is a good step to check)
5) boot the domains and check time

4) IBM HW/SW – ОС AIX, p-Series HMC, VIOS
Влияние. Да есть
Наличие патчей. Для старых версий 5.3б только Workaround – GMT+4,
для AIX 6.1 и 7.1 – планируется постоянный патч в начале октября,
Рекомендации. Установить временную зону GMT+4, перезагрузиться.

5) HDS HW – Storage: Hi-End, Mid-Range; VTL
Влияние. Нет, неподвержено

6) Brocade HW – Storage: Hi-End, Mid-Range; VTL
Влияние. Есть.
Рекомендации. Workaround – UTC+4. Установить, перезагрузиться. Возможно использовать hareboot без прерывания сервиса

7) Linux SW – ОС RHEL
Влияние. Да есть
Наличие патчей. Ссылка неизвестна
Red Hat Enterprise Linux 6
Update to tzdata-2011h-2.el6 and tzdata-java-2011h-2.el6 (from RHEA-2011:1128-1) or later.
Red Hat Enterprise Linux 5
Update to tzdata-2011h-1.el5 and tzdata-java-2011h-1.el5 (from RHEA-2011:1128-1) or later.
Red Hat Enterprise Linux 4
Update to tzdata-2011h-1.el4 (from RHEA-2011:1128-1) or later.
Red Hat Enterprise Linux 3 Extended Life Cycle Support
Update to tzdata-2011h-1.el3 (from RHEA-2011:1128-1) or later.
Рекомендации. Установить, перезагрузиться.

Linux SW – ОС SLES
Наличие патчей.
Workaround – GMT+4,
Рекомендации. Установить временную зону GMT+4, перезагрузиться.

8) Microsoft SW – ОС Windows
Влияние. Да есть
Наличие патчей. Постоянный kb2570791,
Рекомендации. Установить, перезагрузка не требуется.


Unix Password Generator Script. Bash

chmod +x mkpw

function mkpw() { head /dev/urandom | uuencode -m – | sed -n 2p | cut -c1-${1:-8}; }



FreeBSD ports update

OS: FreeBSD 8.2


/etc/portsnap.conf не трогал, все по-умолчанию.

portsnap fetch
portsnap extract
portsnap fetch update


1. Скачивание и установка дерева портов.

для начало перейти в:

cd /usr

скачаем архив дерева портов, это будет быстрее чем обновлять через cvsup, ищем ближайщый ftp провайдера/города/страны


wget ‘’

перед скачиваем нужно обратить внимание чтобы архив был создан не позже чем 1-2 дня назад (желательно), некоторые ftp редко синхронизируются!

rm -rf /usr/ports

можно не большой скрипт который быстрее разархивирует:


open (OPEN, “tar -tf ports.tar.gz |”);

while (my $p = ) {
system(“tar -xvzf ports.tar.gz $p > /dev/null &”);

close OPEN;

(если perl не стоит, то скорее всего он будет из мира, по-моему путь #!/usr/local/bin/perl )

PS вообще-то, portsnap лучше, чем архив качать и еще есть rsyns

2. Обновление и исправление базы данных портов.

бэкап базы пакетов:

cp /var/log/dpkgdb.db /home/dpkgdb.db

можно заархивировать каталоги /etc/ /usr/local/etc программа может затереть конфиг (осторожно с символическими ссылками чтобы не удалить случайно важную информацию)

pkgdb -aF

-a all, -F исправлять не спрашивая, считается безопасный метод
если база сбита, то на крайняк можно pkgdb -fu

3. Редактирование /etc/make.conf (оптимизация, etc).

по-моему: в FreeBSD 7.2, FreeBSD 8.0 CURRENT) в CFLAGS присутствует скрытый дефект: -ffast-math, который оборачиваектся для нас -funsafe-math-optimizations -fno-math-errno
будьте внимательны

ee /etc/make.conf

WITCH=BATCH=yes # не выдавать окно в котором спрашивать с чем компилировать

# параллельная сборка портов, появилась с FreeBSD 7.2 лучше не включать

#MAKE_JOBS_NUMBER!= let $$(sysctl -n kern.smp.cpus) \* 4
#.for port in \
# emacs-devel cross-binutils libgpg-error perl5.8 libthai \
# libiconv m17n-lib nasm tightvnc db47 subversion* \
# ghostscript8 pth cdrtools* w3m* xmp libslang2 ezm3 dcget libxml2 \
# vim gperf ffcall ORBit2 py-gtk2 xkeyboard-config ruby18 clisp \
# jdk16 p7zip zsh libsndfile openjdk6 gettext stumpwm
#. if ${.CURDIR:M*/${port}}
#. endif

# оптимизация
# CPUTYPE=pentium4 # архитектура
# CFLAGS+=-g
# CFLAGS=-O2 -pipe -ffast-math -funit-at-a-time -fpeel-loops -ftracer
# -funswitch-loops -mmmx -msse -msse2 -march=pentium4 -mtune=pentium4
# COPTFLAGS=-O2 -pipe -ffast-math -funit-at-a-time -fpeel-loops -ftracer
# -funswitch-loops -mmmx -msse -msse2 -march=pentium4 -mtune=pentium4
# CXXFLAGS+=-fconserve-space

CPUTYPE=pentium4 # архитектура
CFLAGS=-O2 -pipe -funit-at-a-time -fpeel-loops -ftracer
-funswitch-loops -mmmx -msse -msse2 -march=pentium4 -mtune=pentium4
COPTFLAGS=-O2 -pipe -funit-at-a-time -fpeel-loops -ftracer
-funswitch-loops -mmmx -msse -msse2 -march=pentium4 -mtune=pentium4

# зеркало (указать свои)


4. Простое обновление.

если portupgrade не стоит, то поставить:
(потянет ruby)

cd /usr/ports/sysutils/portupgrade && make && make install && make clean

в headbook’е написано:

portupgrade -a

в других источниках сразу, рекомендуют:

portupgrade -arR

чтобы пройтись вдоль всех зависимостей

5. Полезные опции portupgrade.

полезные опции в portupgrade:
-W не чистить порт после обновления;
-w не чистить порт перед обновлением;
-F для того что скачать все исходники сразу, если проблемы с интернетом: portupgrade -aFrR
опции -f устанавливает дальше все зависимости, если даже где-то ошибка, то пытается продолжить дальше…;
-l /var/log/pport.log – записывает последнюю ошибку;
-L %s::%s создает файл в текущем каталоге, в котором записывает весь вывод установленных портов.

2 полезные команды make:
1) cd /usr/ports/deve/icu && make run-depends-list покажет зависимости данного порта,
2) make all-depends-list – все зависимости и зависимости тех портов которые зависят от порта

есть один важный недостаток, бывает версия порта называется не совсем корректно, например cairo-1.8.6_1,1 и portupgrade может всегда писать что порт устаревший

6. Исправление некоторых проблем.

если обновилось php, то нужно обновить его библиотеки:

pkg_info | grep ‘^php5*’ | awk ‘{print $1}’ | xargs portupgrade -f
|| pkgdb -fFu && portsclean -CLPP

для perl часто тоже может понадобиться:

pkg_info | grep ‘^p5-*’ | awk ‘{print $1}’ | xargs portupgrade -f
|| pkgdb -fFu && portsclean -CLPP

так же есть скрипт perl-after-upgrade

Java (jdk*) прийдеться руками ставить

очистить порты и каталог distfile:

portsclean -CDD

UPD: Еще варианты:

cvsup -g -L 2 ports-supfile
portsdb -Uu
portversion -l “<" (сморим что устарело)
portupgrade -arR (сам абгрейд)


сначала посредством cvsup обновляем порты, потом в /usr/ports/ делаем
#make fetchindex
и напоследок
#portsdb -uf
а потом уже посредством portupgrade обнавляем установленые порты


pkgdb –force –update
pkgdb –fix (здесь лучше отвечать по дефолту,чтобы зависимости


cvsup ports-supfile
portsdb -Uu
pkgdb -F (а лучше pkgdb -fu ?)

Что бы инсталировать порт надо:
cd /usr/ports/lang/php4-extensions
make config-recursive (что бы задать дополнительные опции)
Если я хочу вернуть “дефаулт” опции надо мне:
makе rmconfig-recursive
make install clean
Что бы удалить инсталированый порт надо:
pkg_delete php4-ext* (почему он мне не даёт удалить pkg_delete
php4-extensions1.0 ?)
Что бы апдейтит все инсталированые порты надо изпользовать portupgrade:
portupgrade -arRf , но после этой команды опять же не апдейтнулись все
пакеты. portupgrade сказал добавить -k , значит выходит для безопасного и рабочего
апдейта всех инсталированых портов изпользовать:
portupgrade -arRfк
А для отдельного порта вот так: #portupgrade -rRfк port.x.y


Squid(delay pools)+AD auth+calamaris+sqstat

Сразу укажу источники, потому как слямзено почти все.

OS: FreeBSD 8.2
Samba 3.5.11
Squid 3.1.15
Rejik 3.2.6
Calamaris 2.59
SqStat установлен на другой машине, здесь прописан только доступ к кэш-менеджеру. Про SqStat я уже писал ранее.


cd /usr/ports/net/samba35/
/usr/ports/net/samba35/>make config

[X] LDAP With LDAP support
[X] ADS With Active Directory support
[X] WINBIND With WinBIND support
[X] SYSLOG With Syslog support
[X] UTMP With UTMP accounting support
[X] POPT With system-wide POPT library

/usr/ports/net/samba35/>make install clean
cd /usr/local/etc
/usr/local/etc/>mcedit smb.conf

#======================= Global Settings ============================
# netbios имя нашего домена
workgroup = MYDOMAIN
# Комментарий сервера
server string = Corporate Proxy Server
# Режим безопасности
security = ADS
# Указываем сети, которым разрешен досту к прокси
hosts allow = 10.201.1.
# Указываем расположение логов
log file = /var/log/samba/log.%m
# Указываем размер логов (в килобайтах)
max log size = 1024
# Указываем имя контроллера домена (Внимание! Необходимо указать контроллер
# домена,выполняющий роль PDC, если он у вас один то не заморачивайтесь. У
# меня в сети много сайтов.)
password server = dc4.mydomain.local
# Указываем полное имя нашего домена
realm = mydomain.local
# Указываем тип хранилища
passdb backend = tdbsam
# Сетевые настройки
socket options = TCP_NODELAY
# Указываем самбе, что она не является PDC
local master = no
os level = 0
domain master = no
preferred master = no
domain logons = no
# Настройки кодировки
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866
# Настройки winbind
winbind use default domain = no
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes

Редактируем nsswitch.conf:
cd /etc
mcedit nsswitch.conf

group: files winbind
passwd: files winbind

Проверяем DNS:
nslookup dc4.mydomain.local

Ставим правильное время:
ntpdate NTP-server

Добавляем машину в домен:
net ads join -U user%pass
Using short domain name — MYDOMAIN
Joined ‘FREEBSD’ to realm ‘mydomain.local’

mcedit rc.conf

winbindd_flags=”-d 1″ # Здесь указываем уровень информативности дебага

wbinfo -p
wbinfo -t
wbinfo -u
wbinfo -g
wbinfo -D MYDOMAIN
net ads info

Проверяем аутентификацию
wbinfo –authenticate=MYDOMAIN\\ADAdmin%password

Получим инфу по пользователю:

Указываем пользователя от имени которого будет проходить аутентификация:
net setauthuser=MYDOMAIN\\proxy%password
net getauthuser


cd /usr/ports/www/squid31
/usr/ports/www/squid31/>make config

Выбираем следующее:

[X] SQUID_LDAP_AUTH Install LDAP authentication helpers
[X] SQUID_DELAY_POOLS Enable delay pools
[X] SQUID_SNMP Enable SNMP support
[X] SQUID_HTCP Enable HTCP support
[X] SQUID_CACHE_DIGESTS Enable cache digests
[X] SQUID_WCCP Enable Web Cache Coordination Prot. v1
[X] SQUID_IDENT Enable ident (RFC 931) lookups
[X] SQUID_ARP_ACL Enable ACLs based on ethernet address


/usr/ports/www/squid31/>make install clean

mcedit /usr/local/etc/squid/squid.conf
# Указываем Squid как проводить аутентификацию:
auth_param ntlm program /usr/local/bin/ntlm_auth –helper-protocol
auth_param ntlm children 5
auth_param ntlm keep_alive on
authenticate_cache_garbage_interval 15 minute
authenticate_ttl 5 minute
auth_param basic program /usr/local/bin/ntlm_auth –helper-protocol
auth_param basic children 5
auth_param basic realm Squid Proxy-Server
auth_param basic credentialsttl 20 minute
auth_param basic casesensitive off
# Теперь указываем Squid где брать информацию о группах пользователей
external_acl_type nt_group %LOGIN /usr/local/libexec/squid/
# Рекомендованная минимальная конфигурация:
acl manager proto cache_object
acl localhost src
acl to_localhost dst
acl localnet src # RFC1918 possible internal network
acl localnet src # RFC1918 possible internal network
acl localnet src # RFC1918 possible internal network
# Описываем основные порты

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 21 # ftp
acl Safe_ports port 443 563 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
#acl Safe_ports port 631 # cups
#acl Safe_ports port 110 # POP3
#acl Safe_ports port 25 # SMTP
acl purge method PURGE

# Указываем пулы адресов нашей сети/сетей
acl lan src
acl acl1 src
acl acl2 src
acl acl3 src
# Указываем группы доступа
acl inet-admins external nt_group inet-admins # Доступ для админов

# TAG: http_access

http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Напоследок стандартные правила
http_access deny all
http_reply_access allow all
icp_access allow all

# Указываем порт, на котором будет слушать Squid
http_port 3128

# ——————————————————————–
# TAG: cache_mem (bytes)
cache_mem 256 MB
# TAG: maximum_object_size_in_memory (bytes)
maximum_object_size_in_memory 80 KB

# ——————————————————————–
# TAG: cache_dir
cache_dir ufs /usr/local/squid/cache 1024 16 256
# TAG: minimum_object_size (bytes)
minimum_object_size 10 KB
# TAG: maximum_object_size (bytes)
maximum_object_size 32 MB
# TAG: cache_swap_low (percent, 0-100)
# TAG: cache_swap_high (percent, 0-100)
cache_swap_low 90
cache_swap_high 95

# ——————————————————————-

# TAG: access_log
access_log /usr/local/squid/logs/access.log squid

# TAG: pid_filename
pid_filename /usr/local/squid/logs/

# TAG: ftp_user

# TAG: ftp_passive
ftp_passive on

# ——————————————————————–

# TAG: cache
acl QUERY urlpath_regex cgi-bin \?

# TAG: refresh_pattern
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320

# TAG: quick_abort_min (KB)
# TAG: quick_abort_max (KB)
# TAG: quick_abort_pct (percent)
quick_abort_pct 80

# ——————————————————————-

#Кол-во пулов
delay_pools 3

# TAG: cache_mgr

# TAG: cache_effective_user
cache_effective_user squid

# TAG: delay_access
delay_access 1 allow acl1
delay_access 2 allow acl2
delay_access 2 allow acl3

# TAG: delay_parameters
delay_class 1 2
delay_class 2 2
delay_class 3 2

delay_parameters 1 -1/-1 64000/64000
delay_parameters 2 -1/-1 -1/-1
delay_parameters 3 -1/-1 100000/100000

# TAG: delay_initial_bucket_level (percent, 0-100)
delay_initial_bucket_level 50

# TAG: error_directory
error_directory /usr/local/etc/squid/errors/ru

# TAG: hosts_file
hosts_file /etc/hosts

# TAG: fqdncache_size (number of entries)
fqdncache_size 16386

# TAG: memory_pools_limit (bytes)
memory_pools_limit 64 MB

# TAG: forwarded_for on|off
forwarded_for off

# TAG: cachemgr_passwd
cachemgr_passwd “your password” all

# TAG: coredump_dir
coredump_dir /usr/local/squid/cache

no_cache deny QUERY manager localhost
visible_hostname proxy.mydomain.local

#Путь к редиректору:
redirect_program /usr/local/rejik/redirector /usr/local/rejik/redirector.conf
redirect_children 10

В приведенном выше листинге вырезаны ACLы и органичения для сайтов и добавлена поддержка редиректора Rejik.


cd /usr/ports/www/rejik
/usr/ports/www/rejik/>make install clean
Далее настраиваем Rejik под себя. В блэк-листы добавляем сайты, причем можно вставить как текстовую строку, так и регулярное выражение.


cd /usr/ports/www/rejik
/usr/ports/www/rejik/>make install clean

cd /usr/ports/www/calamaris
/usr/ports/www/calamaris/>make install clean

У меня каламарис запускается по крону:
30 23 * * * /usr/local/etc/squid/aaa
1 1 1 * * /usr/local/etc/squid/reload

Содержимое aaa:
/bin/cat /usr/local/squid/logs/access.log | /usr/local/bin/calamaris -D 10 -d 20 -P 60 -r 50 -s -t 20 -f squid -F html -U M > /usr/local/squid/logs/stathttp/stat

Содержимое reload:
/usr/bin/killall -9 squid
sleep 10
/usr/local/etc/rc.d/ start
/bin/cat /dev/null > /usr/local/squid/logs/redirector.log
/bin/cat /dev/null > /usr/local/squid/logs/redirector.err
/bin/cat /dev/null > /usr/local/squid/logs/store.log

Installing Bacula-Web 1.2 on Debian 6.0 Squeeze

Ставил так:
apt-get install apache2 php5 gettext php5-gd php-db php5-mysql
cd /home
tar -xzf bacula-web-1.2.tgz -C /var/www/bacula-web
Далее change bacula.conf in bacula-web:
pass = свой пас на Мускул


Доступ на запись в config file:
chmod 777 -R /var/www/bacula-web/templates_c

Перезапуск apache server:
/etc/init.d/apache2 restart

MY Experiences
Bacula-Web Project Installation guide for Debian/Ubuntu

Debian Linux Kernel Firmware. Ethernet drivers missing

При установке нового Debian’а (6.0 squeeze) на старенький сервер HP получил запрос драйверов на сетевую карту. Решил продолжить и естественно система не увидела драйвера после запуска… В логах было:
Loading of /lib/firmware/e100/d101m_ucode.bin for e100 driver failed: No such file or directory
e100_request_firmware: Failed to load firmware “e100/d101m_ucode.bin”: -2

“Большинство микропрограмм включенных в ядро Linux были несвободными и были перемещены в пакет firmware-linux-nonfree.” –

1. Я решил установкой пакетов: firmware-linux, firmware-linux-nonfree, firmware-linux-free
2. Думаю можно было и проще – закинуть d101m_ucode.bin, который извлекается из firmware-linux-nonfree, в /lib/firmware/e100/

3750 Switch Stack IOS Upgrade

Все делал по официальному цисковскому руководству. Немного добавлю еще с разных сайтов…

Дано: 2xCisco Catalyst 3750G-24TS-S, IOS base, без крипты. Надо загрузить ИОС с криптой на циски! ИОСы можно загрузить с сайта
Как видно из названия топика коммутаторы в стеке, подключал крест на крест.
По руководству с некоторыми добавлениями:
show switch (посмотрели какие свичи в стеке, кто мастер)
dir flash1: (смотрим доступное место на первом свиче)
dir flash2: (смотрим доступное место на втором свиче)
copy tftp: flash1: (копируем бинарник с ТФТП сервера во флэш первого)
copy tftp: flash2: (копируем бинарник с ТФТП сервера во флэш второго)
verify /md5 flash:nameoffile.bin (просчитываем MD5, правильное значение нам говорит сайт при скачивании бинарника)
show boot (можно посмотреть какой образ грузится в данный момент)
boot system switch all flash:/nameoffile.bin (выставляем загрузку системного имэджа с нового бинарника)
write memory (NV мемори записали)
show boot (ниже комманды для проверки и перегрузка)
dir flash1:
dir flash2:
show version
show switch

Ссылки: Catalyst 3750 Software Upgrade in a Stack Configuration with Use of the CLI
Устанавливаем Advanced TFTP сервер (Ubuntu)
Обновим IOS


Если описать одним словом, то охренительно! Dropbox — облачное хранилище данных, позволяющее хранить данные на серверах в облаке и разделять их с другими пользователями в Интернете. Существует 2 способа размещения данных – с помощью клиента и через сайт. Клиент есть под Windows, Linux, Mac, Mobile (Windows Mobile, Android, Blackberry и говноФоны и Пады). Главная фишка – синхронизация, причем она прозрачна для юзера! Допустим, положил на работе файло в папочки, пришел домой, а оно уже везде само себя засинхронизовало, удобно! Ведется также история загрузок, чтобы была возможность восстановить данные. История изменения файла тоже присутствует! Что касается обмена, то можно шарить всем и только между определенными юзерами. И наконец самое главное для русского человека – бесплатность! Относительная конечно… Всем пользователям бесплатно выделяется 2 Гб файлового пространства с возможность расширить до 10 Гб! Известных способов пока 2 – реферралы и так называемые квесты! За реферрала дают 256 Мб, а за последний квест – Dropquest от 1 Гб! Если уж сильно прикопаться, то есть два даже не минуса, а недочета – отсутствие русского интерфейса (Сраные америкосы… Если брать твиттер как пример, то и не будет его! Сколько миллиардов вам необходимо чтобы замутить мультилэнгвич?), ну и естественно относительно малый, а нам всегда захочется больше, хоть 100 Гб дай на халяву, объем хранилища.

В итоге, для чего этот сервис? Я лично использую:
как закрытый/открытый способ обмена;
для хранения заметок по администрированию (ибо иногда не могу вспомнить что делал час назад, что, кстати, подтолкнуло меня завести блог – тупо как хранилище знаний/действий);
временное пристанище файлов для обмена между рабочим и домашним компом.

Ссылочки по теме:
Dropquest 2011. Начало: Суббота 15 января 2011 в 22:00 МСК (11:00 утра по тихоокеанскому времени). Участникам (кто разгадает головоломку в течение 2-х недель) будет бонус 1 ГБ к аккаунту.
Коллективный разум на Хабре ака ответы к квесту
Ответы на
Сайт с прохождением, описанием и пояснением по шагам – (Почему-то в данный момент недоступна, жаль. Надеюсь временно)

Ubuntu 10.10. Install From USB Drive

Прикупили ноут Acer TM8371 без CD/DVD-привода с предустановленной вистой. Естественно надо переставлять. Первым для установки выбрал Linux Ubuntu 10.10! Для установки необходимы флешка от 1 Гб и софт (Universal USB Installer). Предварительно необходимо перенести все с флэшки в укромное место, так как устройство будет отформатировано! Запускаем софт, в настройках выбирает образ и имя флэш диска в системе. Далее, по-хорошему, надо выставить загрузку с USB Flash Drive в БИОСе ноута и наслаждаться установкой. НО! У меня в процессе запуска инсталлятора вылезло: "No DEFAULT or UI configuration directive found"! Самое интересное, что гугля много таких запросов знает. Решение: переименовать папку isolinux в syslinux в корне флэшки и файлы isolinux.bin, isolinux.cfg в syslinux.bin, syslinux.cfg в той же папке!

Установка Ubuntu 10.10 на флешку
Universal USB Installer – Easy as 1 2 3

Kraftway Storage 100 KS101 aka Infotrend S12E-S1132-4A

Расскажу-ка я про СХД Kraftway Storage 100 KS101. Москоу была столь любезна, что предоставила нам эту полочку.

Основные характеристики:
Количество контроллеров – 1
Объем кэш-памяти контроллера – 1 ГБ
Поддерживаемые уровни RAID – 0, 1 (0+1), 3, 5, 6, 10, 30, 50, 60
Энергонезависимое питание – батарейка кэш-памяти контроллеров позволяет хранить данные в кэш-памяти контроллера в течение 72 часов (ориентировочно)
Внешние интерфейсы
Тип внешнего интерфейса хост-канала – Gigabit Ethernet, 1 Гбит/с (протокол iSCSI)
Количество внешних хост-каналов – 2 x 4
Разъемы внешних хост-каналов – 2 х 4 разъема RJ-45 (Gigabit Ethernet) на задней панели
Интерфейсы управления – управление по Ethernet с использованием штатных хост-каналов
Жесткие диски
Количество отсеков для жестких дисков – 12
Тип интерфейса устанавливаемых жестких дисков – SAS или SATA II, 300 МБ/с
Габариты устанавливаемых жестких дисков – 3.5" x 1"
Поддержка горячей замены жестких дисков – есть, доступ с передней панели
Основное шасси
Тип корпуса – 19" Rackmount высотой 2U
Количество источников электропитания – 2
Эффективная мощность каждого источника питания – 350 Вт, режим коррекции фактора мощности PFC
Функции источников питания – резервирование (1+1), горячая замена
Охлаждение – 3 вентилятора охлаждения с горячей заменой
Мониторинг и управление
Варианты управления – локальная панель администрирования с ЖК экраном, удаленный мониторинг и управление по сети Ethernet 10/100Mbits, последовательный порт RS-232C, сообщение об ошибках по шине I2C
ПО управления
RAIDWatch консоль администрирования,программное обеспечение SANWatch Snapshot, Telnet через Ethernet порт, VT-100 терминал через последовательный порт

По управлению все очень просто. Единственное надо настроить IPшники на CH0-CH4 для DATA и LAN0 для управления. В Host LUN Mapping делаем маппирование раздела. С виндового сервака (Windows 2003 Server) необходимо подключаться по средством iSCSI Initiator от Мелкософта. Во вкладке Discovery есть Target Portals; нажимаем Add – IPшник. Далее в Targets делаем LogOn… Там балуемся пока не будет статуса Connected! Все! Должен появиться новый раздел в диспетчере логических дисков! К юнихам еще не подключал, напишу позже! А вообще классная вещь, особенно меня радует множественный доступ, т.е. один и тот же ЛУН можно юзать одновременно на разных серваках…


Настроил замечательную вещь – SqStat! Ну ооочень полезная вещь! Этот скриптик позволяет увидеть активные squid соединения юзеров! Зачем? А затем, что можно можно легко увидеть кто в данный момент качает, и таким образом загружает канал!!! Скрипт использует cachemgr протокол для получения инфы с squid сервера. Это есть тоже гуд, т.к. не обязательно скрипт держать на серваке с сквидом!

Что имеется:
Web сервак – 1 штука
Proxy сервак – 1 штука

На web сервере:
tar zxvf sqstat-1.20.tar.gz
mv sqstat-1.20/ /somewebdir/sqstat
cd sqstat/
ln -s sqstat.php index.php
$squidhost[0]=""; //IP proxy сервера
$squidport[0]=3128; //порт proxy
$cachemgr_passwd[0]="somepassword"; //пароль cachemgr; устанавливается в squid.conf

На proxy сервере:
acl manager proto cache_object
acl webserver src
http_access allow manager webserver
http_access deny manager
cachemgr_passwd somepassword all
Здесь все понятно. Необходимо только указать в АЦЛах web сервак и пароль cachemgr’а…

На про sqstat
Официальный сайт вроде

Архив “Что? Где? Когда?”

Недавно awas1952 писал что, по адресу можно смотреть игры ЧГК старых лет! Отличная идея. Жаль что нельзя выбирать что смотреть. Создатели обещают в будущем сделать много вкусностей…ждем-с!

UPD: По этой же теме

Cron в AIX

Оказывается! Цитирую с форума: "I’m pretty sure the */4 is a linux convention and can’t be used in AIX….You’ll just have to put in the times: 0 0,4,8,12,16,20 * * * /home/location/scriptname."


Софт для LJ и WP

Некоторое время назад перешел на публикацию/редактирование постов через специализированный софт под Windows. Мнений в интернетах дохрена, но большинство за 3 проги: Post2Blog, Semagic и Microsoft Live Writer. Я пользую только первые 2, так как мелкомягкая у меня сначала не запустилась…попробовал на другом компе – ерунда! А две юзаю, потому что одна для ЖЖ, а другая для Вордпресса. Очень удобно! Единственный недостаток – нельзя делать вставки типа Ютуба по аналогии с панелью WP!




Наконец-то вышел Red Hat Enterprise Linux 6!

Среди ключевых изменений и новшеств можно выделить:

  • Linux-ядро 2.6.32;
  • полная поддержка KVM на 64-битных архитектурах (AMD64 и Intel 64), отсутствие поддержки RHEL6 в качестве хоста на Xen;
  • использование ext4 в качестве файловой системы по умолчанию, расширенная поддержка IPv6 в NFS;
  • SSSD (System Security Services Daemon) — набор сервисов для управления идентификацией и аутентификацией;
  • хранилища данных: поддержка чтения данных о вводе-выводе (I/O alignment and I/O size) и их эффективного использования, DM-Multipath (Device Mapper Multipathing), управление логическими томами в LVM (Logical Volume Manager) через system-config-lvm;
  • управление питанием: инструменты powertop и tuned (для мониторинга системных компонентов и их настройки);
  • включенный по умолчанию SELinux;
  • поддержка RPM-пакетов, сжатых с XZ (на базе LZMA2, но с большой эффективностью)
  • инсталлятор: улучшенный интерфейс графического установщика, определение пароля для бэкапов файловых систем с шифрованием, дополнительные сведения о ходе установки в логах.


10 centuries in 5 minutes