LINUX.ORG.RU

Сообщения legolegs

 

Переименовать директорию и исправить пути в БД без race condition

Я уверен, есть простой и правильный сособ сделать это.

Есть директория и в ней файлы. Пути к файлам упоминаются в базе (postgresql, но это неважно). Директорию нужно переименовать, базу поправить и всё это без отказов типа 404 ошибка на полдороги.

Нужно что-то типа такого:

ln -s AAA BBB
psql <<<"UPDATE filename=BBB/...."
mv --no-target-directory --force AAA BBB

Только это на работает

mv: cannot overwrite non-directory 'BBB' with directory 'AAA'

Как ещё можно решить задачу? Интересуют надёжные и красивые методы, ненадёжно и через задницу я и сам могу.

PS mount --o bind не будет разрешён.

 , , , ,

legolegs
()

Почему Qt тормозит при работе по сети (X11)?

Сетап: комп на работе с xming, пинг до домашнего компа с федорой 6мс. Приложениями на qt (umbrello, konsole) пользоваться совершенно некомфортно, задержки при любых операциях, даже стрелка мыши при пролёте над текстовым полем не сразу в I превращается.

Попробовал xclock, xterm - летает. mc в xterm летает (но кириллицы не видно). Но это предсказуемо. Попробовал GIMP - можно нормально рисовать (на моём уровне скила)! Вполне комфортно. Вазюкаю кисточкой, мазня рисуется, элементы в списке undo появляются (с превьюшками). Т.е. можно так жить, не мертва сетевая прозрачность! Точнее, мертва только для кдешников типа меня.

Разница между ssh -X и прямым DISPLAY=host.example.com:0 незначительная - в первом случае чувствуется скорость от сжатия, во втором получше латентность.

Объясните, что в Qt так сильно не так?

PS видосики в mplayer тормозят ппц.

 , ,

legolegs
()

krusader показывает фигню вместо содержимого архивов RAR

Если войти в архив показывает в панели такое: http://rgho.st/7R496jRRm

Другие типы архивов открываются нормально, если через пкм-> открыть в ark то тоже работает, но ark не нужен.

В чём может быть дело?

 , krark, , ,

legolegs
()

Что, если порты, проброшенные на машину X выбраны как исходящие на Y?

Есть домашняя сеть, роутер с NAT, ряд портов (немношк well known и 100 портов для пассивного фтп) проброшены на машину X. Есть также машина Y, где нет никаких сервисов, но есть, например, браузер. Y ничего не знает о том, что порты куда-то там проброшены. Что будет, если для соединения с веб-сервером Y выберет исходящий порт, совпадающий с проброшенным? Он получит ответ?

 ,

legolegs
()

Как заставить systemd считать демон запущенным только после появления строки в stdout?

Есть один демон, он запускается долго и после запуска требует дополнительного действия. Форкаться в нужный момент демон не умеет, об успешном запуске сигнализирует строкой «Finished loading» и открывает порт TCP.

Написан тривиальный юнит-файл

[Service]
Type=simple
ExecStart=/bin/qwerty
[Install]WantedBy=multi-user.target

Я признаться думал, что раз systemd умеет множеством способов ждать окончания запуска сервиса, и читает stdout сервиса, то он мог бы и грепать сразу, ну или открытия порта ждать. Однако никакой опции типа

ExpectStdout=Finished loading
я не нашёл.

Вопросы:

1) как красиво решить задачу (не переписывая демон и желательно без while ! grep log; do sleep 1m; done)

2) Столько свистелок, а такой простой вещи Поттеринг не сделал? какого хрена?!

ps в данном конктерном случае демон - sia, но для топика это неважно.

UPD: Мне надо, что бы systemd запускал следующий демон (зависимый) только после появления Finished loading

 , , ,

legolegs
()

badblocks находит ошибки каждый раз в разных местах диска

Есть один диск. Все тесты smart проходит:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
 9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       18948
 196 Reallocated_Event_Count 0x0032   253   253   000    Old_age   Always       -       0
197 Total_Pending_Sectors   0x0012   253   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   253   253   000    Old_age   Offline      -       0

Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     18926         -
# 2  Extended offline    Completed without error       00%     18923         -
dd if=/dev/zero of=/dev/sdc bs=4k и dd if=/dev/sdc of=/dev/null bs=4k отрабатывают норм, в dmesg чисто. Но badblocks находит ошибки, :
[root@battlehummer ~]# badblocks -b 512 -e 100 -o samsung3.badblocks -wsv -t random /dev/sdc
Checking for bad blocks in read-write mode
Testing with random pattern: done                                                 
Reading and comparing: done                                                 
Pass completed, 64 bad blocks found. (0/0/64 errors)
Количество и номера блоков каждый раз разные. Что это может быть?

 , ,

