LINUX.ORG.RU

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

Сздание unit-а для systemd.

Форум — General

Доброго времени суток Всем! Есть PACS - dcm4chee. Для управления этим сервисом составил такой unit файл для systemd:

[root@dcm4chee system]# cat ./dcm4chee.service
[Unit]
Description=DICOM server daemon
After=network.target mariadb.service iscsi.service

[Service]
ExecStart=/opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh start
ExecReload=/opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh restart
ExecStop=/opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh stop
KillMode=control-group

[Install]
WantedBy=multi-user.target
[root@dcm4chee ~]# systemctl status dcm4chee
dcm4chee.service - DICOM server daemon
   Loaded: loaded (/usr/lib/systemd/system/dcm4chee.service; enabled)
   Active: failed (Result: exit-code) since Thu 2015-04-23 11:26:18 NOVT; 1 weeks 6 days ago
  Process: 2468 ExecStop=/opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh stop (code=exited, status=1/FAILURE)
  Process: 2450 ExecStart=/opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh start (code=exited, status=0/SUCCESS)
 Main PID: 2450 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/dcm4chee.service

Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at java.net.Socket.connect(Socket.java:529)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at java.net.Socket.connect(Socket.java:478)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at java.net.Socket.<init>(Socket.java:375)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at java.net.Socket.<init>(Socket.java:276)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244)
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru dcm4chee_init_redhat.sh[2468]: ... 5 more
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru systemd[1]: dcm4chee.service: control process exited, code=exited status=1
Apr 23 11:26:18 dcm4chee.corp.zdravalt.ru systemd[1]: Unit dcm4chee.service entered failed state.

В скрипте /opt/dcm4chee-2.17.3-mysql/bin/dcm4chee_init_redhat.sh кроме задания переменных окружения выполняется запуск java программы через ещё один скрипт.

Проблема в том что при просмотре статуса сервиса systemctl status dcm4chee, статус отображается не верно и выключить командой systemctl stop dcm4chee не получается.

Подскажите в чём проблема.

 ,

galliley
()

Radeon тащит в тестах, проваливает в играх

Форум — Games

Всем привет,

насмотревшись результаты тестов в Phoronix, начитавшись про успехи ребят, которые пилят дрова Radeon, решил преобрести себе R9 270X чтобы играть в свои танчики и War Thunder и бед не знать.

Но не тут-то было. Несмотря на то, что Steam и glxinfo говорят о том, что у меня и Direct Rendering, и OpenGL 3, и Mesa 10.5, FPS в вышеназначенных играх 10-15, причём почти не зависит от графических настроек. Вентиляторы крутятся еле-еле. Ошибок в Xorg нет, только такого рода предупреждения во время игр, раз в несколько минут:

[   238.995] (WW) RADEON(0): radeon_dri2_flip_event_handler: Pageflip completion event has impossible msc 14222 < target_msc 14223

Ещё интересный момент - в WoT на средних настройках графики и выше, не рисуются 3D-объекты (земля, танки, домики), только элементы интерфейса.

При этом в Phoronix Unigine Heaven выдаёт FPS около 30 на 1920х1080, Unigine Tropics - около 70-80, никаких проблем ни с текстурами, ни с чем-либо ещё.

Кстати, пробовал поставить и блоб, это почти ничего не дало кроме глюков с текстурами.

Куда копнуть? Что ещё можно проверить?

О системе: Fedora 21 x86_64

$ uname -a
Linux localhost.localdomain 3.18.9-200.fc21.x86_64 #1 SMP Mon Mar 9 15:10:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

xorg.conf отсутствует

$ inxi -G
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Curacao XT [Radeon R9 270X]
           Display Server: Fedora X.org 116.3 drivers: ati,radeon (unloaded: fbdev,vesa)
           Resolution: 1920x1080@60.00hz, 1680x1050@59.88hz
           GLX Renderer: Gallium 0.4 on AMD PITCAIRN GLX Version: 3.0 Mesa 10.4.3
