суббота, 26 февраля 2011 г.

Вышли операционные системы FreeBSD 7.4 и 8.2



Разработчики популярной серверной операционной системы FreeBSD сегодня сообщили о выходе стабильных версий данной операционной системы в двух линейках - 7.4 и 8.2.

Некоторые из изменений 8.2:
  • улучшена поддержка Xen HVM в FreeBSD/amd64 и Xen PV в FreeBSD/i386;
  • ZFS on-disk format обновлён до версии 15;
  • aesni(4) драйвер для криптографических инструкций Intel AESNI;
  • обновлены BIND и OpenSSL;
  • Gnome 2.32.1;
  • KDE 4.5.5;
  • множество улучшений и исправлений.
Торрент-файлы для новинки можно скачать отсюда.


пятница, 18 февраля 2011 г.

Windows PowerShell, коротко о главном

Знакомство с возможностями Windows PowerShell

Итак, вы — администратор, которому необходимо в кратчайший срок освоить Windows PowerShell. Первое, что вы, вероятно, предпримете (естественно, помимо обращения к документации и справочной системе), — воспользуетесь командой Help (рис. 1).

Рис. 1
Внимательно изучив выведенную на экран информацию, мы придем к пониманию следующих концептуальных вещей: в Windows PowerShell существуют алиасы, командлеты, провайдеры, а также справочные файлы. Алиасы (alias) служат для упрощения ввода команд (например, clc — это алиас команды Clear-Content), командлеты (cmdlet) представляют собой реализацию всех встроенных в Windows PowerShell команд, провайдеры (provider) обеспечивают доступ к файловой системе, реестру, хранилищу сертификатов и т.п., а справочные файлы (helpfile) используются для получения дополнительной информации. Для получения подробного описания команды применяется следующий синтаксис:

PS C:> Help Get-Command

В результате выполнения этой команды мы получим полное описание команды Get-Command, включая ее назначение, синтаксис, опции и т.п. (рис. 2).

Рис. 2
Для получения списка всех встроенных команд используем следующий синтаксис:

PS C:> Get-Command

Обратите внимание на то, что все команды состоят из глагола и прилагательного (например, Get-Content, Export-Console) и все команды поддерживают единую систему именования — например для завершения чего-либо всегда используется глагол Stop, а не Kill, Terminate, Halt или другие синонимы, что существенно упрощает изучение возможностей PowerShell (рис. 3).

Рис. 3
Команда Get-Service служит для получения списка всех сервисов, запущенных на данном компьютере. Например,

PS C:> Get-Service

возвращает список, представленный на рис. 4.

Рис. 4
Для получения списка процессов, запущенных в настоящий момент на компьютере, применяется команда Get-Process (рис. 5):

Рис. 5

PS C:> Get-Process

В Windows PowerShell поддерживается автоматическое завершение ввода. Чтобы убедиться в этом, введите Get-P и нажмите клавишу TAB: вы получите возможность выбора всех команд, начинающихся с введенных символов.
Для получения информации только об одном процессе в качестве аргумента команды Get-Process задается имя этого процесса (рис. 6):

Рис. 6

PS C:> Get-Process explorer

Для того чтобы получить список всех процессов, названия которых начинаются с определенного символа, достаточно указать этот символ и «*» (рис. 7):

Рис. 7

PS C:> Get-Process i*

Обратите внимание на колонки, в которых содержится информация, — Handles, NMP(K) и т.п. По умолчанию информация выводится в виде таблицы, но на самом деле все команды возвращают объекты. Эти объекты могут быть переданы на вход другим командам с помощью символа «|» (рис. 8):

Рис. 8

PS C:> Get-Process i* | format-list

Теперь список процессов доступен в другом представлении. Для получения подробной информации о различных форматах можно использовать следующую команду:

PS C:> Help format *

Другие возможные форматы:

PS C:> Get-Process i* | format-wide

и

PS C:> Get-Process i* | format-custom

Поскольку на выходе всегда получается объект, можно манипулировать им для выполнения дополнительных операций, например фильтрации:

PS C:> Get-Process | where {$_.handlecount -gt 400}

или сортировки:

PS C:> Get-Process | where {$_.handlecount -gt 400} | sort-object Handles

Может возникнуть вполне резонный вопрос: а откуда мы узнали, что у объекта, описывающего процесс, есть свойство handlecount? Для получения списка всех свойств объекта применяется следующая команда (рис. 9):

Рис. 9

PS C:> Get-Process | Get-Member

Выполним команду Get-Process | Get-Member Company — при форматировании по умолчанию невозможно получить желаемые данные. Преобразуем полученную команду в:

PS C:> Get-Process | Get-Member Company | Format-List

Результат ее преобразования представлен на рис. 10.

Рис. 10

PS C:> Get-Process | sort-object Company | format-table -Group Company name, description, handles

Результат выполнения данной команды представлен на рис. 11.

Рис. 11
Команда stop-process позволяет остановить запущенный процесс, например:

PS C:> Get-process notepad | stop-process

Такая возможность не всегда является безопасной, поэтому лучше использовать подобные команды с опцией whatif, которая показывает, что произойдет при выполнении той или иной команды, но на самом деле команда не выполняется:

PS C:> Get-Process notepad | stop-process –whatif

Кроме того, можно указывать на необходимость подтверждения перед выполнением команды:

PS C:> Get-Process notepad | stop-process –confirm

Результат выполнения команды с подтверждением представлен на рис. 12.

Рис. 12
В последнем примере мы получаем описание действий, которые выполняет команда, и можем выбрать, подтверждать ее выполнение или нет.
Помимо этого можно создавать собственные пакетные файлы, представляющие собой файлы с расширением *.ps1, в которые помещаются команды PowerShell, и выполнять их. Для соблюдения безопасности пакетные файлы должны быть подписаны. При тестировании можно отключить требование по запуску только подписанных файлов:

PS C:> Set-ExecutionPolicy Unrestricted

но после окончания тестирования не забудьте снова включить данную опцию с помощью следующей команды:

PS C:> Set-ExecutionPolicy AllSigned

После знакомства с основами Windows PowerShell посмотрим, как с помощью данной утилиты можно решать различные административные задачи.

Работа с файловой системой

Одна из задач, с которой часто сталкиваются многие ИT-специалисты, связана с манипуляциями с файлами, такими как копирование, перемещение, переименование, удаление файлов и каталогов. На рис. 13 показаны основные команды Windows PowerShell, применяемые для манипуляций с файловой системой: new-item, copy-item, move-item, rename-item и remove-item.

Рис. 13
В отличие от других оболочек, в которых существует и набор команд для файлов (например, delete или rename), и набор для каталогов (например, rd или md), в Windows PowerShell единый набор команд используется для манипуляций как с файлами, так и с каталогами.
Первая команда в нашем примере — new-item TextFiles –itemtype directory — применяется для создания нового подкаталога TextFiles в текущем каталоге. Если опустить параметр –itemtype, то Windows PowerShell спросит, что мы создаем — файл (file) или каталог (directory). Отметим, что у команды new-item есть алиас — ni. В сокращенном виде наша первая команда будет выглядеть так:

PS C:> ni TextFiles –itemtype directory

Затем мы используем команду copy-item (алиасы — cpi, cp, copy) для копирования всех файлов с расширением *.txt в подкаталог TextFiles. Если применять данную команду в пакетном файле, имеет смысл сделать ее более понятной, указав параметры –path (источник) и –destination (приемник):

PS C:>copy-item –path ‘.\*.txt’ –destination ‘.\TextFiles’

После выполнения команды копирования мы используем команду set-location для перехода в подкаталог TextFiles. С помощью команды rename-item переименовываем файл psdemo.txt в psdemo.bak. При необходимости можно применять опции –path и –newName. После того как файл переименован, переносим его на один уровень вверх, используя команду move-item. Затем применяем команду set-location, а точнее — ее алиас sl для перехода в другой каталог. Манипуляции с файловой системой мы завершаем удалением всего каталога TextFiles, используя команду remove-item. Поскольку в каталоге TextFiles содержатся файлы, применяется опция –recurse. Если эта опция не указана, Windows PowerShell запросит подтверждение перед выполнением команды remove-item.

Работа с реестром

При выполнении различных настроек и попытках обнаружения каких-либо параметров нам иногда приходится обращаться к системному реестру в поисках ключей, значений и т.п. С использованием возможностей Windows PowerShell эта задача может быть решена достаточно простым способом. Возможности Windows PowerShell показаны на рис. 14.

Рис. 14
Наша первая команда использует алиас sl для выполнения команды set-location, изменяющей наше текущее местоположение с файловой системы на ветвь HKEY_CURRENT_USER в системном реестре:

PS C:\> sl hkcu:

Отметим, что, как и в случае работы с файловой системой, PowerShell применяет специальный провайдер для доступа к реестру.
 Аналогами приведенной выше команды являются команды:

PS C:\> sl registry:hkcu

и

PS C:\> sl hkey_current_user

Следующая команда загружает содержимое всей ветви реестра HKEY_CURRENT_USER в переменную reg:

PS HKCU:\> $reg = gci . –rec –ea silentlycontinue

Для этого мы используем команду get-childitem (алиас — gci), принцип работы которой аналогичен работе с файловой системой. Первый аргумент этой команды — «.» — указывает на то, что мы хотим получить содержимое текущей ветви реестра — HKEY_CURRENT_USER. Второй аргумент является сокращением от опции –recurse и указывает на то, что нам нужен рекурсивный сбор данных из всех подветвей текущей ветви реестра. И наконец, третий аргумент — –ea silentlycontinue — указывает на то, что команда должна продолжать выполняться даже в случае возникновения ошибок, связанных с недостатком прав доступа к определенным подветвям реестра.
Следующая команда в нашем примере:

PS HKCU:\>$s = $reg | % {if (gp $_.pspath) –match ‘PowerShell’ ){$_.pspath}}

копирует из реестра данные, содержащие строку ‘PowerShell’. Мы начинаем с того, что берем объект reg и перенаправляем его в команду %, которая является алиасом команды for-each. Она выполняет рекурсивный обход всех элементов реестра, находящихся в объекте reg и на каждом шаге сохраняет элемент в специальном объекте PowerShell с именем ‘_’. В фигурных скобках мы указываем действия, которые должны выполняться на каждом шаге выполнения команды for-each. Внутри блока for-each мы используем проверку if для того, чтобы узнать, соответствуют ли текущая запись реестра и ее свойство pspath, которые мы получаем через обращение к команде get-itemproperty (через алиас gp), нашему критерию — наличию строки ‘PowerShell’. Если соответствие найдено, мы возвращаем значение свойства pspath. Все найденные соответствия сохраняются в объекте s.
Работу с реестром мы завершаем перенаправлением результатов поиска в команду select-object (через алиас select) и показываем два первых найденных результата. В качестве упражнения вы можете перенаправить финальные результаты в файл с помощью команды out-file.

Доступ к процессам

Еще одна задача, с которой могут столкнуться ИТ-специалисты, связана с обнаружением аномалий в работе системы, например процессов, которые потребляют большие объемы памяти. Давайте посмотрим, как эта задача решается средствами Windows PowerShell (рис. 15).

Рис. 15
В первой команде мы сохраняем информацию о всех процессах, запущенных на данном компьютере, в переменной $allprocs:

PS C:\> $allprocs = get-process

После этого мы перенаправляем полученную информацию команде for-each, которая тоже может быть указана алиасом % или foreach. Данная команда перебирает все объекты, связанные с процессом, и на каждом шаге сохраняет информацию во внутреннем объекте $_. Этот объект можно условно назвать текущим объектом. В качестве параметров для команды for-each мы указываем операцию сравнения значения свойства virtualmemorysize с интересующим нас размером памяти (20 Мбайт в нашем примере). Если значение этого свойства для текущего объекта больше заданного, мы выводим название процесса на экран. Отметим, что в PowerShell поддерживаются основные сокращения для указания размеров — KB, MB, GB, что очень полезно, поскольку не нужно считать нули при указании объемов памяти, дисков и т.п.