legolegs
()

Как правильно организовать почту в конторе?

Есть одна контора. Там есть директор и менеджеры по продажам (ещё там есть мастера и монтажники, но им почта не положена). Сейчас вся почта приходит на один ящик. Всё в кучу: поставщики, клиенты по направлению А и по совсем другому направлению Б.

Как правильно это всё разрулить, чтобы менеджеры были в курсе новостей от поставщиков, чтобы клиенты получали ответы, чтобы директору не приходилось копаться в пустяках. Как вообще нормальные люди это делают? Ну вот есть адрес info@example.com, с него надо делать пересылку на вася@example.com и петя@example.com или просто васе и пете дать пароль от ящика info? Условные вася и петя работают 2 через 2 и не дерутся за комиссионные, так что надо, чтобы петя мог в свой рабочий день продолжить разговор, начатый васей ранее.

Поделитесь практиками пожалуйста.

 ,

legolegs
()

UFO: Alien Invasion 2.5 опакечен для федоры

Просто сообщаю, что я взял на себя заботы по сборке rpm сабжевой игры для федоры и редхатоидов.

Рекомендую подключить репозиторий:

yum install http://repos.legolegs.me/ufoai/ufoai-repo-1-1.noarch.rpm
yum install ufoai

Если автообновление не нужно, можно поставить вручную:

32 бита

yum install http://repos.legolegs.me/ufoai/ufoai-2.5-1.fc19.i686.rpm http://repos.legolegs.me/ufoai/ufoai-common-2.5-1.fc19.i686.rpm http://repos.legolegs.me/ufoai/ufoai-data-2.5-1.noarch.rpm http://repos.legolegs.me/ufoai/ufoai-data-server-2.5-2.noarch.rpm

64 бита

yum install http://repos.legolegs.me/ufoai/ufoai-2.5-1.fc19.x86_64.rpm http://repos.legolegs.me/ufoai/ufoai-common-2.5-1.fc19.x86_64.rpm http://repos.legolegs.me/ufoai/ufoai-data-2.5-1.noarch.rpm http://repos.legolegs.me/ufoai/ufoai-data-server-2.5-2.noarch.rpm

Сборки под ppc и arm будут, если убедите меня, что это вам и правда нужно.

Должно работать на всех федорах после 19, а скорее всего и на чуточку более старых.

Цифровые подписи пакетов кттс. 2.6 будет когда будет официальный релиз.

Ссылки:

* Тема поддержки RPM на оффоруме UFO:AI

* Новость на лоре про последний релиз UFO:Alien Invasion 2.5

PS А расскажите, что там у убунтуэнтузастов, дебианобояр и прочих, внесу в тамошнюю вики. В репах каких дистрибутивов какие версии UFO:AI есть? Я нашёл playdeb и полуоффициальный ppa.

 , ,

legolegs
()

Наследование в postresql не применимо для собственно наследования?

Привет, лор. Нужен совет. Есть (будет) такая база

CREATE TABLE item (
  item_id SERIAL PRIMARY KEY,
  name VARCHAR(127) NOT NULL,
  manufacturer_id INT
);
CREATE TABLE matroska (
  count INT NOT NULL -- вложенность матрёшек, не применимо к другим товарам
) INHERITS (item);
CREATE TABLE "order" (
  order_id SERIAL PRIMARY KEY,
  customer_id INT
);
 CREATE TABLE order_items (
  order_id INT NOT NULL REFERENCES "order",
  item_id INT NOT NULL REFERENCES item
);
insert into matroska (name, manufacturer_id, count) values ('Маша', 9001, 9);
insert into "order" (customer_id) values (100500);

Очевидное содержимое таблиц очевидно:

=> select * from matroska ;
 item_id | name | manufacturer_id | count
---------+------+-----------------+-------
       1 | Маша |            9001 |     9
(1 строка)

=> select * from item;
 item_id | name | manufacturer_id
---------+------+-----------------
       1 | Маша |            9001
(1 строка)

=> select * from "order";
 order_id | customer_id
----------+-------------
        1 |      100500
(1 строка)
Теперь кладём товар в корзину покупателя и облом:
=> insert into order_items values (1,1);
ОШИБКА:  INSERT или UPDATE в таблице "order_items" нарушает ограничение внешнего ключа "order_items_item_id_fkey"
ПОДРОБНОСТИ:  Ключ (item_id)=(1) отсутствует в таблице "item".
Я понимаю, почему тут эта ошибка (foreign key не смотрит в дочерние таблицы, а insert, сделанный в дочернюю, не добавляет настоящих данных в родительскую). Я не понимаю, как делать правильно и нахрена этот INHERIT нужен (кроме костылей с партиционированием, которые дико популярны на стаковерфлоу).

 , ,