$ glxinfo | grep Open
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD PITCAIRN
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.4.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.4.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.4.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
OpenGL ES profile extensions:
$ glxinfo | grep render
direct rendering: Yes
Xorg.0.log: http://paste.fedoraproject.org/200402/26825038

 , ,

lelfay
()

Оптимизировать Makefile

Форум — Development
di= -I..\..\..\include

all: qquickwebenginehistory.o qquickwebengineloadrequest.o qquickwebenginenavigationrequest.o qquickwebenginenewviewrequest.o qquickwebenginesettings.o qquickwebenginesingleton.o qquickwebengineview.o qtwebengineglobal.o
	ar rvs libQt5WebEngine.a qquickwebenginehistory.o qquickwebengineloadrequest.o qquickwebenginenavigationrequest.o qquickwebenginenewviewrequest.o qquickwebenginesettings.o qquickwebenginesingleton.o qquickwebengineview.o qtwebengineglobal.o

.cpp.o:
	g++ -c -O2 $(di) $< -o $@

Подскажите, как для цели all не перечислять буквально все зависимости, а сделать это кратко подобно ".cpp.o: g++ -c -O2 $(di) $< -o $@"? Т.е. чтобы фактические имена файлов не присутствовали в мэйкфайле.

 

soldio
()

Watch People Code. Посмотреть, как люди программируют.

Форум — Talks

Проект со странным смыслом Watch People Code, где идут стримы с одноименной ветки на Reddit (http://www.reddit.com/r/WatchPeopleCode). Разные программисты снимают процесс написания и отладки кода.

http://www.watchpeoplecode.com/

 , ,

Zubok
()

Звук 5.1 в Fedora 21...не работает сабвуфер.

Форум — General

Захожу на страничку в контакте и при проигрывании музыки со странички работают все 5 динамиков, кроме сабвуфера. Скачиваю эти же песни при помощи дополнения Firefox'a на комп, включаю, но сабвуфер работает (после того, как я изменил в настройках VLC Output module: «ALSA audio output»(вместо Automatic), а в Device'e выставил «HDA ATI SB, ALC898 Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers»). Что нужно сделать, чтобы настройки VLC применялись и при проигрывании музыки со странички контакта?

 , , , ,

Desmond_Hume
()

Этот сложный форк

Форум — Development

#!/usr/bin/python
import os
import signal
import sys
import time

lock_filename = 'master.lock'


def master_loop():
    for i in range(0, 3):
        pid = os.fork()
        with open(str(os.getpid()), "a") as f:
            f.write(str(pid)+"\n")
    while True:
        time.sleep(0.1)



def fork_loop():
    with open('f_'+str(os.getpid()), "w") as f:
        f.write("fork")
    while True:
        pass


def remove_lock(sgn, frame):
    os.remove(lock_filename)
    sys.exit(0)

if __name__ == "__main__":
    with open("s_"+str(os.getpid()), "w") as out_f:
        out_f.write(str(os.getpid()))
    master = False
    if not os.path.exists(lock_filename):
        master = True
        with open(lock_filename, "w") as out_f:
            out_f.write(str(os.getpid()))
        signal.signal(signal.SIGTERM, remove_lock)
        signal.signal(signal.SIGINT, remove_lock)
    if master:
        master_loop()
    else:
        fork_loop()

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

 ,

Chubakur
()

Один экземпляр python-daemon

Форум — Development

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

Для демонизации использую python-daemon из PEP-3143. В общем случае, демон выглядит так:

# -*- coding: utf-8 -*-
import os
import daemon
import time

PIDFILE='/tmp/foo.pid'

class App():
    def __init__(self):
        self.stdin_path = '/dev/null'
        self.stdout_path = '/dev/tty'
        self.stderr_path = '/dev/tty'
        self.pidfile_path =  PIDFILE
        self.pidfile_timeout = 5
    def run(self):
        while True:
            print "test..."
            time.sleep(10)

    
