Хочешь организовать публичный доступ к сетевым сервисам, но беспокоишься за безопасность? Решил переложить часть своих обязанностей на другого человека, но не хочешь наделять его правами? Управляешь хостингом и желаешь дать своим клиентам настоящую свободу? С помощью системы виртуализации Linux VServer легко решишь все эти задачи без головной боли и потери производительности.
Мы не раз говорили о системах виртуализации уровня операционной системы (песочницы) на примере FreeBSD Jail. Такой тип виртуализации позволяет разделить одну ОС на несколько виртуальных, каждая из которых будет обладать собственным окружением исполнения (библиотеки, каталоги /devH / proc, набор стандартных утилит), процессами и IP-адресом.
В отличие от эмуляции, обеспечиваемой такими технологиями, как Xen, VMWare и KVM, виртуализация уровня операционной системы не эмулирует аппаратные составляющие компьютера, а создает изолированные контейнеры поверх ядра ОС. Это своего рода расширенная трактовка понятия «процесс» с более глубоким уровнем изоляции и разделения ресурсов, предоставляемых ядром. Обладая всего одним явным недостатком, заключенным в невозможности создания контейнеров для исполнения приложений других ОС, песочница наделена двумя неоспоримыми преимуществами: незначительной потерей производительности (в районе 2-3%) и простотой развертывания виртуальных окружений. Виртуализация особенно популярна среди хостинг-провайдеров и создателей сервисов, предоставляющих площадки для организации облачных вычислений. Ведь в отличие от обычного хостинга, который выделяет клиентам аккаунт на сервере и доступ к набору предустановленных служб, хостинг, использующий виртуализацию, способен дать пользователям безграничный контроль над виртуальным сервером, возможностью устанавливать любое программное обеспечение и полным отсутствием ограничений на количество сайтов, почтовых ящиков, баз данных, интерпретаторов языков программирования. И все это с полной изоляцией виртуального сервера от хост-системы и простой системой развертывания.
ПОЧЕМУ VSERVER? Сегодня каждая из наиболее популярных UNIX-систем предоставляет возможности для организации виртуализации на уровне операционной системы. Во FreeBSD уже давно существует технология Jail, в Solaris изолированные контейнеры называются зонами (Zones), а среди решений для Linux наибольшей популярностью пользуются OpenVZ и Linux VServer.
Традиционно OpenVZ (openvz.org’) считается более взрослой, серьезной и развитой системой, этаким выбором профессионалов. Развиваемая сообществом Linux VServer (linux-vserver.org)« напротив, отличается простотой реализации и непретенциозностью. В то время как OpenVZ развивается по пути многофункциональной и сложной технологии для поддержки и управления VPS (Виртуальные Частные Серверы) в больших организациях и крупных сервисах, VServer следует идеологии простоты и удобства FreeBSD Jail. Система Linux VServer—это проверенный годами (более 7 лет разработки) небольшой, вылизанный и отлаженный патч для ядра Linux; он наделяет всем необходимым для организации надежной и производительной системы виртуализации, единственный недостаток которой— невиртуализируемый сетевой стек.
Программный пакет Linux VServer состоит из двух частей: патча для Linux-ядра и набора утилит для управления виртуальными серверами. Прекомпилированные ядра с включенным VServer доступны в пакетах для многих популярных дистрибутивов, поэтому сначала мы рассмотрим вариант установки средствами менеджера пакетов в Ubuntu 9.04, а уже после перейдем к ручному способу инсталляции, предполагающему выкачивание исходников ядра с kernel.org и компиляцию утилит. Итак, операционная система Ubuntu 9.04, ядро 2.6.28, ночь, серверная.
Шаг 1. Добавляем в apt keyring ключ для доступа к репозиторию VServer:
$ sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com BB9BFB5B
Шаг 2. Добавляем ссылки на репозитории VServer в /etc/apt/sources.list:
deb http://ppa.launchpad.net/ christoph-lukas/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ christoph-lukas/ppa/ubuntu jaunty main
ШагЗ. Устанавливаем новое ядро и утилиты:
$ sudo apt-get update
$ sudo apt-get install linux-image-vserver linux-headers-vserver util-vserver
Та же процедура, с полной пересборкой ядра и компиляцией утилит.
Шаг 1. Получаем ядро и патч:
# cd /usr/src
# wget http://www.kernel.org/ pub/linux/kernel/v2.6/linux-2-.6.28.7.tar.bz2
# wget http://vserver.13thfloor. at/Experimental/patch-2.6.28.7-vs2.3.0.36.8.diff
Шаг 2. Накладываем патч на ядро, копируем существующий конфиг и запускаем конфигуратор:
# tar -xjf linux-2.6.28.7.tar.bz2
# cd linux-2.6.28.7
# cp /boot/config-X.X.X .
# patch -pi < ../patch-2.6.28.7-vs2.3.0.36.8.diff
# make menuconf ig
Шаг 3. Изменяем конфигурацию пункта меню Linux VServer:
Enable Legacy Kernel API - Поддержка устаревшего API первой версии патчей. Отключаем
Enable Virtualized Guest Time — Возможность установки индивидуальной временной зоны для каждого окружения. Актуально для владельцев хостингов, во всех остальных случаях бесполезна и создаст дополнительный оверхед для системных вызовов, работающих со временем
Enable Proc Security — Скрывать все процессы, не принадлежащие окружению, в каталоге /ргос этого окружения. Hard CPU Limits — Жесткое ограничение окружений по времени использования процессора. Включаем Tag NFSD User Auth and Files — Поддержка встроенного в ядро NFS-демона
Maximum number of Contexts — Максимально возможное число окружений
Шаг 4. Устанавливаем ядро:
# make
# make modules_install
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.28.7-vs2.3 Шаг 5. Правим конфигурационный файл загрузчика:
#VI/BOOT/GRUB/MENU.LST
title Linux 2 . 6 .28 .7-vs2 . 3 root (hdO,0)
kernel /boot/vmlinuz-2.6.28.7-vs2.3 root=/dev/hdal ro
initrd /boot/initrd.img-2.6.28.7-vs2.3
boot
Шаг 6. Получаем и устанавливаем набор утилит для управления виртуальными серверами:
# cd /tmp
# wget http://ftp.linux-vserver.org/pub/utils/util-vserver/util-vserver-0.30.215.tar.bz2
# tar xjf util-vserver-0.30.215.tar.bz2
# cd util-vserver-0.30.215
# ./configure –prefix=/usr –sysconfdir=/etc
# make install
Перед тем как перейти к запуску виртуальных окружений («контекстов» в терминологии Linux VServer), мы должны соответствующим образом подготовить операционную систему. Первое, что следует сделать—примонтировать файловую систему, на которой будут располагаться виртуальные окружения, с опцией tag. Это даст ядру возможность устанавливать принадлежность определенных файлов конкретному контексту, что, в свою очередь, позволит устанавливать дисковые квоты на этот контекст.
Открываем файл /etc/fstab, находим строку, ответственную за монтирование файловой системы, содержащей каталог /var/lib (виртуальные окружения по умолчанию хранятся в /var/lib/vservers), и добавляем к опциям ее монтирования флаг tag. Результирующая строка должна выглядеть примерно так:
/dev/sda3 /var ext3 tag 1 1
Если каталог находится на файловой системе reiserfs, добавляем также опцию attrs. Отправляем сервер в ребут.
Теперь необходимо установить так называемый «Chroot Вагпег», который закроет процессы виртуальных сред в указанном каталоге, откуда ни один процесс окружения не сможет выбраться:
# setattr –barrier /var/lib/vservers
В довершение подготовительных действий прописываем в переменную ядра kernel.vshelper путь к скрипту, который будет корректно останавливать виртуальный сервер:
# echo “kernel.vshelper = /usr/lib/util-vserver/vshelper” » /etc/sysctl.conf
# SySCtI -p If*
Для начала необходимо создать минимальное Linux-окружение, где будут работать изолированные процессы. Сделать это можно с помощью специальных утилит, но гораздо легче и быстрее просто скачать готовый образ (шаблон) с одного из специальных ресурсов. Мы обратимся к хранилищу ftp: //ftp. pld-linux.org/people/hawk/vserver-templates/, в котором размещены готовые образы последних релизов CentOS, Debian, Fedora и Ubuntu, предназначенные для применения в системе VServer. Получим образ последнего релиза Ubuntu (ты можешь выбрать любой другой, по своему вкусу):
$ cd /tmp
$ wget ftp://ftp.pld-linux.org/people/hawk/vserver-templates/Ubuntu/jaunty-i386.tar.bz2
С помощью специальной команды создадим из него готовый к работе виртуальный сервер:
# vserver vpsl build \
—context 10 \ –hostname vpsl.host.ru \ —interface ethO: 192 .168.1.1/24 \ –initstyle plain \ -m template — \ -d jaunty \ -t /tmp/jaunty-i386.tar.bz2
Приведенная команда развернет образ в каталог /var/lib/ vservers/vpsl и проведет его начальное конфигурирование. Первая строка говорит о том, что новое виртуальное окружение должно быть создано с именем vpsl, вторая указывает на номер контекста (он может быть любым), третья устанавливает сетевое имя виртуального сервера в vpsl. host.ru, четвертая—привязывает его к сетевому интерфейсу ethO и назначает IP-адрес 192.168.1.1, в пятой указан способ инициализации окружения (plain—запуск/sbin/init). Оставшиеся строки говорят о том, что в качестве источника для сборки окружения должен быть использован шаблон /tmp/ jaunty-i386.tar.bz2, основанный на дистрибутиве Ubuntu 9.04 (Jaunty Jackalope).
VServer поддерживает множество других методов сборки окружений, включая полностью автоматизированные (с автоматическим выкачиванием дистрибутива), с которыми ты можешь ознакомиться, прочитав man-страницу vserver-build.
Теперь запустим вновь созданный виртуальный сервер и убедимся в его работоспособности:
# vserver vpsl start
# vserver-stat
Сервер должен присутствовать в списке. Остановим сервер:
# vserver vpsl stop
Все внешние по отношению к окружению настройки виртуальных серверов, такие как ограничения, доступные сетевые интерфейсы и т.д., хранятся в каталоге / etc/vservers/HMH_cepBepa. Поэтому переходим в каталог / etc/servers/vpsl и приступаем к шаманству с конфигурационными файлами.
Для начала взглянем на каталог interfaces, который уже содержит один подкаталог с названием «О». Он хранит настройки первого виртуального сетевого интерфейса, доступного внутри виртуального окружения. Linux VServer, как и система FreeBSD Jail, использует сетевой интерфейс
хост-системы и закрепленный за ним IP-псевдоним для предоставления виртуальным окружениям доступа во внешний мир. Для хранения настроек каждого сетевого интерфейса используется отдельный каталог с числовым именем (0— первый интерфейс, 1—второй и т.д.) Поэтому для того чтобы оснастить виртуальный сервер дополнительным сетевым интерфейсом, необходимо создать каталог с именем «1» и поместить в него несколько файлов с настройками:
Привяжем сетевой интерфейс к устройству ethl хост-системы
# echo “ethl” > dev
Зададим IP-адрес и маску сети
# echo “192.168Л.2й > ip
# echo “24″ > prefix
Обрати внимание, что если ты сейчас запустишь виртуальный сервер и взглянешь на вывод его команды ifconfig, то увидишь, что оба сетевых интерфейса уже полностью настроены и готовы к работе. Скрипты и утилиты VServer делают всю грязную работу сами, и любой виртуальный сервер можно настроить с помощью внешних конфигурационных файлов.
Это же утверждение относится и к монтируемым файловым системам. Вместо того, чтобы заходить на сервер и редактировать /etc/fstab, ты можешь поместить монтируемые ФС в файл /etc/vservers/vpsl/fstab. По умолчанию он уже содержит строки, ответственные за подключение файловых систем /dev, /ргоси /tmp, к которым можно добавить, например, монтирование дерева портежей хост-системы (если в качестве виртуального сервера используется Gentoo):
/usr/portage /usr/portage none bind,rw 0 0
Мы присвоили виртуальному окружению «фиктивный» IP-адрес из внутреннего диапазона адресов, поэтому гостевой сервер не сможет получить доступ к внешней сети, а без этого он и не сервер. Есть два распространенных способа решения этой проблемы:
1. Присвоить виртуальному окружению белый IP-адрес (нужно покупать у провайдера).
2. Настроить NAT между хост-машиной и виртуальным сервером, что позволит перенаправлять исходящий от виртуального сервера трафик на внешний сетевой интерфейс хост-системы и пускать нужный входящий трафик прямиком на адрес виртуального сервера.
Рассмотрим второй вариант подробнее. Настроим SNAT, чтобы исходящий от виртуального сервера трафик выходил наружу:
# iptables -t nat -A POSTROUTING -s 192.168.1.1/24 \
-d ! 192.168.1.1/24 -j SNAT –to-source <Внешний IP>
И DNAT, чтобы предназначенный для определенных сетевых сервисов трафик перенаправлялся на IP-адрес виртуального сервера (пример для web-сервера, работающего под управлением VServer):
# iptables -t nat -A PREROUTING -s ! 192.168.1.1/24 \
-m tcp -p tcp –dport 80 \
-j DNAT –to-destination 192.168.1.1:80
Настройки ограничений ресурсов, накладываемых на виртуальный сервер, хранятся в каталогах dlimits и rlimits. По умолчанию эти каталоги не существуют, поэтому сервер может отъедать ресурсы почти на равных с хост-системой. Чтобы исправить ситуацию, создадим каталог /etc/vservers/vpsl /dlimits, который будет хранить настройки, накладывающие лимит на использование дискового пространства:
# cd /etc/vservers/vpsl
# mkdir dlimits
Создадим каталог для настроек корня файловой системы виртуального сервера (на самом деле имя может быть любым):
# mkdir dlimits/root
# cd dlimits/root
Укажем каталог, для которого будут действовать ограничения:
# echo “/var/lib/vservers/vpsl” > directory
Лимит на количество индексных дескрипторов (максимальное количество файлов):
# echo “10000″ > inodes_total
Максимальное пространство, которое могут занимать файлы этого виртуального окружения (укажем 10 Гб):
# echo “10485760″ > space_total
Процент зарезервированного для пользователя root пространства:
# echo “5″ > reserved
Теперь установим тэг на существующие файлы виртуального сервера, чтобы ядро смогло определить их принадлежность vpsl и правильно рассчитать лимиты (файлы, созданные виртуальным окружением, автоматически получат этот тэг):
# chxid -URx -c vpsl /var/lib/vservers/vpsl
Все, теперь можно запустить виртуальный сервер и выполнить команду vdlimit, которая покажет занятые виртуальным сервером ресурсы ФС и лимиты:
# vdlimit –xid vpsl /var/lib/vservers/vpsl
От лимитов всегда можно избавиться, просто удалив каталог /etc/ vservers/vpsl/dlimits/root и выполнив команду vdlimit с флагом ‘–remove’, которая отменит их для запущенного сервера:
# vdlimit —xid vpsl –remove /var/lib/vservers/vpsl
Для хранения настроек лимитов на виртуальную память и процессорное время предусмотрен каталог /имя_контекста/ rlimits. Linux VServer использует системный вызов setrlimit(2) для накладывания лимитов на ресурсы контекста. Всего существует 22 различных вида ресурсов (15 в ванильном ядре + 7, добавляемые Linux VServer), наиболее интересные из них перечислены ниже (страница = 4 Кб для х86):
сри — Процессорное время, выделяемое контексту, в миллисекундах
f size — Размер файла в килобайтах
rss - Размер резидентной памяти в страницах пргос — Количество процессов
as — Размер адресного пространства контекста в страницах nice — Приоритет, который может получить процесс контекста nsock - Число открытых сокетов openf d — Число открытых файловых дескрипторов
Чтобы установить максимальное значение для каждого из этих ресурсов, достаточно записать число в одноименный файл внутри каталога /etc/ vservers/имя_cepвepa/rlimits. Например, ограничим адресное пространство контекста значением 100 Мб (25600*4 Кб):
# mkdir /etc/vservers/vpsl/rlimits
# echo “25600″ > /etc/vservers/vpsl/rlimits/as
Кроме того, в Linux VServer встроена гибкая система ограничения контекстов в правах и полномочиях, возможности которой можно использовать для наделения контекста особыми привилегиями или, наоборот, лишения прав. Все, что позволено контексту, должно быть перечислено в файле / еКАзегсеге/имя.контекста/ссараЬШпез. Вот возможные флаги этого файла:
SET_UTSNAME — Возможность использовать системные вызовы setdomainname (2) и sethostname(2) для установки имени хоста SET_RLIMIT — Право использовать set г limit (2) для управления лимитами • RAW_ICMP — Право использовать “сырые” сокеты SYSLOG — Использование syslog(2) для ведения журналов SECURE_MOUNT - Разрешить mount (2) SECURE_REMOUNT - Разрешить перемонтирование ВI NARY_MOUNT - Бинарное /сетевое монтирование QUOTA_CTL - Разрешить накладывать квоты ADM I N_MA Р PER - Разрешить доступ к “device mapper” ADMIN_CLOOP — Доступ к loop-устройству KTHREAD — Возможность создавать потоки ядра
Существует и множество других флагов, которые следует указывать в файлах flags, nflags, bcapabilities и neaps. Детальное их описание можно найти на страничке linux-vserver.org/util-vserver.Capabilities and Flags.
Но как же без него? Если нет привычной базы данных SQL, то что? Вот, что я тебе скажу. Первым кинь камень в того, кто скажет, что в большом проекте без SQL не обойтись. Обойтись можно. И при этом некисло выиграть!
Позже можно доставить еще сервер, и еще, но это уже не поможет, если писать надо много и постоянно. Ведь каналы между серверами рано или поздно будут забиты так, что новые данные будут появляться на подчиненных узлах гораздо позже, чем это допустимо. А кому интересно ждать, пока его комментарий появится на странице (самые нетерпеливые тупо жмут рефреш, чем еще сильнее нагружают систему)? Светлые умы подумали и решили: а что, если все базы данных будут сразу главными? У тебя есть три сервера, и на каждом из них — вся информация, а приложение случайно или по определенному алгоритму выбирает, с каким сервером работать. Изменения на одном сервере сразу передаются на два других (это называется master-master или multi-master репликация), и в любой момент везде есть самые последние данные, при этом писать и читать информацию можно с любого сервера. Но тут одна сложность — у самых популярных баз эта функция появилась только недавно, да и в настройке и поддержке очень уж сложная. И не дай бог, придется восстанавливать данные или потерянные транзакции — тут вообще без пива не разберешься. Ну и, конечно, до бесконечности наращивать количество серверов также нельзя. Все будет неплохо, пока не дойдешь до десятка. А там не оберешься проблем с взаимной связью и трафиком внутри такого хозяйства. А результат тот же — медленно и ненадежно.
Сильная сторона таких решений — масштабируемость и скорость. Свойства DHT такие, что можно присоединять новые сервера постоянно, и база будет расти и расти. Столько — сколько надо. При этом в самих приложениях ничего менять не нужно, все делается автоматически! Скорость очень и очень высокая, так как практически все такие базы работают в памяти, а на диск пишется лишь бекап (при этом, он может быть постоянным — в таком случае в него записывается только новая инфа). Показатели в сотни тысяч запросов в секунду на одном дохленьком сервере — это обычное дело для таких баз. Но, несмотря на восторги, есть и сложности. Первая — это скудность возможностей работы с данными. Ага, вот и расплата за скорость и расширяемость! Сервер знает только ключ и данные, которые с ним ассоциированы, а вот, что это за информация — номер кредитной карточки или дата регистрации — уже не ведает. Этим должно заниматься само приложение! Поэтому просто взять и, например, написать один SQL-запрос, чтобы выбрать всех пользователей, которые регистрировались год назад и совершили больше одного платежа за это время, уже не получится. В базе просто нет возможности выборки по какому-либо признаку, кроме ключа. Но не спеши отворачиваться — это ограничение легко решается за счет ввода дополнительных данных (так же как в SQL-базе постоянные данные выделяются в отдельную таблицу-справочник). Правда, в этом случае нужно с самого начала проектировать сайт под такие типы базы. Ведь то, что делается одной строкой на SQL, здесь потребует как нескольких запросов и обработки, так и предварительного форматирования данных при записи. Увы, автоматических трансляторов SQL в key-value запросы пока нет, но работы в этом направлении ведутся. Еще одним недостатком таких баз является требовательность к параметрам сервера и в особенности оперативной памяти, которой, как известно, много не бывает. Прожорливость удается удовлетворить за счет хранения неиспользуемых данных на диске. Подобным образом поступили разработчики MemcacheDB, где скрестили популярный сервер memcache и базу данных BerkleyDB, используемую как постоянное хранилище данных. В более молодом, но очень сильном проекте проекте — Redis — используется асинхронная запись в фоновом режиме на диск. Другие также не брезгуют использовать традиционные базы данных для хранения, ведь их совсем не видно за фасадом сервера и они работают локально, поэтому на скорость работы почти не влияют.
Memcached/MemcacheDB (memcachedb.org) — наверное, самый известный представитель семейства key-value DB. Многие используют его как кеширующую систему, что, по большому счету, то же самое. Проект хранит данные в оперативной памяти, занимает места столько, сколько ему выделили, и может объединяться с другими серверами, чтобы распределить данные между собратьями. Доступ к данным идет через UDP-порт и сокеты, что очень быстро, а с выходом последней версии, 1.4, добавлен и экономичный бинарный протокол. Хотя в Facebook считают иначе и ускоряют, как могут, добиваясь нескольких сотен тысяч одновременных подключений! Кстати, именно эта социальная сеть имеет самую большую инсталляцию Memcached-серверов — в архитектуре участвует более тысячи серваков! Недостаток мемкеша в том, что он хранит все в памяти. По этой причине в местах, где необходима сохранность данных, придется использовать MemcacheDB, который использует обычную базу данных как постоянное хранилище данных. Другие недостатки — ограниченность на данные, которые понимает сервер (это только числа и строки), а также сложности выборки одним запросом множества ключей. Project Voldemort (project-voldemort.com) — такой же мощный, как и Темный Лорд, только в царстве баз данных. Штука написана на Java и изначально нацелена на распределенность. Добавлять новые сервера можно без остановки — данные по ним «расползутся» без посторонней помощи. Кроме обычного сетевого доступа, Project Voldemort поддерживает JavaAPI и различные сетевые протоколы, например, Google ProtoBuf или Thrift, что сильно экономит трафик и повышает скорость. Данные хранятся как в памяти, так и на диске (можно использовать и обычные базы данных), так что сбои питания никак не нарушат целостности. Сильной стороной является поддержка версионности, то есть каждая единица данных имеет историю версий и изменений, поэтому можно откатываться назад, если что-то записали не то или возникли ошибки. Быстродействие также на высоте: в среднем 10-20 тысяч операций в секунду, и такой гигант, как соцсеть Linkedln не прогадал, используя кластер из этих серверов для своей работы. Apache CouchDB (couchdb.apache.org) — это уже тяжелое оружие из будущего! Шутка, CouchDB это представитель отдельного семейства баз данных, называемых документно-ориентированными. В этой штуке хранят документы, представляющие собой некоторую группу данных, которые вместе составляют один объект-документ. Например, статья (текст), краткая аннотация, имя автора, дата публикации и статус. По отдельности, это просто значения, а вот документная база позволяет их сгруппировать как один объект и производить над ним операции. Apache CouchDB написана на Erlang (просто замечательная платформа, если речь идет о расширяемости) и имеет HTTP REST-интерфейс или JSON API. так что можно получать данные сразу напрямую из JavaScripta-a на веб-странице! Кстати, она имеет встроенный язык запросов, и какой ты думаешь? Да, JavaScript вместо традиционного SQL.
Для простых смертных флешка — это девайс для переноса документов/фильмов/фоток и другой личной (а иногда и очень личной) информации. А вот для хакеров флешка — это одновременно и жертва и боевой инструмент. Сегодня я расскажу все тонкости незаметного слива данных с флешек к себе на комп, а также научу превращать безобидные флешки в программы для резервного копирования паролей с «большого» компьютера.
Писать столь полезную программу мы будем на модном нынче С#. Гибкость языка и широкий функционал платформы .NET позволяют разрабатывать приложения с молниеносной скоростью. Именно это нам и нужно. Нас интересует урожай, который мы сможем собрать, а не утомительный процесс кодинга.
Мессенджер от Mail.ru сейчас пользуется огромной популярностью среди простых смертных юзеров (особенно у женского пола). Цели ясны, задачи поставлены, поэтому нас интересуют:
Понятно, что рождение истины в таких войнах невозможно по определению. В самом деле, о какой истине может идти речь, если предметом, из-за которого разгорается очередной сыр-бор, являются в числе прочего софтверные продукты. Типичный пример - холивар “Windows vs Linux». К слову, эта тема весьма привлекательна для администрации некоторых форумов: наплыв пользователей, заглянувших «на огонек», и, как следствие, резкий скачок посещаемости обеспечены, Еще одна неизбывная тема - обсуждение браузеров и почтовых клиентов. И если в случае иентернет-обозревателей выбор невелик, то почтовиков на рынке софта пруд пруди.
Я решил ограничиться стабильной Linux-версией, и все было хорошо до той поры, пока не вышел релиз-кандидат Windows 7. По правде сказать, я до последнего тешил себя надеждой на то, что в Ред-монде таки не станут отказываться от системного почтового клиента, тем более что Windows Mail, входящая в поставку Vista, была, на мой взгляд, не так плоха и вполне себе успешно боролась со спамом. Увы, «семерка» так и останется без почтовика, и дело здесь вовсе не в антимонопольных репрессиях, которые стали обрушиваться на Microsoft. Корпорация продолжает продвигать свои продукты линейки Live, в том числе приложение «Почта Windows Live» (download.live.com/ wlmail). Однако необходимость установки программы из Сети и обязательной загрузки разнообразных дополнительных компонентов сделали свое дело: я стал искать другие варианты.
Пожалуй, единственным огорчением (во всяком случае, лично для меня) явилось отсутствие функции импорта почтовых сообщений, адресной книги и параметров учетных записей из других почтовых программ - Mozilla Thunderbird куда демократичнее в этом аспекте. Несмотря на то что формат почтовых сообщений в Sylpheed стандартен и позволяет открывать письма в других почтовиках, софти-на умеет лишь импортировать послания в МВОХ-файл и экспортировать сообщения из оного (к слову, письма хранятся в каталоге VDocuments and Settings\USER\ Application Data\Sylpheed\Mailboxes\Mail). Следовательно, придется указывать необходимые параметры учетных записей вручную: «Настройка» > «Создать новую учетную запись».
Несмотря на относительно небольшой дистрибутив, Sylpheed позволяет работать с несколькими учетными записями и поддерживает протоколы РОРЗ, IMAP, АРОР (вкладка «Прием»), SMTP (как с авторизацией, так и без нее), а также дает возможность использовать SSL и TLS. Желаете шифроваться по полной? Легко - к вашим услугам цифровые подписи PGP (вкладка «Защита»). На упоминавшейся вкладке, содержащей параметры приема сообщений, обратите внимание на опцию удаления писем с сервера при загрузке: некоторые граждане предпочитают оставлять корреспонденцию в Сети. Кстати, параметры подписи нужно указывать на вкладке «Написать».
К сожалению, возможности адресной книги не столь велики, как в системном Outlook Express. Добавление в нее новых контактов возможно двумя способами: командой контекстного меню и таинственным двойным кликом («Настройки» > «Общие настройки» > «Прочее» > «Другое»), вот только в каком месте следует кликать, остается загадкой. Зато настройки инструментария для уничтожения спама вполне понятны и расположены на вкладке «Спам» окна общих настроек.
В настоящее время, время высоких скоростей обмена информации, даже для простого пользователя возникает вопрос хранения информации. Наряду с хранением также встает вопрос распределения этой информации или обмен. В этой статье мы не будем касаться законодательных и этических моментов связанных с распространением той или иной информации, мультимедийного контента, программного обеспечения. Заострим лишь наше внимание на способах и возможностях хранения информации, а также распространении.
Очень часто мы стали слышать о том, что «Виндовс маст дай», «Виндовс Шлак», «Даешь LINUX»… На вопрос о том, чем так хорош ваш Линукс, слышим: «Он не виснет, гибко настраивается, менее требовательный и т.д. И вообще – он бесплатный!!!»… Вот тут, в основном, разговор и заходит в тупик. Да, блин… Бесплатный. А работая в Windows почти не возможно не быть «пиратом» - почти у всех найдется что то не лицензионное… Особо больная тема для организаций. Вот им то и поможет эта статейка.
Погружение в мир Open Source на «Связь-Экспокоме» началось издалека—с «железной» компании Sun Microsystems. Она выступала под своим брендом. Оборудование выставлялось на одном стенде — там можно было встретить серверы на «спарках», терминалы Sun Ray, экономящие средства и решающие проблемы безопасности. На такую машинку ценой 200-300 долл. довольно сложно протащить вирусы. Вторая часть, софтверная, была на стенде, посвященном СПО. Со словоохотливыми сотрудниками компании можно было вдоволь наговориться и узнать, что, к примеру, когда появились слухи о слиянии Sun и IBM, они отправились спокойно спать, ибо клиентская база этих компаний в общем-то не пересекается: у IBM свой процессор, свои серверы, клиенты же Sun, случись объединение, благополучно перейдут к Fujitsu, в ассортименте которой тоже есть «спарки». В общем, выгоды никакой. Другое дело — Oracle. Крупная софверная компания, покупающая крупного производителя железа, — ситуация весьма необычная для ИТ-рынка.