legolegs
()

Как перемонтировать фс, убрав флаг?

Есть один том, он смонтирован с флагом (неважно с каким, но это showexec). Надо убрать флаг через «mount -o remount». «mount -o remount,showexec=no» и т.п. команды не работают. Добавлять флаги через remount можно, менять значения флагов если они есть - тоже можно. А интерфейся для снятия флага я не вижу.

Можно отмонтировать совсем и смонтировать заного, но это хлопотно: надо программы завершать, из директорий выходить.

 

legolegs
()

Генерация гуя из схемы sql

Нужна либа для хорошего языка или для питона, которая по заданному описанию базы («create table...» etc) сгенерит в некотором виде гуй (в html или во что-то промежуточное). Есть такое?

 , ,

legolegs
()

А подскажите картинкохостинг с поддержкой SVG

Нарисовал в Inkscape иллюстрацию для поста в ЖЖ, а захостить её негде. Конвертировать в png не хочется. Существуют-ли бесплатные картинкохостинги, принимающие svg «как есть» и не конвертирующие в растр?

opensource.ru тут при том, что SVG - свободный формат.

 ,

legolegs
()

[почта]А расскажите, kontact готов для десктопа?

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

 

legolegs
()

[не готов][fffuuuu][openoffice.org]Форматирование в calc

 

legolegs
()

Чем разрезать .ogv?

Записал при помощи recordmydesktop видео со звуком. Надо разрезать на две части.

Пробовал

mencoder -oac copy -ovc copy -forceidx -frames $(((8*60+20)*15)) file.ogv -o file-1.ogv -noskip -ofps 15

Полный провал. Менкодер мегабайтами срёт в консоль сообщениями типа

Too many video packets in the buffer: (3754 in 33579358 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.

Skipping frame!
Видеоряд получается раз в 50 быстрее аудио. без noskip и ofps то-же самое. Зачем вообще нужна опция noskip если он всё равно пропускает половину кадров?

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

avisplit естественно не смог работать с .ogv.

Какие ещё есть способы?

legolegs
()

Нужен мощный хост для сервера игры на халяву или за малый прайс

Лор, есть одна игра. Называется «Космостанция 13». Хитрая такая сетевая ролевая игра, в чём-то посложнее да позапареннее дварффортресса. И вот русский сервер скоро лишится машины. Собрать донат на дедик лично мне не представляется возможным, нет столько игроков. Да и даже самый дешёвый дедик будет наполовину простаивать. И вот возникла идея: может у кого ещё есть лишние мощности или кто хочет дедик вскладчину взять. Короче, так: нам нужно два ядра никак не меньше 2.5 ггц, 400мб озу и гигабайт места (хотя можем и на паре сотен метров уместиться). Ну и надёжность какая-никакая но получше, чем у моего домашнего провайдера. И, естественно, ssh. Рутовый доступ не необходим.

PS варианты со старыми одноядерными, но быстрыми процами тоже рассмотрю PPS баксов 20 в месяц бы. ну сорок. Но больше - это уже грабёж.

legolegs
()

Wi-fi сквозь крышу цеха

Есть бывший цех и примыкающее административное здание. Есть офис с полом на уровне крыши. Крыша - фермы и оргстекло. Есть точка в противоположном конце цеха. Надо организовать связь между офисом и точкой сквозь крышу под углом градусов в 70-80 к вертикали. Метров на 60. Других препятствий кроме крыши нету. Можно ли это сделать с помощью wi-fi? Если да, то какое оборудование выбрать?

Взял бы в магазине точку+антенну погонять на денёк, но манибека не обещают.

legolegs
()

[wine][portal2]Заработает?

Кто пробовал? А то у меня винды нет, а поиграть хочется. Не охота купив потрахаться и отложить на полочку.

 

legolegs
()

Где теперь в KDEшном SVN лежит kate?

Допилил под себя плагин, взяв с svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/kate/plugins/katebuild-plugin а сегодня он зараза не может сделать svn up, а необновлённый и пересобранный в новый kate не подгружается. Там всё переделали, хран что найдёшь. Помогите, люди добрые.

legolegs
()

[набашорк][svn]Вот и настали времена

Обнаружено в IRC:

xxx> wats an svn?

yyy> it's like Steam, only you can upload your own patches

 

legolegs
()

RSS подписка на новые темы