Доступ к системному журналу

При попытке обнаружения причин сбоев мы часто обращаемся к системному журналу, в котором хранится множество полезной информации о событиях, происходивших в системе. Обычно для исследования системного журнала применяется утилита Event Viewer (eventvwr.exe). В PowerShell мы можем воспользоваться встроенными командами, например командой get-eventlog, для быстрого исследования содержимого системного журнала (рис. 16).

Рис. 16
Наша первая команда загружает ключевую информацию из системного журнала:

PS C:\> get-eventlog –list

Без использования опции –list PowerShell запросит точное указание названия системного журнала. В нашем примере мы видим несколько точек входа в системном журнале: Application, Internet Explorer, System, Windows Power Shell и т.п. Наша следующая команда извлекает записи из системного журнала, которые имеют тип “Error”:

PS C:\> $bad = get-eventlog “System” | where-object { $_.EntryType –eq “Error” }

Мы используем команду get-eventlog, которой указываем параметр “System” для извлечения только системных записей, — мы могли бы более четко задать это, применив параметр logName. Содержимое переменной $bad передается на вход команде where-object для фильтрации только интересующих нас записей. В качестве аргументов команды where-object мы указываем на то, что ищем только записи, у которых свойство EntryType равно “Error”.
Мы завершаем исследование системного журнала выводом на экран пяти последних записей об ошибках, используя для этого команду select-object с параметром –last:

PS C:\> $bad | select-object –last 5

Заключение


Мы рассмотрели основные возможности Windows PowerShell для упрощения задач, возникающих перед ИT-специалистами. Как мы знаем, эти задачи часто решаются с помощью скриптового языка VBScript. В Windows PowerShell есть возможность применения существующего кода на VBScript, а следовательно, миграция значительно упрощена (рис. 20).

Рис. 20
В приведенном выше примере показано, как можно использовать существующий код на VBScript в PowerShell. В первой строке мы создаем новый COM-объект, который представляет собой ядро выполнения скриптовых программ — ScriptControl. Затем мы указываем, что будем использовать язык Visual Basic Script. В третьей строке задается собственно код на VBScript — в нашем примере это вызов функции MsgBox, но на практике в переменную можно, например, загрузить код файла. И наконец, в последней строке мы добавляем код на VBScript в наш объект — и код поступает на выполнение.

Эволюция вычислительной мощи CPU и GPU

Хотя десять лет назад компания Intel прогнозировала процессоры 10 ГГц к 2011 году, реальность оказалась совершенно другой. Кто мог предположить, что главная вычислительная мощь будет уже не у CPU, а у графических процессоров. Вот как выглядит график роста количества операций с плавающей запятой (FLOPs) у CPU и GPU за последние десять лет.



Тот же график на логарифмической шкале.



Понятно, что за счёт узкой специализации графический процессор может практически всю свою производительность отдавать на арифметические операции, тогда как архитектура CPU гораздо сложнее.

Тактовая частота процессоров Intel застыла в районе 3,4 ГГц.



Правда, общая производительность чипов продолжает расти за счёт увеличения числа ядер.

среда, 16 февраля 2011 г.

Удаленное подключение через rDesktop



Домашняя страница:
http://www.rdesktop.org/

rdesktop – Open Source клиент для Windows Terminal Services, работающий по протоколу RDP (Remote Desktop Protocol) и совместимый с ОС Windows 2000 Server, Windows Server 2003, Windows Server 2008, Windows XP, Windows Vista и Windows NT Server 4.0. Утилита является консольной, большиснтво графических клиентов не поддерживают всех ее возможностей.

Сначала подключаем репозитории и поставим последнюю версию клиента:

sudo add-apt-repository ppa:pmjdebruijn/rdesktop-release
sudo apt-get update
sudo apt-get install rdesktop


Простейшая команда выглядит так:
$ rdesktop -g 1024x768 -u admin -p pass [IP-адрес удаленной машины]
 
Получить все доступные ключи можно запустив утилиту без параметров.

Вот некоторые из:

-u – учетная запись для атентификации.
-d – домен.
-p – пароль, чтобы другие не могли его подсвотреть лучше использовать -p – в этом случае rdesktop запросит пароль при запуске.
-k – эмулируемая раскладка клавиатуры (по умолчанию en-us).
-g – разрешение экрана, можно указать в процентах от всего экрана.
-f – полноэкранный режим (можно переключиться с помощью комбинации клавиш Ctrl-Alt-Enter).
-s – начальная оболочка пользователя (вместо Explorer).
-c – начальный рабочий каталог пользователя.
-0 – глубина цвета – 8 или 16 бит, 16-битный цвет доступен только для RDP 5-й версии Windows XP/2003, 32 битный не поддерживаетс.
-4 – использовать RDP версии 4.
-5 – использовать RDP версии 5 (по умолчанию).
-T – заголовок окна.
-S – режим одного приложения, например запускается одно развернутоена весь экран приложение (с опцией -s).
-z – активация сжатия передаваемых данных, актуально для медленных соединени

воскресенье, 13 февраля 2011 г.

Xarchiver - легкий менеджер архивов для Linux









Установить xarchiver можно через систему управления пакетами вашего дистрибутива Linux, или скачав исходники с http://xarchiver.sourceforge.net

Установка xarchiver из исходников стандартна:

% ./configure --prefix=/usr
% make
% make install
 
Xarchiver отлично подходит для lxde или xfce и очень хорошо 
работает с кириллицец.



суббота, 12 февраля 2011 г.

Первый телефон Nokia и Microsoft


Европейская Комиссия утвердила единый стандарт зарядки сотовых телефонов

