to post messages and comments.

@Strephil:

Что-то я не пойму, как скопировать содержимое папки. :-(

Например, у меня есть папка /pr0n, и я хочу скопирвать на флешку, но владелец папки pr0n другой, у меня нет доступа к содержимому этой папки.

$ sudo cp -r /home/pr0n/* /mnt/sdh1

это, конечно, не работает, потому что звёздочка раскрывается раньше, чем выполняется sudo.
тут мог бы помочь rsync, там в зависимости от / в конце источника копируется либо сама папка, либо её содержимое. Но я никак не могу запомнить, какой вариант какой.

Залогинился root'ом, копирую.

Ядро 4.10.11. Как же всё тормозит при записи на флешку!

@Strephil:

В общем-то, это и так понятно, но тут с табличками и графиками:
POSIX Has Become Outdated
cs.columbia.edu

@OCTAGRAM:

Разобрался с конвертацией времени. Как выясняется, в GreyLink DC++ время хранится совсем не в том формате, в котором я подумал, а в FILETIME. Также выяснилось, что и FILETIME в Windows, и time_t в POSIX могут быть как с високосными секундами, так и без. FILETIME, похоже, с високосными секундами не встречается, но тут пишут, что это не исключено. time_t согласно POSIX.1 тоже не должен поддерживать их:
IEEE Std 1003.1-1988 (``POSIX.1'') legislates that a time_t value of 536457599 shall correspond to "Wed Dec 31 23:59:59 GMT 1986." This effectively implies that POSIX time_t's cannot include leap seconds and, therefore, that the system time must be adjusted as each leap occurs.… но я смотрю на маны posix2time и time2posix и вижу, что совместимость с POSIX где-то может быть сломана в угоду монотонности времени. Всегда надо уточнять, с високосными секундами время или нет, иначе будет разъезжаться на 25 секунд, и с каждым годом всё больше. Вот, допустим, MySQL поддерживает високосные секунды в полях TIMESTAMP, если работать с этими значениями через функцию UNIX_TIMESTAMP. Но как мы уже выяснили, подлинный UNIX time_t не содержит високосных секунд, значит, это может быть только модифицированный. И если вы создаёте значение инструментом, который не вставляет эти секунды, у вас время начнёт разъезжаться. Вот в JavaScript по стандарту временная шкала нелинейная, как и в POSIX.1. Но если POSIX.1 где-то нарушается, то, может быть, и EcmaScript тоже? Давайте проверим:

@qnikst:

Есть программа (RTS), которая может создавать треды в разные странные моменты обычным pthread_create . Есть специальный superduper_thread_create, который создает нужные мне треды, но взять и перевести на него RTS неполучится (лень). Так же есть так же специальный метод, который позволяет конвертировать обычный posix тред в superduper тред.

Вопрос, есть ли какие-либо средства для автоматизации вызова функции конвертации треда в специальный после вызова pthread_create

@Strephil:

Название POSIX было предложено Ричардом Столлманом.

@Strephil:

А что, \x в 1 printf это нестандартное гнутое расширение?
Пичалька.

@Equidamoid:

У меня есть скрипт, скрипт работает с несколькими разными версиями данных. Данные принудительно качаются в один и тот же каталог и с этим ничего не поделать (привет идиотской системе perforce). Потому хочу сделать блокировку этого каталога. Как это лучше делать? Требуется полностью исключить возможные гонки и корректно обрабатывать падения (чтобы никаких "файл заблокирован, но похоже, что владелец издох, проверь сам и удали воот этот файл").

@segfault:

нихуя не понимаю, чем отличается ppoll от poll ? При получении сигнала первый сразу возвращает, или нет, или оба возвращают управление ?

@OCTAGRAM:

Была для TCP/IP такая полезная утилитка netcat. А потом все повадились ходить через SOCKS, и даже были сети с forced proxy socks. Без SOCKS стало никуда, и тогда был сделан socat. А сейчас все за NAT, Teredo не настроен, и стало никуда без WebRTC. Теперь нужен новый *cat.

Меня огорчает, что я так и не нашёл ни одной реализации Interactive Connection Establishment для libuv

@borman:

In love, some people bind while others connect.

@Dorif:

Привет пользователям UNIX-like систем!

Я пишу небольшой набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС. Проект называется escu(сокращение от Extremelly Small CoreUtils). Писать начал, когда пожелав выучиться системному программированию по исходникам GNU Coreutils, но не смог разобраться в spaghetti code и решил их переписать согласно спецификациям The OpenGroup.

Уже есть утилиты: basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes. Многие из них уже полностью POSIX-совместимы. Я использую системные вызовы для снижения накладных расходов, а также стараюсь писать максимально простой код для облегчения понимания новичками.

Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.

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

Комментарии, предложения и патчи приветствуются!

Исходный код: github.com

@Strephil:

Что касается
$ expr a : 'a\( b\)*'
man 1p expr:
Alternatively, if the pattern contains at least one regular expression subexpression "[\(...\)]", the string corresponding to "\1" shall be returned.
По кодам возврата:
0 The expression evaluates to neither null nor zero.
1 The expression evaluates to null or zero.

Так что в GNU всё по POSIX, а OpenBSD — увы.

@Arepo:

знатоки, подскажите, позволяет ли посикс или, накрайняк, линух, указать драйверу ФС, что на месте указанной области файла неплохо бы было сделать дырку? Есть большой очень разреженный файл, в который пишутся данные и затираются нулями старые, так вот на месте старых данных и надо делать дырки. Очень не хочется периодически пересоздавать этот файл только для того, чтобы дырки расставить

@dr-Chaos:

#1929039 POSIX make умеет как в качестве темплейт таргетов воспринимать только суффиксы и если есть значок ~ , префикс в начале файла s. . Уродство.

@dr-Chaos:

Господа, а можно как-то на POSIX make изобразить такую конструкцию:

dir/%.o:
   cd dir && make %*.o

Т.е. часть *.c файлов для собрки лежит в поддиректории и для того чтоб их сбилдить надо вызвать make foo.o в этой поддиректории. На GNU make я это изобразил, а вот на POSIX как-то херово :(

@4DA:

Увидел на ЛОРе высказывание, что никто давно не использует UNIX IPC.
А что используют???

@A2K:

Жуйк, в каких случаях pthread_sigmask может блокировать?

@sany:

flock, fcntl, boost::interprocess::file_lock...
одно работает только под windows, другое только под unix, есть ешё hp-ux, под ним вообще ничего не работает.

@juniorroy:

(666(files) || 777(dirs)) && !(umask) — для создаваемых файлов/каталогов

@nil:

Girl, you must be from stdout because i'd like to pipe you.

@yuridichesky:

если на солнце есть пятна, то на POSIX-е точно должны быть трещины: daemonology.net

@borman:

Жуйк, а посоветуй годный сетап нормальной позиксовой консоли на винду? Какой терминал, какой юзерленд брать? Вянда 7 x64, если что.

@NetMoose:

Непонятно зачем, но можно. #1535441

@Strephil:

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

@Strephil:

В четвертой версии GNU AWK функции sub были приведены в соответствие со стандартом POSIX 2008.
Неделю назад пришел баг-репорт, что gawk работает согласно POSIX! Ужас!
…я оказался прав: главный разработчик gawk Аарон Роббинс подготовил патч, возвращающий старое поведение. В ближайшее время он будет добавлен в ветку git gawk-4.0-stable.
GNUgNUGNugnu!!!!!1111

@aledz:

В очередной раз читаю книгу Введение в POSIXивизм. Кто не читал очень рекомендую

@nil:

Интересно, почему в GNU/Linux каждый процесс сам отвечает за создание PID-файла? Почему это не задача ОС?

@Elemir:

О совместимости. Многие линакс-фаги называют гну/линакс UNIX-like и обосновывают это тем, что оная является POSIX-совместимой, хоть и не сертифицирована. Благодаря вчерашнему нытью @lexszero обнаружил интересную вещь:
[email protected] ~ $ (cat test.c && gcc -std=c99 -D_POSIX_C_SOURCE=200809L -lm test.c -o test 2>&1) | wgetpaste
Your paste can be seen here: paste.pocoo.org
[email protected] ~ $ man 0p math.h | wgetpaste
Your paste can be seen here: paste.pocoo.org

И сколько же таких ошибок и несуразностей?

@asmer:

Где взять tail -f под винду? желательно легковесный и без проблемный в установке

@Strephil:

awk никому не нужен. Для совсем простого слишком сложен, для чуть более сложного слишком ущербен. Вот нафига он стандарт POSIX? Даже не то, что лишние буквы. Сколько поощрение его включения в дистрибутивы, его изучения, использования.
Был бы стандартом, например, bash со всеми его башизмами. Или другие расширения GNU… Было бы куда лучше.

@chemikadze:

Рекомендую "Разработка приложений клиент/сервер для Linux/posix" Камера и Стивенса, обстоятельно пишут. Многое конечно слишком разжевано, но мелочи авторы из виду не упускают.

@Strephil:

Ура! У меня новая libcap (теперь 2.20; тихо и незамѣтно вышла в день Богоявленiя, еще шесть дней назадъ; нашел на kernel.org)
Измѣненiй немного: добавлена поддержка новаго разрѣшенiя CAP_SYSLOG (названiе говоритъ само за себя).
+ setcap теперь по дефолту имѣетъ inherity capability. Интересно, зачѣмъ? Въ Arch это отключено… вотъ тутъ нужно будетъ поразбираться.
sites.google.com

@sany:

как проверить fcntl-овскую блокировку из shell скрипта?

@x0r:

Yeah it's KILL DASH NINE
No more CPU time.
'Cause it's KILL DASH NINE,
And your process is mine.
I said KILL DASH NINE
'Cause it's my time to shine,
So don't step outta line or else it's
KILL DASH NINE!

@solmir:

а какие есть средства для отслеживания проблем синхронизации, взаимных исключений, клинчей и всего прочего, помимо mutrace?

@Sectoid:

жуйк-жуйк, я котирую рефакторинг sed'ом. А ты?

@zweipluse:

Ну нас есть, если верить вики, ОС2000 ru.wikipedia.org Гы-Гы! Даже POSIX отвечает и X Window!

@smeea:

Объясните почему посикс шелл на этом сосет хуйцы:
~ % cat 1
#!/bin/bash
echo ${@-foo}
for i in "[email protected]"; do
echo "bar"
done
~ % ./1
foo
~ % cat 2
#!/bin/sh
echo ${@-foo}
for i in "[email protected]"; do
echo "bar"
done
~ % ./2

Почему баш корректно считает переменную аргумента неопределенной и не запускает луп, а так же выводит заместо неопределенной переменной заданное 'foo', а каноничный шелл делает непонятное — для первой команды он считает переменную определенной (но пустой) и выводит ее значение, но луп в то же время не запускает, как будто она не определена?

@mourneskey:

Filesystem Hierarchy Standard
pathname.com

@ia:

анонсирован проект по созданию новой реализации системной библиотеки libc под названием libposix, соответствующей требованиям стандарта POSIX 2008, без реализации поддержки дополнительных расширений и устаревших требований прошлых стандартов; также планируется активно сосредоточить усилия на кроссплатформенности, дабы обеспечить поддержку библиотеки на основных unix-подобных ОС.
opennet.ru