app = App()
daemon_runner = runner.DaemonRunner(app)
daemon_runner.do_action()

Но, несмотря на pid-файл второй демон запускается спокойно.

Самое простое что пришло в голову - проверять os.path.exists(PIDFILE), а потом try os.kill(pidfile.read_pid(), 0) и ловить except OSError

Но, выглядит как-то костылевато.

Когда гуглил, нашел функцию http://www.thecodingforums.com/threads/single-instance-daemons.644188/

def single_instance(id):
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
    sock.bind('\0' + id)
    return sock

Но, ума не приложу как ей пользоваться, она у меня валится на sock.bind

Еще я нашел такую проверку (средствами самого python-daemon):

pidfile = daemon.pidfile.TimeoutPIDLockFile("/tmp/mydaemon.pid", -1)
if daemon.runner.is_pidfile_stale(pidfile):
Но она вообще непонятно как работает - файл /tmp/mydaemon.pid не создается и is_pidfile_stale всегда возвращает false.

Как правильно ограничивать количество копий процесса? Можете просто ткнуть в доки или бросить ссылкой.

 ,

JANB
()

Как примонтировать определенную часть (раздел) dd-образа диска?

Форум — General

Как примонтировать dd-образ я знаю:

avfsd -o allow_root ~/.avfs
losetup /dev/loop1 /mnt/backup/dd.image
mount /dev/loop1 -oro /mnt/test

А что, если dd-образ был снят с /dev/sda полностью, где были: sda1, sda2 ?

Как узнать смещение (если я правильно понимаю) и примонтировать определенный раздел этого образа?

Т.к. ошибка такая, если монтировать такой образ целиком:

mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error

 avfsd, , ,

science
()

Геймпад под онтопик

Форум — Desktop

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

 , , , ,

gwinn
()

CUPS - как увидеть принтер по сети

Форум — General

есть три машины с дебианом sid, к одной подключен принтер, поднят CUPS. На одной из двух других машин сетевые принтеры с первой машины видны и печать работает. С другой машины ни CUPS, ни hp-setup из HPLIP не видят принтер. Вручную прописанный не печатает, задания улетают вникуда. Но запущенная на этой же машине в виртуалке винда принтер видит и печатает.

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

griz
()

ZBackup 1.0

Новости — Open Source
Группа Open Source

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

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

( читать дальше... )

Домашняя страница программы: http://zbackup.org/

Страница разработки на github: https://github.com/zbackup/zbackup/

>>> Версия 1.0 (tar.gz)

 , , , zbackup

ikm
()

Групповое переименовывание

Форум — General

Имею файлы вида file1.txt, file2.txt .. file10.txt Как переименовать их в в file0001.txt, file0002.txt .. file0010.txt?

 

int13h
()

Скрипт для переименования пачки файлов.

Форум — General

Выручайте! Я в bash не силен, поэтому прошу помощи.

Есть папка с 1500 файлами которые имеют имена в форме:

2013-05-27.06-45-14.000001.jpg

2013-05-27.06-45-34.000002.jpg

2013-05-27.06-45-43.000003.jpg

...

2013-05-27.10-52-02.001459.jpg

Нужно поменять имена всем этим файлам прибавив к последним числам 100, то есть должно получится файлы вида:

2013-05-27.06-45-14.000101.jpg

2013-05-27.06-45-34.000102.jpg

2013-05-27.06-45-43.000103.jpg

...

2013-05-27.10-52-02.001559.jpg

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

 ,

encefalon
()

Посоветуйте, что посмотреть.

Форум — Talks

ЛОР-ч, посоветуй какое-нибудь годное мозголомное аниме с уклоном в научную фантастику и IT.

inb4: Steins Gate , Robotics Notes, Chaos Head, Battle Programmer Shirase, Appleseed, Serial Experiments Lain, Akira, Akita, Animatrix, .hack, Accel World, Real Drive.

 