Стандарт Micro-USB постепенно используется все большим числом производителей мобильных устройств, что не может не радовать. На этой неделе был сделан еще один шаг в сторону дальнейшей популяризации данного разъема как стандартного решения для мобильных телефонов. Европейская Комиссия наконец утвердила Micro-USB как стандартный разъем для зарядки мобильных телефонов на рынке ЕС. Перед этим, в декабре, Комиссия опубликовала требования к зарядным устройствам, так что любой производитель, следующий им, может не беспокоиться о совместимости.
14 компаний, подписавших в 2009 году соглашение о принятии единого стандарта, уже в этом году перейдут на выпуск продуктов, которые соответствуют установленным требованиям. Так как некоторые аппараты не имеют разъемов Micro-USB (например, iPhone), их разработчикам придется обеспечить совместимость с помощью соответствующих переходников.

пятница, 11 февраля 2011 г.

Portal: Still Alive (финальная песня)

Очень понравилась...

Developers, Developers, Developers, Developers...



А это оригинальные кадры и все лучшие видео Баллмера и Гейтса)



Обновление Debian lenny до Squeeze

И вот. Знакомьтесь. Это тот самый Squeeze из Toy Story, в честь которого назван релиз.

Обновляемся.


1. Правим sources.list заменяя все слова lenny на squeeze:
sudo nano /etc/apt/sources.list

Получится примерно следующее:

#Основные зеркала
deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze main contrib non-free
#Зеркало с исправлениями проблем безопасности
deb http://security.debian.org/ squeeze/updates main contrib non-free
#Зеркало с обновлениями, которое раньше называлось volatile.debian.org
deb http://mirror.yandex.ru/debian/ squeeze-updates main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze-updates main contrib non-free
#Бекпорты.
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

2. Обновляем aptitude:
sudo apt-get update
sudo apt-get install apt dpkg aptitude
 
3. и систему:
sudo aptitude full-upgrade
 
Вот и все я уже обновил свой сервак а Вы?

четверг, 10 февраля 2011 г.

6 шагов загрузки Linux на пальцах

Нажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

Посмею предположить, что каждого интересовало хоть когда-либо то, что происходит за занавесом заставок и загрузочных экранов с момента включения питания компьютера к моменту, когда предлагается войти в систему.

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:


1. BIOS


  • BIOS отвечает за базовый ввод/вывод данных с устройств/на устройства.
  • Делает некоторые проверки целостности устройств. К тому же, за тестирование работоспособности электроники отвечает POST (Power-on self-test, он же «тест на адекватность себя самого», выполняющийся как этап пре-загрузки), который управляется BIOS
  • Ищет, загружает и выполняет программу-загрузчик ОС
  • Берет загрузчик из флопика, сидюка или жесткого диска. Во время загрузки BIOS'а вы можете нажать на кнопку (обычно это F12 или F2 или Del, зависит от платформы), если вам требуется внести некоторые изменения касательно настройки железа.
  • Как только загрузчик был обнаружен и загружен в память, BIOS передает управление ему.
  • Короче говоря, BIOS загружает и выполняет загрузочную запись (MBR).

2. MBR


  • MBR — это главная загрузочная запись, хранящаяся на жестком диске
  • Она размещена в 1-м секторе загрузочного диска, например /dev/hda или /dev/sda
  • MBR занимает меньше, чем 512 байтов. Она состоит из трех компонентов: 1) главная загрузочная информация, «живущая» в первых 446 байтах; 2) информация о таблице разделов — в следующих 64 байтах; 3) и последние 2 байта нужны для проверки корректности mbr.
  • Она содержит информацию о GRUB'е (или LILO).
  • Простыми словами — MBR загружает и выполняет загрузчик GRUB.

3. GRUB


  • GRUB — Grand Unified Bootloader.
  • Если в вашей системе установлено более, чем одно ядро, у вас есть возможность выбирать, которое из них должен выполняться
  • GRUB отображает красивую анимацию plymouth заставку, и, подождав несколько секунд интерактивного воздействия пользователя, если он не нажал ни одной клавиши, он загружает ядро, установленное по умолчанию в файле конфигурации grub.
  • GRUB понимает, что такое файловая система (древние загрузчики Linux'а, например, LILO этого не понимают).
  • Конфигурационный файл Grub обычно лежит по пути /boot/grub/grub.conf (так же /etc/grub.conf может быть символьной ссылкой на него). Вот пример файла конфигурации для CentOS:
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-194.el5PAE)
             root (hd0,0)
             kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/
             initrd /boot/initrd-2.6.18-194.el5PAE.img
  • В качестве примечания к информации выше, конфигурационный файл содержит путь к ядру и образу initrd
  • Если быть кратким, GRUB просто напросто загружает и выполняет образы ядра и initrd.

4. Ядро или Kernel


  • Ядро монтирует файловую систему в соответствии с настройкой «root=» в фале grub.conf
  • Выполняет программу /sbin/init
  • Поскольку init — это первый процесс, запущенный ядром Linux, поэтому она имеет идентификатор процесса (PID) №1. Можете выполнить «ps -ef | grep init» и убедиться в этом.
  • initrd — это Initial RAM Disk, он же временный диск в оперативной памяти
  • initrd используется самим ядром в качестве временной корневой файловой системы, пока kernel не загрузится в реальную примонтированную файловую систему. Этот временный диск также содержит необходимые для загрузки драйверы, позволяющие получить доступ к разделам дисков и другому оборудованию

5. Init


  • Смотрит в файл /etc/inittab для того, чтобы определить уровень выполнения (run level).
  • Есть следующие уровни выполнения:
    • 0 – прервать выполнение
    • 1 – Однопользовательский режим, так называемый «Single user mode», или иными словами, консоль восстановления
    • 2 – Многопользовательский режим без поддержки NFS
    • 3 – Полноценный многопользовательский режим
    • 4 – не используется
    • 5 – X11
    • 6 – перезагрузка
  • Init определяет уровень выполнения по умолчанию исходя из /etc/inittab и использует его для загрузки всех необходимых программ.
  • Выполните «grep initdefault /etc/inittab» на вашей системе, и вы узнаете, какой уровень по умолчанию у вас используется
  • Если у вас не получается жить спокойно, то можете установить стандартный уровень на 0 или 6. :)
  • В большинстве случаев вам будет достаточно уровня 3 или 5.

