Добавляем поддержку NTFS/exFAT в Solaris 11

Недавно к нам обратился один заказчик с маленькой проблемой: на его SunRay-сервере, установленном на сервере SPARC Enterprise T5120 не работали флешки с файловыми системами NTFS и exFAT. Вопрос с переносом все x86-железку с Linux на борту не рассматривался, так что пришлось импровизировать.

Заменяем *sh, grep, awk на Python в скриптах

Как и у любого *nix-администратора, мои первые скрипты использовали *sh, sed, awk, cut, head -1 и другие утилиты. Я мучался, когда где-то попадался пробел, так как приходилось переопределять IFS, страдал от избыточного кода. А потом я изучил Python, и оказалось, что программирование на английском языке (а не на закорючках, как в sh/perl) - это удобно!

PowerShell для получения контактов из AD

PowerShell предоставляет богатый и мощный инструментарий для работы в Windows среде. В данной статье я рассмотрю возможности PowerShell по работе с такими объектами Active Directory, как контакты. При развернутой Microsoft инфраструктуре с Exchange существуют общие (расшаренные) контакты.

Организация разграничения доступа к веб-ресурсам на базе Squid

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

Виртуальная память на sun'ках: SPARC64 и хэшированная таблица страниц

Преобразование виртуальных адресов на SPARC-системах вскользь затрагивается на довольно годном курсе Solaris Internals (в своё время он хорошо раскидал кашу в голове по нужным полкам). Но, на мой взгляд, эта тема достойна отдельного внимания, ибо отличия от привычного многим подхода x86 очень существенные.

Дедупликация медиа своими руками

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

Этот коварный pthread_cond_signal

Для того, чтобы ожидать некоего события на условной переменной (Condition Variable) надо захватывать сопутствующую ей мьютекс-блокировку. А вот нужно ли захватывать блокировку на стороне производителя?

Доступ к Яндекс.Диск через WebDAV

В очередной раз встал вопрос об резервном копировании данных в какое-нибудь бесплатное облако. Планировал пойти проверенным путем воспользовавшись Google Drive с помощью GoogleCL, но выяснилось, что я отстал от жизни, и теперь Google не позволяет через свое cli работать с диском.

Выбор платформы виртуализации для лабораторного практикума

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

Меняем ленту в NetBackup

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

Басня о геометрии диска и Solaris

Когда компьютеры были большими, диски маленькими, использовалась адресация CHS (Cylinder-Sector-Head), а разработчики файловых систем уделяли огромное внимание геометрии диска, в частности файловая система FFS и построенная на ее основе UFS, широко используемая в Solaris, используют цилиндровые группы для организации данных на диске.

Дебаг сложных проектов в gdb

Предыдущая моя статья получилась довольно объемной, а нераскрытых тем осталось довольно много. Поэтому,было принято решение написать ещё одну статью, в которой я опишу особенности многофайлового дебага с помощью gdb.

GDB бояться - код не дебажить

Многие *nix программисты опасаются всяческих видов дебага сишного кода и переходят в состояние паники реагируя на слово "GDB". Скорее всего, причиной этому послужило отсутствие VisualStudio с её замечательными функциями по дебагу кода.

Полезная магия VirtualBox

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

История утечки памяти в Java

