LINUX.ORG.RU

Избранные сообщения blackst0ne

Белая крысаfe

Галерея — Скриншоты

Надоела за год серость.
Насунул светлого поверх мрака. Сменил Faenz'у надоевшую.

Тема: Orion
Рамки окон: модификация на что-то
ШГифты: PT Sans
Значки: Compass - вполне неплохие. Некоторых не хватает, для себя немного добавлял, но набор достаточно полный. Пока не вижу где ещё не хватает.

Начинаем новый год со светлого)

Для полной картины.

>>> Просмотр (1600x900, 1285 Kb)

 ,

dagaragga
()

Metro-like стиль для LOR

Галерея — Скриншоты

Сделал для себя такую вот тему. Подключается через greacemonkey и stylish.

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

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

Цвет тайлов во всех случаях зависит от активности темы или раздела, на главной и в трекере - от общего количества сообщений, в списке разделов форума и тем раздела - от количества сообщений за сегодня.
На 100% соответствие windows-стилю не претендую, многое было сделано «на глаз». Также отсутствуют анимации переходов.

Остальные скриншоты:
Главная, часть 2
Трекер
Тема, оппост
Тема, панель навигации
Talks
Talks, открытый сайдбар
Опрос
Галерея
Разделы

>>> Просмотр (1920x1080, 294 Kb)

 , , ,

des75
()

Очередной тред выбора системы мониторинга

Форум — Admin

Доброго времени суток.

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

Необходимо:

  • Надёжность. Никаких ситуаций вроде «дочерний сервер мониторинга незаметно отвалился» или «агент на хосте перестал слать данные, а сервер этого не заметил». И это задача не пользователя, который должен сам добавлять проверки на недоступность, а задача сервера, который сам автоматически проверяет такие ситуации.
  • Расширяемость. Возможность отправлять данные из внешних скриптов.
  • API. Нужна возможность выполнять массовые действия автоматически, через внешние скрипты
  • Распределённость. Нужны промежуточные сервера, которые через свой интерфейс покажут текущее состояние подотчётных объектов, даже если упал канал до центрального сервера мониторинга
  • Открытые исходники. Потому что зачастую их приходится использовать для отладки и для понимания как же оно работает
  • Низкое потребление ресурсов агентом. Нередкая ситуация с виртуальной машиной - 384 Мб памяти. Т.е. не жаба, не руби и не что там ещё прожорливое. Ресурсоёмкость сервера не так критична
  • Возможность строить custom'ные графики по собранным данным. Желательно - доступ к настройке графиков через API
  • Давать доступ по ssh ко всем серверам, тем более рутовый - недопустимо. Поэтому необходима возможность не автоматической установки агентов на хосты

 

router
()

nDPI как замена l7filter

Форум — General

Если кому интересно, то вот рецепт

На большом потоке ( >300мбит/с ) c большим числом протоколов (>20) используется примерно 40% одного ядра Intel(R) Xeon(R) CPU E31230@3.20GHz. Если поток больше или процессор слабее, то включаем RPS или используем сетевые карты с multi-queue и irq-affinity :)

Требуется много памяти. На каждое соединение расходуется примерно 800+264*0.7 байт.

Исходники теперь есть на https://github.com/vel21ripn/nDPI/tree/netfilter

 ,

vel
()

Сравнение производительности php: FreeBSD vs Gentoo Linux

Форум — Admin

Доброго времени суток,

Имеется два идентичных сервера: Xeon E3-1270v2, 32Gb RAM, RAID10. На одном из них стоит Gentoo Linux запиленная под железо, на другом FreeBSD 10-STABLE. Стало интересно сравнить производительность фри c Linux-ом на типичных серверных задачах: nginx+uwsgi_php55, mariadb-galera, redis. Все кроме php работает замечательно. По результатам теста, php под FreeBSD жрет на 30% больше проца и при этом существенно проигрывает в скорости по сравнению с Linux-ом. Сразу скажу, что на обеих ОСях php собран одной версией компилятора, одинаковыми модулями и с теми же CFLAGS. Прослойка uwsgi никакого влияния не оказывает, пробовал php-fpm - результат тот же. В сетевом стеке или nginx затыка тоже нет (настройки nginx одинаковые). Для уверенности в этом, результат выполнения скрипта клал в htm файл и тащил по сети в 16 потоков, трафик забил гигобитный линк до отказа. Скорость отдачи статики через nginx практически одинаковые на обеих серверах. В итоге получилось, что на Linux php скрипт (банальный phpinfo()) выполнился за 1 msec, а на фре примерно за 8 msec. Ниже трейсы с временными метками.