6. Уровень выполнения программ (Runlevel)


  • Когда Линукс выполняет свою загрузку, вы можете наблюдать загрузку различных служб. К примеру, это могут быть сообщения типа «starting Postfix … OK» (запускается Postfix). Эти службы — и называются программами уровня выполнения, выполняемые из директории, которая соответствует нужному уровню выполнения.
  • Исходя из настроек по умолчанию, система будет выполнять файлы в соответствии с нижеприведенными директориями.
    • Выполнение уровня 0 – /etc/rc.d/rc0.d/
    • Выполнение уровня 1 – /etc/rc.d/rc1.d/
    • Выполнение уровня 2 – /etc/rc.d/rc2.d/
    • Выполнение уровня 3 – /etc/rc.d/rc3.d/
    • Выполнение уровня 4 – /etc/rc.d/rc4.d/
    • Выполнение уровня 5 – /etc/rc.d/rc5.d/
    • Выполнение уровня 6 – /etc/rc.d/rc6.d/
  • Но имейте ввиду, что еще в каталоге /etc могут быть символические ссылки. Например, /etc/rc0.d залинкован на /etc/rc.d/rc0.d.
  • В каталогах /etc/rc.d/rc*.d/ вы можете увидеть список программ, имя которых начинается из букв S и K.
  • Программы, начинающиеся на S используются для запуска. S, потому что startup.
  • Программы, которые начинаются с литеры K используются — правильно — для завершения работы. K, потому что kill.
  • Еще есть номера рядом с буквами S и K в именах программ. Эти номера используются для определения порядка запуска этих программ.
  • К примеру, S12syslog предназначен для запуска демона syslog, его порядковый номер 12. S80sendmail — для запуска демона sendmail, имеющего порядковый номер 80. Таким образом, программа syslog будет запущена перед sendmail.


Вот и все. Возможно, некоторым из вас это не ново и особого интереса не было при чтении статью, поскольку она более ориентирована на начально-средний уровень знакомства з Линуксом.
В таком случае могу лишь сказать, что «повторение — мать учения» (с).

среда, 9 февраля 2011 г.

Microsoft наконец-то избавляется от Autorun

Во вторник Microsoft начала распространять критический апдейт для Windows Server 2008 и более ранних версий Windows, который изменяет реакцию ОС на подключение флэшки или другого портативного носителя. До вчерашнего дня поведением по умолчанию был запуск файла autorun.inf без уведомления пользователя. Такие установки по дефолту привели к распространению ряда вирусов, в том числе Conficker. Представители Microsoft сообщают, что могли бы выпустить патч и раньше, но встретили сопротивление со стороны некоторых своих партнёров, для которых эта фича была очень важна.
До настоящего времени пользователям ранних версий Windows нужно было искать патч, самостоятельно скачивать и устанавливать, но теперь его включили в официальный механизм Windows Update. Для Windows 7 аналогичные изменения были сделаны в апреле 2009 года с выпуском Release Candidate 1. Под Windows автозапуск по умолчанию всё ещё сохраняется для CD и DVD. Вообще говоря странно, кому вообще пришла в голову внедрить такую функцию по умолчанию для флэшек. Возможно, её пролоббировали те же самые крупные партнёры Microsoft.

понедельник, 7 февраля 2011 г.

Установка XFCE 4.8 в Ubuntu 10.10

Самый свежий релиз легковесного окружения рабочего стола XFCEW теперь доступен для установки из репозитория для пользователей Ubuntu 10.10 и 11.04.




Добавление репозиторя и установка проста, как обычно:

sudo add-apt-repository ppa:koshi/xfce-4.8

sudo apt-get update

sudo apt-get install xfce4

Среду можно выбрать в окне входа в систему.

Пользователи Ubuntu 10.04 так же могут попробовать новый XFCE, воспользовавшись неофициальным репозиторием ppa:alexx2000/xfce

воскресенье, 6 февраля 2011 г.

Релиз Debian 6.0 (Squeeze)