В данной заметке расскажу о проблеме с которой я столкнулся при написании Java-приложения. В классе отвечающим за обмен данными с внешними носителями возвращаемое значение было объявлено и инициализировано локально (в методе) : @Override public synchronized byte[] getData(int size) { byte[] b=new byte[size]; // утечка try { if (bInput.

Сборка плагинов для Liferay в Ubuntu без использования IDE

Существует достаточно широкий набор инструментов разработки плагинов для Liferay Portal. "Каноническим" вариантом является связка Liferay Plugins SDK + Liferay IDE, но возможны и другие варианты - например, Maven + NetBeans. Тем не менее, достаточно часто возникает необходимость собрать плагин для Liferay, не запуская IDE (т.е. используя только командную строку).

Комментарии в JSF

Небольшая заметка по поводу комментариев в JSF. Я думаю многие сталкивались с ситуацией, когда в комментарии попадают jsf-теги. Проблема заключается в том, что некоторые выражения, находящиеся в закомментированных тегах, все равно вычисляются. Данное поведение может привести к непредсказуемым сторонним эффектам, а также быть причиной возникновения эксепшенов.

Liferay - получение данных о пользователе из JSF-портлета

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

Liferay - получение ID и списка ролей текущего пользователя

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

Установка Oracle VDI 3.5 на Oracle Linux 6.3

Недавно у нашего заказчика возникла проблема с установкой Oracle VDI 3.5 на Oracle Enterprise Linux 6.3. Проблема носила следующий характер: https://forums.oracle.com/forums/thread.jspa?messageID=10944728 Несмотря на то, что заказчики разные, данная статья (как это ни странно) является логическим продолжением вот этой: Установка OracleVDI на OEL5.

Один из способов переподключения сетевых дисков Windows

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

Как Oracle память транжирил

    В Oracle 11g появилась система AMM (Automatic Memory Management) и свойство MEMORY_TARGET, и казалось бы вот он - способ регулировать потребление памяти Oracle. Однако структура потребления памяти инстансом Oracle несколько сложнее.

Liferay - размещаем портлет из панели управления на странице портала

Иногда возникает необходимость разместить компоненты с панели управления Liferay на произвольных страницах портала (например, список задач может быть полезен на персональных страницах пользователей). В заметке описан простой способ решения этой задачи.

Создание портлетов для Liferay при помощи maven

Изначально портлеты для Liferay собирались ant скриптами, но начиная с версии 6 появилась возможность использовать для разработки портлетов maven. Я не мог пройти мимо этой возможности, поэтому в этом посте опишу процесс создания портлета при помощи Liferay Maven SDK.

Liferay: взаимодейстие портлетов через общую сессию

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

JSON сервисы в Liferay Portal

Достаточно часто при разработке mvc-портлетов появляется необходимоть в асинхронном обновлении тех или иных компонентов. Обычной реализацией данного функционала является AJAX'овый запрос на сервер в виде вызова liferay action. Подробнее об этом можно прочитать в данной статье. Альтернативой являются такие же ajax'овые запросы, но выполненые в виде сервисов liferay.

Костылинг температуры AMD K15 на FreeBSD

Довольно часто возникает потребность получить температуру центрального процессора. На FreeBSD 9.0 я однажды пришел к решению, но затем вышла FreeBSD 9.1, времени обновиться не было, а надежды на нативную поддержку датчика температуры в AMD K15 были.

Настройка статического IP в Ubuntu без использования GUI

Что делать, если на сервере установлен Linux для людей (С), а GUI-приложениями воспользоваться невозможно? В заметке описан способ настройки статического IP в Ubuntu Server 12.04, позволяющий обойтись при решении этой задачи только инструментами, доступными через терминал.

Использование Liferay-сервисов из разных портлетов/Hook-плагинов

Иногда возникает необходимость использовать Liferay-сервис из нескольких различных портлетов. Например, при работе с одним проектом, который состоит из портлета (для доступа в бд в портлете используется сервис) и хука (хук кастомизирует функционал некоторых стандартных портлетов Liferay), возникла необходимость сделать так, чтоб и в хуке можно было бы работать с базой через уже имеющийся сервис.

Сбор snapshot с XSCFU

На серверах М-серии существует сервисный процессор eXtended System Control Facility Unit (XSCFU) на нем существует утилита snapshot позволяющая собрать дамп (snapshot) диагностической информации. Эта информация может быть весьма полезна при возникновение проблем с оборудованием или просто для истории.

Установка Liferay на домен GlassFish

Вследствие того, что разработчики чаще всего используют готовые бандлы Liferay на базе различных серверов приложений, при развёртывнии портала в продакшн-окружение на существующий домен сервера приложений у них могут возникнуть трудности. В этой заметке я решил привести пошаговую инстукцию (с картинками), как развернуть последнюю на данный момент версию Liferay (6.1.1) в домене на базе сервера приложений GlassFish (версии 3.1.2.2).

Переключение "профилей" в Zoneminder

Для изменения параметров мониторов (камер) нужно сохранить необходимые профили (состояния). Для этого необходимо для каждого монитора выбрать режим работы (Monitor, Modect, Record, Mocord, Nodect) и затем нажать на ссылку running state находящуюся вверху web консоли.

Liferay: изменение пароля пользователя в БД

Недавно я столкнулся с необходимостью изменить на локальном тестовом сервере пароль администратора, который был мне неизвестен. Это можно сделать двумя способами - вручную изменить пароль в базе данных (при наличии доступа), или использовать неофициальный хук.

Виртуальная виртуальная память 1. Shadow tables

Озадачился я как-то вопросом, что же означает галочка Nested Paging в virtual box'е, и познал всю глубину своих заблуждений о работе виртуальной памяти. Ответ на исходный вопрос нашёлся быстро, но за ним последовала длительная медитация над такими понятиями как SLAT, ASIDs, VPIDs.

Настройка OpenLDAP в RedHat 6 со статической конфигурацией

Установка и настройка сервера Для начала установим пакет OpenLDAP-сервера: # yum install openldap-servers Демон OpenLDAP называется slapd. Сконфигурируем его. Но сначала надо внести некоторые изменения в конфигурацию rsyslog и iptables: В /etc/rsyslog.

Пересборка ядра в rpm-based дистрибутивах Linux

К сожалению в ядре Linux и в окружающем его железе не всегда все работает гладко и иногда требутется лезть туда напильником и что-нибудь допиливать. Очевидный способ состоит в скачивании свежего пакета исходников с kernel.

Работа со списками в Java 8

C появлением в Java 8 лямбда-выражений и ряда других подходов, присущих функциональным языкам, выразительная сила, без сомнения, увеличилась, однако появились и далеко не очевидные моменты. Примером может служить работа со списками с применением операций map, filter, reduce.

Hibernate 3.6 и offline-валидация конфигурационных файлов

При апгрейде проекта столкнулся с забавной проблемой - ORM-фреймворк Hibernate нормально работает только тогда, когда у сервера приложений есть доступ в интернет. О нехитром шаманстве, позволившем решить эту проблему - в продолжении заметки.

Описание неявных групп и идентификаторов Windows 2008 r2

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

Добавление в ZABBIX UPS управляемой NUT'ом

 Мониторинг состояния UPS будет производиться утилитой upsc входящей в состав NUT (Network UPS Tools). Необходимо в конфигурационный файл агента Zabbix (zabbix_agentd.conf) добавить пользовательский параметр вызывающий вспомогательный скрипт: UserParameter=upsmon
- ,<path>/upsstatus.

Горячие клавиши в LXDE

В очередной раз столкнулся с выбором окружения рабочего стола. И в очередной раз выбор пал на LXDE. Хотя аппаратная платформа позволяла установить и более требовательное к ресурсам окружение, но LXDE с минимальным допиливанием делает всё, что необходимо и с восхитительным временем отклика.

Миграция на Liferay 6.1 и проблемы с неавторизованным доступом к файлам

Миграция на новую версию ПО - регулярная и, во многих случаях, достаточно неприятная задача. Если вы используете Liferay достаточно давно (как минимум, с пятой версии), и, наконец, решились смигрировать на последнюю на данный момент версию портала, то вы практически наверняка столкнётесь с рядом проблем, которым посвящена эта и, скорее всего, будут посвящены несколько следующих моих заметок.

Конфигурируем статический IP в openSUSE

Как и в любом десктопном Linux'е по-умолчанию в openSUSE включен NetworkManager, который для системы со статическим IP-адресом является скорее обузой, чем пользой. К счастью, openSUSE не забыла свои корни (я о SuSE Linux Enterpise) и умеет также конфигурироваться через ifup.

Как я писал ядро ОС. Часть 3

Часть 1. Платформа Часть 2. Архитектура и библиотека ядра Часть 3. Ключевые подсистемы ядра     В последней статье серии хотелось бы поговорить о ключевых подсистемах моего микроядра: диспетчере и планировщике потоков, менеджере памяти, системных вызовах и IPC (межпроцессной коммуникации).
RSS (Открывает новое окно)(Открывает новое окно)
thumbnail Владислав Алексеевич Бойко
Записи: 1
Дата: 13.04.24
thumbnail Romo Fedoroff
Записи: 30
Дата: 11.04.24
thumbnail Антон Семёнович Макаренко
Записи: 2
Дата: 26.03.24
thumbnail Marina Pashnina
Записи: 25
Дата: 01.03.24
thumbnail Тимофей Перцев
Записи: 28
Дата: 05.02.24
thumbnail Dmitry Afanasiev
Записи: 59
Дата: 29.12.23
thumbnail Денис Серянкин
Записи: 2
Дата: 18.12.23
thumbnail Danil Khanalainen
Записи: 2
Дата: 30.11.23
thumbnail Дмитрий Сазонов
Записи: 59
Дата: 19.11.23
thumbnail Anna Ershova
Записи: 2
Дата: 30.10.23
thumbnail Erik Karapetyan
Записи: 12
Дата: 09.09.23
thumbnail Pavel Danilov
Записи: 12
Дата: 09.09.23
thumbnail Dmitry Sheshukov
Записи: 13
Дата: 31.08.23
thumbnail Алексей Егошин
Записи: 10
Дата: 09.08.23
thumbnail Nikolay Emchenko
Записи: 16
Дата: 22.06.23
thumbnail Maxim Zhukov
Записи: 152
Дата: 20.06.23
thumbnail Vladislav Sivirin
Записи: 1
Дата: 22.05.23
thumbnail Vadim Kholoshnia
Записи: 1
Дата: 17.04.23
thumbnail Andrei Maksimov
Записи: 19
Дата: 21.03.23
thumbnail И Горь
Записи: 27
Дата: 20.02.23
thumbnail Alexey Weiss
Записи: 13
Дата: 08.02.23
thumbnail Dmitry Komarov
Записи: 2
Дата: 02.06.22
thumbnail Semyon Gruzdev
Записи: 1
Дата: 17.11.21
thumbnail Victor Scherbakov
Записи: 3
Дата: 03.09.21
thumbnail Ivan Kayukov
Записи: 10
Дата: 17.08.21
thumbnail Alexander Zhermal
Записи: 8
Дата: 16.04.21
thumbnail Daria Zuban
Записи: 2
Дата: 29.12.20
thumbnail Alexander Yarkeev
Записи: 42
Дата: 23.12.20
thumbnail Alexey Pismak
Записи: 2
Дата: 09.12.20
thumbnail Evgenij Tsopa
Записи: 51
Дата: 05.10.20
thumbnail Александр Исаев
Записи: 5
Дата: 15.09.20
thumbnail Александр Пашнин
Записи: 25
Дата: 10.09.20
thumbnail Danil Sinitskiy
Записи: 3
Дата: 02.09.20
thumbnail Александра Пирс
Записи: 27
Дата: 01.04.20
thumbnail Valeriy Urrievich Kireev
Записи: 26
Дата: 15.01.20
thumbnail Vladimir Nikolaev
Записи: 14
Дата: 30.12.19
thumbnail Ivan Uskov
Записи: 23
Дата: 16.12.19
thumbnail Андрей Дьяков
Записи: 25
Дата: 27.06.19
thumbnail Sergey Zhmylove
Записи: 45
Дата: 14.03.18
thumbnail Lev Koznov
Записи: 18
Дата: 14.07.17
thumbnail Никита Валерьевич Акентьев
Записи: 1
Дата: 29.06.17
thumbnail DEADBEEF
Записи: 1
Дата: 16.01.17
thumbnail Никита Патрахин
Записи: 2
Дата: 15.08.16
thumbnail Vladimir Berlev
Записи: 3
Дата: 26.11.15
thumbnail Sergey Klyaus
Записи: 58
Дата: 21.06.15
thumbnail Олег Олегович Кулаченко
Записи: 1
Дата: 28.01.15
thumbnail Pakhom Golynga
Записи: 20
Дата: 03.03.14
thumbnail Vladislav Sovinskiy
Записи: 11
Дата: 10.01.14
thumbnail Илья Валентинович Перминов
Записи: 19
Дата: 04.09.13
thumbnail Konstantin Borzov
Записи: 7
Дата: 20.06.13
thumbnail Anthony Dmitriev
Записи: 4
Дата: 19.02.13
thumbnail Nicolay Smirnov
Записи: 6
Дата: 02.05.12
thumbnail Alexander Deiter
Записи: 16
Дата: 08.09.11
thumbnail Serge Klimenkov
Записи: 8
Дата: 26.07.11
thumbnail Roman Ambrosenko
Записи: 3
Дата: 18.01.11
thumbnail Sergey Shilin
Записи: 9
Дата: 05.11.10
thumbnail Ruslan F. Isbarov
Записи: 1
Дата: 31.03.10
thumbnail Алексей Сергеевич Лемешев
Записи: 1
Дата: 22.03.10