← All posts tagged Linux

freefd

Вынесу из комментариев, пожалуй.

Давайте пофантазируем о ближаших перспективах информационных технологий.

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

Серверная часть, уже сейчас очевидно, за гипервизорами. Причём, за приложениями на голом гипервизоре без дополнительных прокладок в виде стандартного стека оверлея операционной системы (в этом месте следует читать про unikernel).

Сетевое оборудование, независимо от того, SMB/SME ли это или Carrier Grade, будет постепенно трансформироваться из standalone hardware в классический стек SDN/NFV (особенно, если Application over Hypervisor заработает так, как того ожидает индустрия). Очень вероятно, что это будут как раз контейнеры c приложениями поверх гипервизора. Intel DPDK уже машет нам растущими руками, а Docker подмигивает.

Ещё одним трендом, который может наконец-то выстрелить в ближайшее десятилетие (и я отчаянно этого жду), может стать компактная мобильная платформа в виде телефона, которая сможет служить полноценным PC при подключении к ней монитора, клавиатуры и мыши (посмотреть на зачатки можно в Microsoft Continuum). Возможно, в этот момент телефон будет служить обычными терминалом к DaaS (посмотреть можно на Amazon WorkSpaces).

Если есть желание — продолжайте в комментариях :)

freefd

Люди для парсинга unix timestamp в логах auditd пишут какие-то странные скрипты. Да всё проще! Сравните

$ tail -n 2 audit.log
type=CRED_DISP msg=audit(1404684121.941:158): user pid=3503 uid=0 auid=0 ses=20 msg='op=PAM:setcred acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'
type=USER_END msg=audit(1404684121.942:159): user pid=3503 uid=0 auid=0 ses=20 msg='op=PAM:session_close acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'

и

$ tail -n 2 audit.log | ausearch -i
----
type=CRED_DISP msg=audit(07/07/2014 02:02:01.941:158) : user pid=3503 uid=root auid=root ses=20 msg='op=PAM:setcred acct=root exe=/usr/sbin/crond hostname=? addr=? terminal=cron res=success'
----
type=USER_END msg=audit(07/07/2014 02:02:01.942:159) : user pid=3503 uid=root auid=root ses=20 msg='op=PAM:session_close acct=root exe=/usr/sbin/crond hostname=? addr=? terminal=cron res=success'

freefd

Эту статью я писал для внутренней вики, но почему-то решил ей поделиться и с людьми вне компании. Так как у Джуйка размер сообщения ограничен 4Кб, статья по частям будет продолжаться в комментариях. Картинка для привлечения внимания.

Каждая IT-компания рано или поздно попадает в ловушку под названием Oracle Database при покупке каких-либо софтверных решений для задач развития спектра своих услуг и, сооветственно, бизнеса. И очень часто эффективный менеджмент не может позволить признаться себе в необходимости появления DBA в компании для быстрого "поднятия" базы после аварии. А аварии, бывает, случаются достаточно часто.

Рассмотрим защиту рисков файловой системы ext3/ext4 и базы данных Oracle, расположенной на ней, при использовании стандартных для корпоративных инсталляций Linux окружений из SAN-сети (Dual Fabric или более) и Device Mapper Multipathing со стороны операционной системы.

Несмотря на всю стабильность работы технологий Fibre Channel, случаются аварии по вине 3 силы, например, потеря электропитания свитчами в одной из фабрик, что, естественно, сказывается на количестве активных путей до диска внутри операционной системы. В целом, это достаточно штатная ситуация, но не в случае, когда на дисках работают базы данных Oracle. В нашем случае мы будем рассматривать инсталляцию на основе блейд-шасси HP c7000 с лезвиями HP ProLiant BL680c G7, конвергентными свитчами HP Virtual Connect FlexFabric 10/24 Enterprise Edition в шасси, Fibre Channel свитчами HP StorageWorks 8/24 SAN Switch (они же Brocade 300 SAN Switch) и SAN-СХД HP Storage P6300 EVA. Со стороны multipathd это всё выглядит как:

freefd

Уважаемые, хочется напомнить цитату из RHEL Deployment Guide:

rsize=num and wsize=num — These settings speed up NFS communication for reads (rsize) and writes (wsize) by setting a larger data block size, in bytes, to be transferred at one time .... For NFSv2 or NFSv3, the default values for both parameters is set to 8192. For NFSv4, the default values for both parameters is set to 32768.

Пожалуйста, прекратите писать в fstab что-то навроде

ServerName:/PathToMount /PathToMount nfs4 rw,hard,rsize=32768,wsize=32768,intr

Указание rsize=32768 и wsize=32768 при использовании nfs4 бессмысленно, эти значения уже используются по умолчанию.

freefd