После двух лет разработки увидел свет релиз Debian GNU/Linux 6.0 (Squeeze), доступный для архитектур Intel IA-32 (i386), 64-bit PC / Intel EM64T / x86-64 (amd64), Motorola/IBM PowerPC (powerpc), Sun/Oracle SPARC (sparc), MIPS (mips и mipsel), Intel Itanium (ia64), IBM S/390 (s390) и ARM EABI (armel). Дополнительно, впервые представлена версия дистрибутива, собранная на основе ядра FreeBSD - Debian GNU/kFreeBSD (kfreebsd-i386 и kfreebsd-amd64).
Debian 6.0 разработан в соответствии со стандартом на оформление иерархии файловой системы FHS 2.3 и совместим со спецификациями LSB 3.2, определяющими совместимость между приложениями и операционной системой. В репозитории представлено более 29 тысяч бинарных пакетов, в которых присутствует примерно 15 тысяч программ. Новая версия примечательна тем , что дистрибутив укомплектован полностью свободным Linux-ядром, не содержащим кода проприетарных прошивок, которые вынесены в отдельные пакеты и перемещены в репозиторий "non-free". Изменен также и процесс загрузки, который переведён на учитывающую зависимости систему инициализации, обеспечивающую параллельный запуск сервисов.
Для загрузки доступны CD и DVD-образы, загрузить которые можно по FTP или через системы jigdo и BittTorrent. Полный установочный комплект занимает 52 CD (содержимое каждого из дисков) или 8 DVD-дисков (содержимое). Отдельные CD-диски подготовлены для установки окружений GNOME, KDE 4 и LXDE + Xfce. Для желающих осуществить установку по сети создан netinst-образ (150 Мб) и диск в формате бизнес-карты (46Мб). Установочный образ, включающий в себя проприетарные прошивки, можно загрузить здесь. Для архитектур amd64 и i386 разработаны официальные LiveCD/LiveUSB, доступные в вариантах с GNOME, KDE и Xfce. К сожалению на момент анонса сборка Live-дисков еще не завершена.
Ключевые улучшения Debian 6.0 (Squeeze):
  • Поддержка архитектур и платформ
    • Официальная поддержка архитектуры kFreeBSD, сочетающей в себе ядро FreeBSD 8.1 с пользовательским окружением на базе glibc и GNU-утилит. Основной мотив включения ядра FreeBSD в Debian связан с желанием предоставить пользователям возможность использования таких средств, как пакетные фильтры PF и IPFW2, изолированных окружений jail, сетевой подсистемы NetGraph, поддержки загрузки NDIS-драйверов без внешних патчей. С другой стороны, пользователей привыкших к FreeBSD может заинтересовать пакетный менеджер APT, cистема конфигурации /etc/network/ и прогрессивная система инициализации Debian. Из планов на будущее отмечается появление поддержки инфраструктуры динамической трассировки DTrace, создание для FreeBSD полноценной реализации драйвера для работы с EXT2/EXT3 разделами (по умолчанию используется UFS2), разработка пакетов с Glibc для оригинального дерева портов FreeBSD, создание инструмента для миграции классических FreeBSD установок в окружение Debian GNU/kFreeBSD (Debian GNU/kFreeBSD уже может работать в chroot-окружении FreeBSD);
    • Прекращена поддержка архитектур HP PA-RISC ('hppa'), Alpha ('alpha') и ARM ('arm', теперь используется ARM EABI - armel);
  • Система, загрузка
    • По умолчанию для платформ x86 устанавливается загрузчик Grub2. В Grub2 используется новый загрузчик Multiboot2, имеется поддержка выполнения скриптов, динамической загрузки модулей, доступа к файлам на ФС NTFS, Reiserfs и данным внутри cpio/tar архивов, создания графических меню, вывода локализованного текста в отличных от ASCII кодировках и т.д.
    • Переход на новую систему инициализации insserv, учитывающую при загрузке зависимости между init-скриптами и поддерживающую параллельную загрузку скриптов инициализации, что приводит к заметному уменьшению времени загрузки;
    • Миграция со стандартной системной библиотеки GNU C Library (glibc) на eglibc 2.11 (Embedded GLIBC). Библиотека eglibc разработана с целью использования на встраиваемых системах и отличается значительно более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования. При этом библиотека полностью совместима с glibc как на бинарном уровне, так и на уровне исходных текстов (дополняет оригинальную кодовую базу glibc);
    • Возможность использования для выполнения shell-скриптов вместо /bin/sh быстрой и упрощенной оболочки dash;
    • В систему интегрирована возможность переключения видеорежимов на уровне ядра (KMS), с поставкой соответствующих DRM-модулей для популярных типов видеокарт Intel, ATI/AMD и NVIDIA;
    • Унификация системы настройки параметров клавиатуры для графического и консольного окружений. Все настройки теперь определяются в одном файле /etc/default/keyboard, управление настройками производится чрез пакет console-setup;
    • Полная поддержка обновленных средств для обеспечения аутентификации пользователей в LDAP (libnss-ldapd и libpam-ldapd, работающих через промежуточную локальную службу nslcd);
    • В базовой поставке отключена поддержка звуковой подсистемы OSS. Основной мотив такого решения - интерфейс OSS является устаревшим. Для пользователей которым система OSS необходима, оставлена возможность активации OSS;
    • Улучшенная поддержка IPv6 (поддержка IPv6 в большинстве приложений, которые могут работать через IPv4);
  • Управление пакетами
    • В состав включено 10352 новых пакетов, помечены как устаревшие 4238 пакетов, обновлено 15436 пакетов. Общее число пакетов составляет 29050. Среди новых пакетов, таких как браузер Chromium, система мониторинга Icinga, интерфейс для управления пакетами Software Center, конфигуратор сети wicd, система изолированных контейнеров lxc и кластерный фреймворк Corosync;
    • При подготовке пакетов осуществлен переход на усовершенствованный формат исходных пакетов DebSrc 3.0 (патчи можно размещать в виде отдельных файлов), согласован процесс унификации принципов оформления пакетов и обработки патчей с проектом Ubuntu;
    • Поддержка работы с файлами большого размера во всех пакетах (некоторые программы не читают файлы больше 2/4 Гб);
    • Сервис Debian Backports, в рамках которого ведется адаптация пакетов из новых дистрибутивов для более старых релизов Debian, признан официальным сервисом Debian и интегрирован в основную инфраструктуру проекта;
    • Приоритетной консольной утилитой для управления пакетами в интерактивном режиме является aptitude. Для обновления дистрибутива и при использовании в не интерактивном режиме рекомендуется использовать apt-get;
    • В dpkg добавлена поддержка формата сжатия XZ, проведена оптимизация производительности работы с внутренними БД, добавлена возможность фильтрации вывода по пути (-path-exclude и --path-include). Для работы dpkg более не требуется установка perl, что делает данный пакетный менеджер более привлекательным для встраиваемых систем;
  • Обновления программ
    • Обновление Linux-ядра до версии 2.6.32. Модули поддержки IDE-устройств заменены на libata, в связи с изменением наименования устройств (sd* вместо hd*) в пакет linux-base добавлен код для преобразования имен устройств в конфигурационных файлах (fstab, bootloader), которые будут заменены на UUID-идентификаторы. Код прошивок (firmware) выделен из основного ядра и поставляется отдельно. Ядро собрано с Preemption-патчами (rt-патчи из-за проблем со стабильностью решено не включать). Интеграция фреймворка DKMS, позволяющего сгенерировать модули ядра, исходные тексты которых не входят в комплект Linux-ядра;
    • Включение в состав X.Org 7.5 и графических окружений KDE SC 4.4.5, GNOME 2.30, Xfce 4.6 и LXDE 0.5.0. В поставляемый в дистрибутиве GNOME 2.30 портированы некоторые возможности из GNOME 2.32, убрана зависимость от HAL (теперь используются udisks, upower и libudev), для организации совместного доступа к данным интегрирован апплет gnome-user-share, значительно улучшена работа конфигуратора network-manager, для доступа к удаленным файловым системам используется gvfs;
    • Обновление пользовательских приложений: OpenOffice.org 3.2.1, GIMP 2.6.11, Iceweasel 3.5.16 (Firefox), Icedove 3.0.11 (Thunderbird), GNUmeric 1.10.8, Abiword 2.8.2, Ekida 3.2.7, Pidgin 2.7.3;
    • Обновление версий СУБД: PostgreSQL 8.4.6, MySQL 5.1.49;
    • Серверные приложения: Apache 2.2.16, Samba 3.5.6, Asterisk 1.6.2.9, Nagios 3.2.3, Tomcat 6.0.18, BIND 9.7.1, Exim 4.72, Postfix 2.7.1, OpenSSH 5.5p1;
    • Переход на использование набора компиляторов GCC 4.4.5 и системной библиотеки eGlibc 2.11.2 ;
    • Интеграция новых версий реализаций языков программирования Python 2.6.6 (доступны также 2.5.5 и 3.1.3), Perl 5.10.1, PHP 5.3.3, Ruby 1.9.1, Tcl/Tk 8.4, Mono 2.6.7 (+ MonoDevelop 2.4) и OpenJDK 6b18. Добавлена поддержка платформы Haskell, включающей ghc 6.12.1 и более 200 дополнительных Haskell-библиотек. Прекращена поддержка Zope2;
  • Безопасность, Виртуализация
    • Интеграция системы виртуализации Xen Hypervisor 4.0.1 (обеспечена поддержка dom0 и domU) и VirtualBox 3.2;
    • В базовом ядре оставлена поддержка организации изолированных контейнеров на базе технологии OpenVZ. Поддержка VServer и Xen Dom0 объявлена устаревшей и, несмотря на то что в Squeeze данные механизмы включены, в скором времени их поставка будет прекращена;
    • В дистрибутив интегрированы такие подсистемы, как ConsoleKit (управление сессиями и трекинг работы пользователей) и PolicyKit (предоставление расширенных прав доступа);
    • Для организации совместного доступа групп к директориям задействован метод User Private Groups (UPG);
    • Обеспечение полноценной поддержки DNSSEC, благодаря интеграции пакета OpenDNSSEC и последней версии DNS-сервера Bind9;
  • Инсталлятор
    • В подсистему работы с дисковыми разделами интегрирована поддержка файловой системы Ext4. Упрощен процесс настройки RAID, LVM и создания шифрованных разделов;
    • Возможность вывода интерактивной помощи в диалогах, выводимых в процессе установки. В настоящий момент кнопка помощи добавлена в несколько диалогов, в будущем планируется интегрировать помощь во все диалоги, что позволит упростить работу с инсталлятором для начинающих пользователей;
    • Установка по умолчанию пакетов из категории рекомендованных (Recommends), отключить установку данных пакетов можно только в экспертном режиме;
    • Улучшение интерфейса выбора языка, страны и локали: выбор места и локали стал более связанным и гибким. Например, после выбора страны в дальнейшем отображаются только привязанные к ней часовые пояса, если для одного языка имеется несколько планов локализации, то инсталлятор просит пользователя сделать выбор. Также теперь возможно выбрать любую возможную комбинацию языка, страны и локали, без жестких привязок между ними;
    • Улучшение выбора зеркал для загрузки пакетов: усовершенствована возможность установки прошлого стабильного релиза и старых выпусков, перемещенных в архив archive.debian.org. Например, добавлена проверка целостности данных на зеркале и отображение только реально размещенных на зеркале релизов;
    • Ряд изменений внесены в интерфейс выбора пакетов для установки. В набор GNOME добавлен набор пакетов для увеличения доступности окружения для людей, имеющих проблемы со зрением. Переработан набор пакетов для ноутбуков, добавлен пункт для установки SSH-сервера;
    • Поддержка гибридных iso-образов, поддерживающих установку как на CDROM так и на USB Flash;
    • Инсталлятор теперь проверяет наличие дополнительных пакетов с прошивками на установочном носителе (директория firmware). Специфичные для определенного оборудования пакеты теперь устанавливаются автоматически, используя программу discover-pkginstall;
    • Реализация поддержки новых аппаратных платформ: Marvell GuruPlug, Marvell OpenRD-Ultimate и HP t5325 Thin Client. В версии для архитектуры Armel появилась поддержка Intel Storage System SS4000-E, Marvell Kirkwood (QNAP TS-110, TS-119, TS-210, TS-219, TS-219P), Marvell SheevaPlug, Marvell OpenRD-Base и OpenRD-Client;
    • В качестве DHCP-клиента теперь используется udhcpc, за исключением установочных образов с kFreeBSD;
    • Поддержка файловой системы reiserfs более не доступна по умолчанию, для использования reiserfs для новой системы отныне нужно выбрать 'partman-reiserfs' в настройках опциональной установки или указать при загрузке 'modules?=partman-reiserfs';
    • Реализована поддержка обнаружения дисковых разделов Windows Vista, Windows Recovery Environment и MINIX;
    • Для Debian GNU/kFreeBSD обеспечена поддержка файловой системы ZFS, в том числе поддержка установки с использованием файловой системы ZFS на корневом разделе;
    • Для сборок i386 и amd64 в комплект включен специальный Win32-загрузчик, позволяющий установить Debian не повреждая процесс загрузки Windows;
    • Обеспечен перевод сообщений инсталлятора на 70 языков.