Gentoo Linux:

12:46:32.578393 accept4(6, {sa_family=AF_INET, sin_port=htons(59528), sin_addr=inet_addr("192.168.3.7")}, [16], SOCK_NONBLOCK) = 10
12:46:32.578527 read(10, "\0167\2\0\17\0SCRIPT_FILENAME+\0/home/htt"..., 4100) = 574
12:46:32.578678 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.578779 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.578917 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.578966 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.579035 lstat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579078 stat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579124 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.579161 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.579177 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.579225 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.579261 lstat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579296 lstat("/home/httpd/www/system/web/info.php", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
12:46:32.579321 stat("/home/httpd/www/system/web/info.php", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
12:46:32.579373 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={60, 0}}, NULL) = 0
12:46:32.579417 rt_sigaction(SIGPROF, {0x7f67b9b1a0b0, [PROF], SA_RESTORER|SA_RESTART, 0x3654634d10}, {0x7f67b9b1a0b0, [PROF], SA_RESTORER|SA_RESTART, 0x3654634d10}, 8) = 0
12:46:32.579464 rt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0
12:46:32.579517 lstat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579535 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.579565 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.579588 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.579608 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.579627 stat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579647 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={30, 0}}, NULL) = 0
12:46:32.579662 lstat("/home/httpd/www/system/web/info.php", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
12:46:32.579679 lstat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579698 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.579715 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.579731 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.579772 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.579800 stat("/home/httpd/www/system/web/info.php", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
12:46:32.579816 lstat("/home/httpd/www/system/web/info.php", {st_mode=S_IFREG|0644, st_size=20, ...}) = 0
12:46:32.579831 lstat("/home/httpd/www/system/web", {st_mode=S_IFDIR|0755, st_size=440, ...}) = 0
12:46:32.579864 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.579882 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.579899 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.579917 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.579944 uname({sys="Linux", node="node1", ...}) = 0
12:46:32.581114 write(10, "HTTP/1.1 200 OK\r\nContent-type: t"..., 44) = 44
12:46:32.581141 write(10, "<!DOCTYPE html PUBLIC \"-//W3C//D"..., 95544) = 95544
12:46:32.581178 lstat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.581195 lstat("/home/httpd/www", {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0
12:46:32.581213 lstat("/home/httpd", {st_mode=S_IFDIR|0755, st_size=80, ...}) = 0
12:46:32.581232 lstat("/home", {st_mode=S_IFDIR|0755, st_size=256, ...}) = 0
12:46:32.581249 stat("/home/httpd/www/system", {st_mode=S_IFDIR|0755, st_size=208, ...}) = 0
12:46:32.581268 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
12:46:32.581298 setitimer(ITIMER_PROF, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
12:46:32.581313 open("/proc/self/stat", O_RDONLY) = 13
12:46:32.581333 fstat(13, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
12:46:32.581369 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f67b87bf000
12:46:32.581390 read(13, "5295 (uwsgi) R 5292 5291 5291 0 "..., 1024) = 309
12:46:32.581415 close(13)               = 0
12:46:32.581435 munmap(0x7f67b87bf000, 4096) = 0
12:46:32.581452 close(10)               = 0
12:46:32.581475 writev(2, [{"{address space usage: 313401344 "..., 78}, {"[pid: 5295|app: -1|req: -1/20] 1"..., 207}], 2) = 285
12:46:32.581516 epoll_wait(8, ^CProcess 5295 detached
 <detached ...>

FreeBSD:

13518: 4.569934535 4.569699769 kevent(7,0x0,0,{0x6,EVFILT_READ,0x0,0,0x1,0x0},1,0x0) = 1 (0x1)
13518: 4.570825352 0.000052122 accept(6,{ AF_INET 192.168.3.8:27225 },0x800751104) = 9 (0x9)
13518: 4.571227700 0.000080451 read(9,"\^N7\^B\0\^O\0SCRIPT_FILENAME+\0"...,4100) = 574 (0x23e)
13518: 4.572505836 0.000127551 lstat("/home",{ mode=drwxr-xr-x ,inode=4,size=6,blksize=4096 }) = 0 (0x0)
13518: 4.572865713 0.000085512 lstat("/home/httpd",{ mode=drwxr-xr-x ,inode=8,size=3,blksize=4096 }) = 0 (0x0)
13518: 4.573190386 0.000084730 lstat("/home/httpd/www",{ mode=drwxr-xr-x ,inode=11,size=7,blksize=4096 }) = 0 (0x0)
13518: 4.573510820 0.000085387 lstat("/home/httpd/www/system",{ mode=drwxr-xr-x ,inode=14,size=8,blksize=4096 }) = 0 (0x0)
13518: 4.573830457 0.000086490 lstat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.574463050 0.000112191 stat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.574776573 0.000074341 lstat("/home",{ mode=drwxr-xr-x ,inode=4,size=6,blksize=4096 }) = 0 (0x0)
13518: 4.575283320 0.000147897 lstat("/home/httpd",{ mode=drwxr-xr-x ,inode=8,size=3,blksize=4096 }) = 0 (0x0)
13518: 4.575610283 0.000083883 lstat("/home/httpd/www",{ mode=drwxr-xr-x ,inode=11,size=7,blksize=4096 }) = 0 (0x0)
13518: 4.575931248 0.000084239 lstat("/home/httpd/www/system",{ mode=drwxr-xr-x ,inode=14,size=8,blksize=4096 }) = 0 (0x0)
13518: 4.576285572 0.000108849 lstat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.576609324 0.000111585 lstat("/home/httpd/www/system/web/info.php",{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.576934252 0.000087095 stat("/home/httpd/www/system/web/info.php",{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.578137551 0.000044300 setitimer(2,{0.000000, 60.000000 },0x0) = 0 (0x0)
13518: 4.578890119 0.000065843 sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGTRAP|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) = 0 (0x0)
13518: 4.579187695 0.000043938 sigaction(SIGPROF,{ 0x8008c4f10 SA_RESTART|SA_SIGINFO ss_t },{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
13518: 4.579462247 0.000041825 sigprocmask(SIG_SETMASK,0x0,0x0) = 0 (0x0)
13518: 4.579911068 0.000042550 sigprocmask(SIG_UNBLOCK,SIGPROF,0x0) = 0 (0x0)
13518: 4.590744228 0.000042902 getpid()		 = 13518 (0x34ce)
13518: 4.591336110 0.000120646 lstat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.591654258 0.000083637 lstat("/home/httpd/www/system",{ mode=drwxr-xr-x ,inode=14,size=8,blksize=4096 }) = 0 (0x0)
13518: 4.591972362 0.000081378 lstat("/home/httpd/www",{ mode=drwxr-xr-x ,inode=11,size=7,blksize=4096 }) = 0 (0x0)
13518: 4.592261019 0.000077203 lstat("/home/httpd",{ mode=drwxr-xr-x ,inode=8,size=3,blksize=4096 }) = 0 (0x0)
13518: 4.592546414 0.000053455 lstat("/home",{ mode=drwxr-xr-x ,inode=4,size=6,blksize=4096 }) = 0 (0x0)
13518: 4.593027172 0.000087156 stat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.593343938 0.000042315 setitimer(2,{0.000000, 30.000000 },0x0) = 0 (0x0)
13518: 4.593741569 0.000111314 lstat("/home/httpd/www/system/web/info.php",{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.594713138 0.000122570 open("/home/httpd/www/system/web/info.php",O_RDONLY,00) = 11 (0xb)
13518: 4.595143348 0.000071575 fstat(11,{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.595421016 0.000066014 lseek(11,0x0,SEEK_CUR) = 0 (0x0)
13518: 4.595870293 0.000074647 read(11,"<?php\nphpinfo();\n?>\n",8192) = 20 (0x14)
13518: 4.596238890 0.000046159 read(11,0x7dc8e8,8192) = 0 (0x0)
13518: 4.596512268 0.000044300 read(11,0x7dc8e8,8192) = 0 (0x0)
13518: 4.596948686 0.000071119 close(11)	 = 0 (0x0)
13518: 4.600002706 0.000046740 break(0xd44000)	 = 0 (0x0)
13518: 4.604407899 0.000144809 open("/home/httpd/www/system/web/info.php",O_RDONLY,00) = 11 (0xb)
13518: 4.604657610 0.000047382 fstat(11,{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.604905881 0.000046504 __sysctl(0x7fffffffb380,0x2,0x7fffffffb37c,0x7fffffffb388,0x0,0x0) = 0 (0x0)
13518: 4.605218127 0.000046154 fstat(11,{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.605494952 0.000044314 fstat(11,{ mode=-rw-r--r-- ,inode=102419,size=20,blksize=4096 }) = 0 (0x0)
13518: 4.605771958 0.000076125 mmap(0x0,20,PROT_READ,MAP_SHARED,11,0x0) = 34367475712 (0x800761000)
13518: 4.607110165 0.000039308 getpid()		 = 13518 (0x34ce)
13518: 4.609585731 0.000076692 munmap(0x800761000,20) = 0 (0x0)
13518: 4.609831733 0.000072562 close(11)	 = 0 (0x0)
13518: 4.610278029 0.000047472 __sysctl(0x7fffffffbfe0,0x2,0x7fffffffc130,0x7fffffffbfd8,0x0,0x0) = 0 (0x0)
13518: 4.610554860 0.000044264 __sysctl(0x7fffffffbfe0,0x2,0x7fffffffc230,0x7fffffffbfd8,0x0,0x0) = 0 (0x0)
13518: 4.610830052 0.000066649 __sysctl(0x7fffffffbfe0,0x2,0x7fffffffc330,0x7fffffffbfd8,0x0,0x0) = 0 (0x0)
13518: 4.611107379 0.000067807 __sysctl(0x7fffffffbfe0,0x2,0x7fffffffc430,0x7fffffffbfd8,0x0,0x0) = 0 (0x0)
13518: 4.611396603 0.000042516 __sysctl(0x7fffffffbfe0,0x2,0x7fffffffc530,0x7fffffffbfd8,0x0,0x0) = 0 (0x0)
13518: 4.616492616 0.000155860 open("/usr/share/locale/en_US.UTF-8/LC_CTYPE",O_CLOEXEC,0666) = 11 (0xb)
13518: 4.616764816 0.000070753 fstat(11,{ mode=-r--r--r-- ,inode=132288,size=76132,blksize=65536 }) = 0 (0x0)
13518: 4.617088612 0.000069731 fstat(11,{ mode=-r--r--r-- ,inode=132288,size=76132,blksize=65536 }) = 0 (0x0)
13518: 4.617405293 0.000064435 lseek(11,0x0,SEEK_CUR) = 0 (0x0)
13518: 4.617650067 0.000043323 lseek(11,0x0,SEEK_SET) = 0 (0x0)
13518: 4.618217554 0.000365490 read(11,"RuneMag1UTF-8\0\0\0\0\0\0\0\0\0"...,65536) = 65536 (0x10000)
13518: 4.619179546 0.000082154 read(11,"@\^D\b\0@\^D\b\0@\^D\b\0@\^D\b\0"...,65536) = 10596 (0x2964)
13518: 4.620830499 0.000050112 close(11)	 = 0 (0x0)
13518: 4.624148825 0.000068403 break(0xe44000)	 = 0 (0x0)
13518: 4.630655933 0.000126919 open("/usr/share/locale/en_US.UTF-8/LC_CTYPE",O_CLOEXEC,0666) = 11 (0xb)
13518: 4.630926550 0.000070057 fstat(11,{ mode=-r--r--r-- ,inode=132288,size=76132,blksize=65536 }) = 0 (0x0)
13518: 4.631176742 0.000045122 fstat(11,{ mode=-r--r--r-- ,inode=132288,size=76132,blksize=65536 }) = 0 (0x0)
13518: 4.631422162 0.000043784 lseek(11,0x0,SEEK_CUR) = 0 (0x0)
13518: 4.631664936 0.000042445 lseek(11,0x0,SEEK_SET) = 0 (0x0)
13518: 4.632011403 0.000119448 read(11,"RuneMag1UTF-8\0\0\0\0\0\0\0\0\0"...,65536) = 65536 (0x10000)
13518: 4.632747574 0.000079103 read(11,"@\^D\b\0@\^D\b\0@\^D\b\0@\^D\b\0"...,65536) = 10596 (0x2964)
13518: 4.633894601 0.000069425 close(11)	 = 0 (0x0)
13518: 4.638873827 0.000109916 write(9,"HTTP/1.1 200 OK\r\nContent-type:"...,44) = 44 (0x2c)
13518: 4.639321908 0.000170057 write(9,"<!DOCTYPE html PUBLIC "-//W3C//D"...,85600) = 81616 (0x13ed0)
13518: 4.640090226 0.000052438 poll({9/POLLOUT},1,4000) = 1 (0x1)
13518: 4.640748743 0.000099664 write(9,"ance, Johann Hanne, Boris Lytoch"...,3984) = 3984 (0xf90)
13518: 4.641393844 0.000129956 stat("/home/httpd/www/system/web",{ mode=drwxr-xr-x ,inode=110568,size=15,blksize=4096 }) = 0 (0x0)
13518: 4.641877614 0.000042891 setitimer(2,{0.000000, 0.000000 },0x0) = 0 (0x0)
13518: 4.642830145 0.000041974 getpid()		 = 13518 (0x34ce)
13518: 4.643472691 0.000042961 setitimer(2,{0.000000, 0.000000 },0x0) = 0 (0x0)
13518: 4.644000590 0.000077829 __sysctl(0x7fffffffd3d8,0x2,0x8027e0db0,0x7fffffffd3e0,0x0,0x0) = 0 (0x0)
13518: 4.644593565 0.000113284 open("/dev/null",O_CLOEXEC,00) = 11 (0xb)
13518: 4.645078362 0.000070653 fstat(11,{ mode=crw-rw-rw- ,inode=25,size=0,blksize=4096 }) = 0 (0x0)
13518: 4.645558775 0.000077133 open("/dev/null",O_CLOEXEC,00) = 12 (0xc)
13518: 4.645971445 0.000092082 __sysctl(0x7fffffffd470,0x4,0x0,0x7fffffffd460,0x0,0x0) = 0 (0x0)
13518: 4.646439044 0.000119022 __sysctl(0x7fffffffd470,0x4,0x7e9900,0x7fffffffd460,0x0,0x0) = 0 (0x0)
13518: 4.646921601 0.000071426 close(11)	 = 0 (0x0)
13518: 4.647215820 0.000041939 close(12)	 = 0 (0x0)
13518: 4.647561215 0.000079659 close(9)		 = 0 (0x0)
13518: 4.648209339 0.000112332 writev(0x2,0x7fffffffb470,0x2,0x8ad8d7b1a524b1c9,0x7fffffb93526,0x8025b0de0) = 286 (0x11e)
Не совсем понятно зачем php под фрей запрашивает кучу sysctl да еще и зачем-то в /dev/null лезет. Можно ли это как-то выпилить?

Подскажите пожалуйста куда копать. Если нужна доп. инфа о настройках FreeBSD - пишите.

Заранее благодарен!

 

iron
()

интерактив по VIM

Форум — Talks

Может кому будет полезна ссылка.

 

splinter
()

Нужна годная литература по экономике

Форум — Talks

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

ffomg
()

Поделитесь опытом использования LVM2 в системах с большой нагрузкой на винт

Форум — Admin

меня интересует пенальти в производительности изза использования этой плюшки.

 

cvv
()

доведенный до ума less

Галерея — Скриншоты

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

что сделано:

  • написан фильтр для LESSOPEN - http://pastebin.com/keGVyn6S
  • выставлены нормальные дефолтные аргументы
    LESSHISTFILE=-
    LESS=-cRSM~#1PMФайл\: ?f%F:stdin. | Строки\: %lt-%lB?L/%L. ?PB(%PB\%) .| Страница\: %d?L/%D.
    
  • добавлены пара кейбиндингов для разных удобств, типа переключения режима переноса строк и показа номеров строк
     \e\e    quit
    ^[[19~  toggle-option N
    ^[OQ    toggle-option S
    
    эта гадость скармливается lesskey
  • чтобы не портилась статусная строка у man был сделан алиас для zsh - alias man='nocorrect LESS= man'
  • ну и напоследок - убрана галка «использовать встроенный просмотр» в mc

внутренний перфекционист жутко протестовал против коряво-обрезанной нижней строки в less, потому его (less, а не внутреннего перфекциониста) пришлось малось пропатчить

--- less-458/command.c.orig	2013-04-04 19:55:05.000000000 +0300
+++ less-458/command.c	2013-11-01 10:40:03.189045787 +0200
@@ -741,14 +741,19 @@
 	if (is_filtering())
 		putstr("& ");
 	if (p == NULL || *p == '\0')
+	{
 		putchr(':');
+		clear_eol();
+	}
 	else
 	{
+		int i;
+		char *ptr;
 		at_enter(AT_STANDOUT);
 		putstr(p);
+		clear_eol();
 		at_exit();
 	}
-	clear_eol();
 }
 
 /*

пока результатом доволен

>>> Просмотр (1024x600, 24 Kb)

 

ananas
()

Portage уже неторт!

Форум — Talks

По мотивам всех этих тем…

Делаем раз и скачиваем emerg.resolv.time_print.patch

Дальше проще

> cd /usr/lib64/portage
> patch -p1 < emerg.resolv.time_print.patch
> emerge --update --newuse --deep @world @system -pv

These are the packages that would be merged, in reverse order:

2013-10-28 15:44:11: Calculating dependencies /
2013-10-28 15:44:41: Adding root packages /
2013-10-28 15:44:51: Processing dependencies -
2013-10-28 15:45:46: Checking for slot conflicts  
2013-10-28 15:45:46: Trying to accept blocker conflicts   
2013-10-28 15:45:46: Resolving slot conflicts for complete graph  \
2013-10-28 15:45:46: Processing slot conflicts   
2013-10-28 15:45:46: Triggering slot operator reinstalls   
2013-10-28 15:45:59: Validating blockers  /
2013-10-28 15:46:01: Checking for blocker conflicts  
2013-10-28 15:46:01: Checking for rebuild triggers  
2013-10-28 15:46:01: Checking if restart is needed  
2013-10-28 15:46:01: Checking if we have to prune rebuilds  
2013-10-28 15:46:01: Checking if restart is needed  
2013-10-28 15:46:01: Checking for parameters that change behavior  
2013-10-28 15:46:01: Checking for changes that are needed  
2013-10-28 15:46:01: Done resolving!... done!

Portage тормозит? Где?

 , ,

init_6
()

Ищу аналог euse для /etc/portage/package.use

Форум — General

Привет!

В app-portage/gentoolkit есть инструмент euse, удобный для управления USE-флагами в make.conf.
Собственно говоря, мне надоело руками править /etc/portage/package.use. Ищу аналогичный инструмент для правки USE-флагов в package.use.

Свой скрипт сделать - не проблема, но не хотелось бы тратить время на велосипед.

Существует ли нужное решение?

 ,

blackst0ne
()

Стабильно, уютно, Elementary'но

Галерея — Скриншоты

Решил поделиться своим скриншотом, дабы сомневающиеся не сомневались. На скриншоте Elementary OS в тёплых, ламповых, осенних тонах. Система удобная, продуманная что называется «сделано с любовью» и за исключением нескольких мелочей почти идеальная. К Elementary'ному софту нужно привыкнуть, но и он в конце концов достойно выполняет свою функцию. Тему подпилил сам, для желающих линк. Сверху wingpanel-slim, которая при разворачивании окон во весь экран располагается поверх заголовка, таким образом ни пиксела экрана врагу )

>>> Просмотр (1920x1080, 886 Kb)

 ,

Lennox
()

Желающие принять участие в написании альтернативы portage на C++ просьба отписаться

Форум — Development

В продолжение обсуждения: Гентушники, есть чё по мелочи?

Пока в толксах разглагольствуют о нужности или ненужности C/C++ и очередного paludis, я решил создать этот тред. Пусть он будет только трекером участников.

Все, кто пожелает поучаствовать в разработке альтернативы portage на C++ (сейчас, через пару дней, недель, или месяцев) просьба здесь отписаться и подписаться на отслеживание новых комментариев. Если есть представление — укажите, в каком направлении бы вы могли поучаствовать в проекте.

Я себя не позиционирую руководителем проекта, просто решил собрать людей в кучу.

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

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

Пустой треп лучше перенести в вышеуказанный тред в толксах.

 , ,

Chaser_Andrey
()

как избавиться от libtool не избавляясь от automake?

Форум — Development

всем привет.

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

теперь, собственно, описание проблемы.

есть automake, есть много Makefile.am, в которых делается что-то вроде такого:

pkglib_LTLIBRARIES = mylibrary.la
mylibrary_la_SOURCES = mylibrary.c
mylibrary_la_LDFLAGS = -module

соответственно, для таких модулей будет использоваться libtool, который

  • сгенерирует огромную кучу всяких файлов, типа .la, .lo, .lai, .Plo
  • при сборке будет автоматически использоваться libtool при подключении чужих библиотек, используя .la файлы в /usr/lib например
  • помимо mylibrary.so, будут сгенерированы mylibrary.so.0.0.0 и mylibrary.so.0, и засимлинканы друг на друга
  • при попытке кросскомпилить, или использовать не-системные версии библиотек при сборке, libtool ведет себя совершенно непредсказуемо, выдает бредовые ошибки, использует не те библиотеки которые ему сказано, и вообще говно.
  • .la файлы будут включены в install target, и создадут бесполезный мусор в /usr/lib
  • сборка статического билда очень усложняется, т.к. неизвестно, увидел ли libtool именно нужную библиотеку, или слинковался с системной (а это он умеет)
  • к библиотекам неявно прилинковывается всякий шлак, который добавляется по типу исходника — например, при сборке .cpp файлов автоматом к линку добавляется всякий libstdc++ и libgcc_s, даже если он не нужен, т.е. в скрипте libtool (некоторых версиях) можно увидеть добавление вот таких аргументов к командной строке "-lstdc++ -lm -lgcc_s -lc -lgcc_s", gcc_s 2 раза видимо для надежности.

короче, предполагается, что целевая аудитория данного треда в курсе о чем речь :)

ну и собсно, финальный вопрос. есть ли в природе какие-то альтернативные automake macros, чтобы вообще совсем навсегда избавиться от libtool?

что от макроса(-ов) требуется:

  • компилить .so, как с префиксом «lib», так и без него, т.е. как в libtool с -module
  • чтобы указание -lname линковало только libname.so из -L (с соблюдением стандартного search order), и всегда игнорировало .la файлы в $LIBDIR
  • чтобы никаких la файлов и versioned so не создавалось (опциональная возможность versioning приветствуется)
  • чтобы сборка работала на linux/win/osx/bsd (через gcc/llvmgcc)

понимаю, что вменяемого способа решить эту проблему может и не быть, поэтому предложения полной смены билд системы тоже приветствуются. но альтернативная система не должна требовать установки ничего кроме make+coreutils у юзера, и должна быть не хуже autotools по фичам — т.е. уметь make distcheck, make install/uninstall, использовать configure, и всякие подобные штуки (в связи с чем предлагателей cmake, опять же, попрошу не обращаться).

например, кто-то смотрел что используется в ffmpeg? там что-то свое, или у него есть сайт?

 , ,

waker
()

А я всё так же верен KDE

Галерея — Скриншоты

Задумался тут: а ведь кеды были первым DE, который я увидел в Linux (Knoppix 3.что-то_там). Тогда это были навороченные и фичастые третьекеды. Обилие программ в составе самой DE, приёмы и особенности интерфейса - это то, что заставило меня влюбиться в них.

И ведь за всё время я им так ни разу и не изменил, только разве что сменил на 4е.

Друзьям и знакомым помогал с гномом, юнити, XFCE, даже с ion3. Но каждый раз я в их окружении чувствовал себя крайне неуютно - всё как-то не по-человечески. Эх.. KDE - sweet home.

По скриншоту:

  • Slackware-current (14.1 RC)
  • KDE 4.10.5
  • Plasma - давно кастомизированная E-Plasma
  • Стиль виджетов - QtCurve (когда-то давненько украл тему здесь, немного допилил)
  • Цветовая схема - Lucky eyes, доработанная
  • Иконки - F-Dark KDE
  • Обоина - Umbrella Corporation
  • Clementine, у которого проблемы с иконками на сайдбаре
  • Аккуратный dolphin, который используется для просмотра картинок в директории и для скриншотов
  • Основной шрифт - Droid Sans, 8. В заголовках - Verdana, в плеере под прогрессбаром - ШГ какое-то

>>> Просмотр (1366x768, 462 Kb)

 , ,

some-body
()

Установка отдельных пакетов из тестового репозитория

Форум — Desktop

Кхм, товарищи, друзья!

Сегодня я пришел к вам за советом, потому что сам не знаю, как лучше решить проблему.

В общем, решил я попробовать на своем арчике офисный пакет Calligra, но он есть только в двух репах: testing и AUR. Причем в ауре ставится прямо из git. Это конечно здорово, но я бы предпочел сборки постабильнее и без перекомпиляции...

Размаскировывать весь testing тоже не хочу, потому что система сразу рвется обновиться и умереть. А обновления интересуемого офисного пакета получать хочется стабильно.

В Gentoo вопрос решался легко через маскировку пакетов, а в арче я аналогичной возможности никак не могу обнаружить, хотя где уже только не смотрел. Что же делать, ЛОР? Арчеводы, как вы решаете подобные проблемы?

 ,

delete83
()

Ядро linux для начинающих и интересующих

Форум — Development

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

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

Я занимаюсь этим делом порядка 3.5 лет, рассказать есть что. Вопрос в том, кто будет это читать. Когда я работал в школе и вел кружок углубленной математики по программе Малого Мех-мата, то на него ходило 4 человека из всей параллели. Для интернет блога такое число будет слишком маленьким, даже для 10 читателей что-либо затевать смысла нет, это будет неинтересно.

Собственно, дайте знать, кому это интересно. И тогда можно будет оценить целесообразность.

Площадка, думаю, может быть, любая, ЖЖ или там вконтактик, сейчас не суть.

ttnl
()

В gentoo не собирается почти ни один пакет

Форум — General

вот такая вот ошибка

gmake: *** [project.o] Error 1
 * ERROR: dev-qt/qtcore-4.8.5::gentoo failed (configure phase):
 *   ./configure failed
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_configure
 *   environment, line 3201:  Called qt4-build_src_configure
 *   environment, line 2851:  Called die
 * The specific snippet of code:
 *       ./configure ${conf} || die "./configure failed";
 * 
 * If you need support, post the output of `emerge --info '=dev-qt/qtcore-4.8.5::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtcore-4.8.5::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtcore-4.8.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtcore-4.8.5/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtcore-4.8.5/work/qt-everywhere-opensource-src-4.8.5'
 * S: '/var/tmp/portage/dev-qt/qtcore-4.8.5/work/qt-everywhere-opensource-src-4.8.5'

Вот вывод команды emerge --info '=dev-qt/qtcore-4.8.5::gentoo'

Portage 2.2.1 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.15-r3, 3.10.7-gentoo-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.10.7-gentoo-r1-x86_64-AMD_FX-tm-8320_Eight-Core_Processor-with-gentoo-2.2
KiB Mem:     8166356 total,   6306204 free
KiB Swap:   19530748 total,  19530748 free
Timestamp of tree: Thu, 03 Oct 2013 04:45:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5-r2, 3.2.5-r2
dev-util/cmake:           2.8.10.2-r2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ ftp://mirror.yandex.ru/gentoo-distfiles/"
LANG="ru_RU.UTF-8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.ru.gentoo.org/gentoo-portage"
USE="KDE X a52 aac acl acpi alsa amd64 avavhi avx bash-completion berkdb bindist bluetooth branding bzip2 cairo cdda cdr cli consolekit corefonts cracklib crypt cups cxx dbus declarative device-mapper dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fortran gdbm gif gpm iconv ipv6 jpeg kde kipi lame lcms ldap libnotify lvm mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses net_hasp nfs nls nptl ogg opengl openmp pam pango parted pcre pdf phonon plasma png policykit ppds qemu qt3support qt4 readline sdl semantic-desktop session spell spice sse sse2 sse3 sse4_1 sse4_2 sse4a ssl ssse3 startup-notification svg taglib tcpd threads tiff tls truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru ru_RU" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================
USE="cxx fortran mudflap (multilib) nls nptl openmp (policykit) (-altivec) -doc (-fixed-point) -gcj -go -graphite -gtk (-hardened) (-libssp) -lto -multislot -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" ABI_X86="64"

sys-devel/gcc-4.7.3-r1 was built with the following:

Аналогичный результат при установке любых других пакетов. Какие ещё логи приложить?

Началось всё с того, что emerge --depclean удалил gcc, после чего спустя несколько часов гугления я каким-то чудом его восстановил. И пакеты стали ставиться нормально. А на след день всё поломалось :) ЗЫ В linux я нуб

 , ,

SlazZy
()

Как отвадить ubuntu на ubuntu-серверах думать, что в случае в незапного ребута лучше спрашивать о продолжении загрузки?

Форум — Admin

У убунту-сервер есть крайне дебильный баг-фитча: в случае внезапного пропадания питания, она, как и десктопная, будет спрашивать, в каком режиме продолжить загрузку. Либо граб просто не будет отсчитывать время и до нажатия enter ничего не произойдет.

Я решал данный вопрос через правку нескольких строк в конфигурационном файле скрипта, который генерирует grub.conf. Но есть ли более простое и автоматизированное решение (одной копипастой), чтобы не трахаться каждый раз после установки ubuntu server'а?

 , ,

ktulhu666
()

Whiteblack

Галерея — Скриншоты

Ubuntu 12.04

Gnome-fallback

GTK: Adwaita Cupertino

Emerald

Wallpaper: Alemania sandby ~memovaslg http://fav.me/d4xk0k9

На скриншоте nautilus, covergloobus стартовая firefox, lightread, conky (по всему рабочему столу для меньшего удобства, хотя отображение корзины мне действительно нужно), слева вверху запуск программ (http://fav.me/d53nmc7). В общем небольшой закос на мак (и иконка apple))

>>> Просмотр (1280x800, 1013 Kb)

 , ,

fuss
()