Обновил Ubuntu и на UX32VDA до 14.04. В отличие от обновления до 13.10, в 14.04 grub сдался и не осознал мой Intel RAID1 из двух SSD, был с лёгкостью починен с помощью boot-repair-disk (http://sourceforge.net/projects/boot-repair-cd/).

Следующим рубежом стал развалившийся Optimus. Репозиторий xorg-edgers и nvidia-337 вернули радость в жизнь. Разве что, в /etc/bumblebee/bumblebee.conf пришлось указать

Driver=nvidia
LibraryPath=/usr/lib/nvidia-337:/usr/lib32/nvidia-337
XorgModulePath=/usr/lib/nvidia-337/xorg,/usr/lib/xorg/modules

Ну и вот:

~> env vblank_mode=0 primusrun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 620M/PCIe/SSE2
217.832612 frames/sec — 193.400507 Mpixels/sec
218.034592 frames/sec — 193.579832 Mpixels/sec
220.662060 frames/sec — 195.912603 Mpixels/sec
221.018106 frames/sec — 196.228715 Mpixels/sec
220.490196 frames/sec — 195.760016 Mpixels/sec
219.909584 frames/sec — 195.244525 Mpixels/sec

Ядро 3.13.0-24-generic.

freefd

Хочется странного: linux-based cli html шаблонизатор. Ему скармливать некие параметры в цикле, на выходе получать готовый html документ с таблицей. Ищу ключевые слова для google.

freefd

В интернетах кто-то не прав.

cpuinfo говорит мне, что процессор умеет HT:

# cat /proc/cpuinfo | egrep 'name|ht' | head -2
model name : Intel(R) Xeon(R) CPU X7460 @ 2.66GHz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm

Сайт Intel рассказывает обратное:

ark.intel.com

Кому верить-то?

freefd

Коллеги, а нет ли у кого на примете хорошего wireless usb token, дабы тот, не видя свою ответную часть в радиусе 2-5 метров, блокировал бы рабочую станцию. Ну и, возможно, обратный эффект тоже был бы очень приятен. Платформа — Linux.

freefd

"Batman: Arkham Origins" из Steam сразу без проблем заработал в wine 1.6 под Ubuntu 13.04 как со встроенным видео от Intel, так и с дискретной Nvidia GT620M. Жалко, конечно, что из нативного для Linux клиента Steam невозможно устанавливать игры для Windows, клиент ругается на несоответствие платформ. Так что выход — wine + Windows Steam клиент.

Единственная существующая проблема — странное поведение мыши, ассиметричный обзор около 270 градусов.

freefd

Долго искал простой и гибкий софт для todo листа. Итогом поисков стал стандартный ежедневник.

В нём отмечалась задача, в скобках инженер, которому она были отдана. Как только задача выполнялась, она вычёркивалась. Если задача включала в себя список подзадач, она расписывались в виде списка, так же в скобках указывались инженеры, которым были отданы подзадачи. И точно так же подзадачи вычёркивались по выполнению. Ничего необычного. Сроки не указывались, либо указывались на полях, но редко.

Но вот вчера я нарвался на Nitro (http://nitrotasks.com/). Списки — аналоги больших задач из подзадач. Теги — уточнение по отвественным за выполнение лицам + привлекаемым из других подразделений людским ресурсам. Нотесы для задача — комментарии.

Ну и надо процитировать, что "Nitro 2 is written in CoffeeScript and uses the SpineJS framework" (https://github.com/stayradiated/nitro). Приложение само по себе standalone, но может синхронизировать данные между многими устройствами посредством Dropbox/Ubuntu One, элементарно складывая туда файл json и txt с задачами. Соответственно, реализован и веб-интерфейс. В идеале, на базе этой прекрасной утилиты можно реализовать некий визуальный "пульс", по которому видно, чем занят каждый из инженеров сейчас.

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

freefd

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

freefd

После обновления до 3.8.0-21 начала рандомно включаться дискретная карточка nvidia. Судя по всему, это снова ожил баг github.com

Добавил в /etc/modprobe.d/dkms.conf запись вида blacklist nvidia и перегенерировал все initrd посредством update-initramfs -k all -u.

Завтра посмотрим, помогло ли :)

freefd

Наконец-то руки дошли до восстановления функционирования технологии Optimus на моём уже стареньком Asus Eee PC 1215n, так как после обновления Xubuntu до 13.04 всё поломалось и более не взлетало.

Теперь же, при заблеклистенном nouveau, установленном проприетарном драйвере Nvidia 139.17 Beta и bumblebee 3.2 + primus, имею следующие цифры:

$ lspci | grep NVI
04:00.0 VGA compatible controller: NVIDIA Corporation GT218 [ION 2] (rev ff)

$ optirun glxgears
1134 frames in 5.0 seconds = 226.666 FPS
1180 frames in 5.0 seconds = 235.964 FPS
1178 frames in 5.0 seconds = 235.470 FPS
1163 frames in 5.0 seconds = 232.569 FPS
1184 frames in 5.0 seconds = 236.760 FPS
1159 frames in 5.0 seconds = 231.680 FPS

$ vblank_mode=0 primusrun glxgears
2260 frames in 5.0 seconds = 451.840 FPS
2257 frames in 5.0 seconds = 451.239 FPS
2305 frames in 5.0 seconds = 460.960 FPS
2299 frames in 5.0 seconds = 459.755 FPS
2190 frames in 5.0 seconds = 437.882 FPS
2309 frames in 5.0 seconds = 461.740 FPS
2306 frames in 5.0 seconds = 461.057 FPS
2304 frames in 5.0 seconds = 460.656 FPS

Самое время навестить Steam и посмотреть на работу игр семейства Valve под Linux :)

freefd

Надо сказать, что в последней версии (0.5.0) makefile для PtokaX появилась возможность указать под какую версию собирается дистрибутив, соответственно, отпала необходимость править ключи вызова компилятора вручную в этом самом makefile. Например, если компиляция происходит на CentOS 5 x86, то достаточно выполнить make centos5-32, для CentOS 5 x86_64, соответственно, make centos5-64, для CentOS 6, независимо от архитектуры — make centos6.