В честь выхода нового релиза, по всему миру планируется провести праздничные вечеринки и встречи, организованные различными группами пользователей Linux. В России такие мероприятия пока намечены только в Москве (10 февраля) и Новосибирске (6 февраля).
Одновременно с релизом Debian GNU/Linux представлено новое оформление web-сайта проекта www.debian.org, которое не менялось уже на протяжении 13 лет. Вместе с основным сайтом дизайн поменялся в wiki.debian.org, lists.debian.org, planet.debian.org и packages.debian.org.

четверг, 3 февраля 2011 г.

Службы каталогов общие понятия



Что бы понять, что такое служба каталогов и для чего она нужна, рассмотрим организацию локальной сети на примере некого развивающегося предприятия. Первоначально, имея несколько компьютеров их объединяют в сеть на основе рабочей группы. Зачем? Для того, чтобы совместно использовать некие общие ресурсы: папки и файлы, принтеры, доступ в интернет.

Пока предприятие маленькое, все друг друга знают и постоянно на виду в сети используется гостевая модель доступа, как наиболее простая в реализации. Это значит что любой пользователь, имея ПК, физически подключенный к сети, может получить доступ к любым ее ресурсам.

По мере развития фирма расширяется, появляется деление на отделы и возникает необходимость разделения доступа к ресурсам. В рабочей группе все компьютеры равноправны, поэтому, для обеспечения доступа к некому ресурсу, на данном ПК должны быть заведены учетные записи для каждого пользователя, которому необходимо обеспечить доступ. Администратор сети в рабочей группе понятие весьма условное, на каждом ПК имеется свой, локальный, администратор, не имеющий аналогичных полномочий на других компьютерах. Рассмотрим схему более подробно:

 Directory-Service-1-001.png