devl547
()

удалить белые границы у сканов

Форум — General

добрый день! есть вот такие сканы
http://s017.radikal.ru/i405/1304/e0/322c97e4b5c4.jpg
разрешения разные. отсканированы они, очевидно, под разными углами.

очень хотелось бы убрать белые границы по бокам
-trim не помогает, потому что сканы под углом
-chop тоже не то, потому что для разных сканов могут быть нужны разные параметры

есть готовые решения?

 ,

Deleted
()

показать строку, не содержащую X, но содержащую Y

Форум — General

пытаюсь заставить grep показать строку, в которой есть Y, но перед ним нет X
grep [^X]Y не показывает строки, в которых есть Y. не могу понять

 ,

teod0r
()

Указать исходный IP адрес

Форум — General

Centos на ПК есть несколько IP адресов.

Как приложению, например telnet'y указать что нужно подключаться с конкретного IP адреса? А не с того что идёт подключение по умолчанию.

rawsik
()

изолировать программу от сети?

Форум — General

интересует самый простой и несложный вариант как запустить одну из программ чтобы она не видела сеть. чем проще способ - тем лучше.

программа для wine и хочется чтобы другие программы wine все ж таки запускались нормально с сетью

Sylvia
()

как защищаетесь от ssh ботов?

Форум — General

привет.

глянул в /var/log/auth.log, и немножко офегел.

Jan 12 13:53:19 xxx sshd[9976]: pam_unix(sshd:auth): check pass; user unknown
Jan 12 13:53:19 xxx sshd[9976]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=metrogroupcorp.com
Jan 12 13:53:21 xxx sshd[9976]: Failed password for invalid user kevin from 69.66.200.49 port 49234 ssh2
Jan 12 13:53:21 xxx sshd[9976]: Received disconnect from 69.66.200.49: 11: Bye Bye [preauth]
Jan 12 13:53:22 xxx sshd[9978]: Invalid user khoi from 69.66.200.49
Jan 12 13:53:22 xxx sshd[9978]: input_userauth_request: invalid user khoi [preauth]
Jan 12 13:53:22 xxx sshd[9978]: pam_unix(sshd:auth): check pass; user unknown
Jan 12 13:53:22 xxx sshd[9978]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=metrogroupcorp.com
Jan 12 13:53:25 xxx sshd[9978]: Failed password for invalid user khoi from 69.66.200.49 port 47995 ssh2
Jan 12 13:53:25 xxx sshd[9978]: Received disconnect from 69.66.200.49: 11: Bye Bye [preauth]
Jan 12 13:53:27 xxx sshd[9980]: Invalid user khuong from 69.66.200.49
Jan 12 13:53:27 xxx sshd[9980]: input_userauth_request: invalid user khuong [preauth]
Jan 12 13:53:27 xxx sshd[9980]: pam_unix(sshd:auth): check pass; user unknown
Jan 12 13:53:27 xxx sshd[9980]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=metrogroupcorp.com
и такого дела, мегабайт 30ть подряд. интенсивность удивляет.

нужно ли от подобного как-то защищаться(кроме как регулярной сменной паролей)? и если нужно, то как? возможно ли именно для sshd, добавить этот IP в черный список?

благодарен.

niXman
()

система видеонаблюдения

Форум — General

Здравствуйте Будьте добры, помогите прийти к конечному решению

На базе какого софта можно организовать профессиональное видеонаблюдение с использованием нескольких IP видеокамер (до 16 штук) MOTION или ZONEMINDER. Могут ли они заменить серьезные коммерческие аналоги?

Motion - можно ли на базе данного инструмента настроить полностью автономную систему?

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

также, для большого количества камер HD реально ли использовать gpu для декода видео? какая видеокарта наиболее подходит под цель?

возможно более правильно использовать zoneminder более ориентированную на видеонаблюдение?

Кто что думает по вопросу? Спасибо за внимание

plohin00
()