В нашей рабочей группе имеются два ПК на которых работают пользователи Иванов (логин: Ivanov, пароль 123) и Петров (логин: Petrov, пароль 345). Для того, чтобы Иванов имел доступ к общим ресурсам Петрова, на его (Петрова) компьютере необходимо добавить учетную запись Ivanov и наоборот. Через некоторое время в сети появляется файловый сервер, на котором необходимо добавить все учетные записи пользователей, которые должны иметь доступ к его ресурсам. Отдельно стоит поговорить об организации доступа в интернет, обычно для этого используют стороннее ПО со своим списком пользователей и своим методом авторизации, что выливается в еще один список пользователей и еще один набор паролей.

Что мы имеем в итоге? Каждый пользователь имеет несколько паролей (а то и несколько пар логин-пароль): от учетной записи, от интернета. В дальнейшем, при появлении в сети новых сервисов (эл. почта, службы терминалов и т.п.), этот список будет только расти. Теперь представим ситуацию, когда Иванов решил поменять пароль к своей учетной записи. Пароль также придется сменить на всех ПК и серверах сети или при доступе к ним Иванову придется отдельно авторизовываться со своим старым паролем.

И вот, в один прекрасный (но явно не для админа) день, в нашу организацию пришел работать Сидоров. Его учетную запись следует создать на всех ПК и серверах к которым он должен иметь доступ. А если компьютеров в сети не один десяток? А если завтра он перейдет в другой отдел и должен будет иметь доступ к ПК Иванова, но не иметь доступа к ПК Петрова? Да, админу не позавидуешь...

Вот здесь и выходит на первый план необходимость в едином хранилище учетных записей пользователей и ресурсов локальной сети и таким хранилищем выступает служба каталогов. При этом мы переходим от организации сети на базе рабочей группы к доменной структуре, которая более сложная, но в тоже время позволяет четко выстроить иерархию доступа к ресурсам вашей сети. Вернемся к нашей схеме:

Directory-Service-1-002.pngКак видим, в нашей сети появился новый участник - контроллер домена. Это сердце сети, единое хранилище записей о всех ее ресурсах: рабочих станциях, принтерах, серверах, пользователях и группах пользователей. Теперь, авторизуясь на своем ПК, пользователь вводит логин и пароль выданные ему администратором домена. Эти учетные данные проверяются контроллером домена, который, в случае успешной авторизации, выдает ему своеобразный "пропуск" (билет сеанса), дающий пользователю возможность использовать все, разрешенные для его группы, ресурсы сети без дополнительной авторизации.

Выгоды от такого подхода очевидны, все учетные записи пользователей создаются один раз, на контроллере домена, любой новый сервис в сети достаточно ввести в общий каталог и доступ к нему автоматически могут получить все пользователи. Теперь появление нового сотрудника - Сидорова, не вызовет у админа головной боли, он один раз создаст его учетную запись и поместит ее в необходимую группу, при переходе сотрудника из отдела в отдел достаточно будет просто переместить пользователя из одной группы в другую. Один единственный раз.

Следует четко усвоить - служба каталогов предоставляет админу единую точку управления пользователями и ресурсами сети. Все изменения делаются один раз - на контроллере домена и применяются для всей сети. При доменной структуре, администратор, как капитан на судне, - "первый после Бога", имеет неограниченный доступ к любому ПК в сети.
Существует довольно много реализаций служб каталогов, наиболее распространенной и богатой по возможностям является Active Directory от Microsoft, существуют  также открытые решения, такие как OpenLDAP, Apache Directory Server, 389 Directory Server, домен Samba и иные.

вторник, 1 февраля 2011 г.

Выдан последний блок /8 IPv4 адресов


Как и ожидалось, в январе закончились доступные блоки /8 IPv4 адресов (маска /8 адресует около 17 млн. хостов). Последние 2 блока IPv4 адресов размером /8 были выделены организацией IANA Азиатско-Тихоокеанскому регистратору APNIC. Это означает что все региональные регистраторы уже получили все возможные блоки IPv4 адресов и более не получат никаких дополнительных блоков, так что в будущем распределение IPv4 адресов будет происходить только за счет региональных регистраторов, до тех пор пока у них остаются свободные блоки адресов. Предполагается, что у некоторых регистраторов доступные блоки адресов могут закончиться уже в этом году.
APNIC дополнительно подчеркивает, что в долговременном плане только IPv6 является долгосрочным решением проблемы. Следует также отметить что Google и другие компании чтобы ускорить переход на IPv6 проводят день всемирного тестирования IPv6, назначенный на 8 июня 2011 года.