SysInfo for Linux (вот пишу такую...)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

diesel писал(а):
21.01.2009 14:57
искать еще страше?
Ищите моложе!

Код: Выделить всё

cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/disk/by-uuid/b5596679-0fad-46e2-9a39-cee254b6193f / ext3 rw,errors=continue,data=ordered 0 0 /proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
udev /dev tmpfs rw,size=5120k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,gid=5,mode=620 0 0
shmfs /dev/shm tmpfs rw 0 0
tmpfs /tmp tmpfs rw,nosuid 0 0
/dev/hda8 /home ext3 rw,nosuid,errors=continue,data=ordered 0 0
/dev/hda6 /usr ext3 rw,nodev,noatime,errors=continue,data=ordered 0 0
/dev/hda7 /var ext3 rw,nosuid,errors=continue,data=ordered 0 0


Это - AltLinux, не моя. :crazy: Очень информативно! Очень. А, главное стандартно и неизменно!
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

YUKLA писал(а):
21.01.2009 15:02

Код: Выделить всё

cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/disk/by-uuid/b5596679-0fad-46e2-9a39-cee254b6193f / ext3
rw,errors=continue,data=ordered 0 0 /proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
udev /dev tmpfs rw,size=5120k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,gid=5,mode=620 0 0
shmfs /dev/shm tmpfs rw 0 0
tmpfs /tmp tmpfs rw,nosuid 0 0
/dev/hda8 /home ext3 rw,nosuid,errors=continue,data=ordered 0 0
/dev/hda6 /usr ext3 rw,nodev,noatime,errors=continue,data=ordered 0 0
/dev/hda7 /var ext3 rw,nosuid,errors=continue,data=ordered 0 0


Это - AltLinux, не моя. :crazy: Очень информативно! Очень. А, главное стандартно и неизменно!

изменилось наименование, вернее даже не так: добавились новые возможности для указания того что монтировать/что смонтировано, НО, схема та же.... то есть структура файлов одинаковая, ЧТД. То есть - никакой разницы: будем мы парсить этот файл на моем 2.4.29 или на Вашем - чего там в Альте. Разница в том чтобы правильно интерпретировать результат и того и другого - ну дык Вы этим и занимаетесь.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

diesel писал(а):
21.01.2009 15:05
изменилось наименование, вернее даже не так: добавились новые возможности для указания того что монтировать/что смонтировано, НО, схема та же.... то есть структура файлов одинаковая, ЧТД.

Это не "наименование". Это - НОВАЯ структура /dev в виду появления udev. И это самый /dev/disk/by-uuid/b5596679-0fad-46e2-9a39-cee254b6193f - симлинк на реальный /dev/sda1, к примеру.

Все это ДОПОЛНИТЕЛЬНО осложняет программирование процедуры парсинга. Не уж то вы этого не понимаете? Я теперь должен анализировать, не является ли файл симлинком, потом читать этот симлинк - минимум две ДОПОЛНИТЕЛЬНЫЕ операции!

ИМХО вы просто никогда не писали реального кода своими руками. Строк этак на 15-50 тыс. Вы просто не понимаете сути программирования. Без обид. ;)

ЗЫ: Я вам конкретно указал что изменилось с указанием версий ядра. Упомянул hal и udev. Причем тут ваш 2.4.29? :) ИМХО, кто-то занимается подменой понятий.
Или нам стоит тут детально углубиться в алгоритмы работы этих самых hal (c kernel 2.6.10) и udev (начиная с kernel 2.6.13), которых "не было два года назад" (по крайней мере, в основных дистрибутивах). Тогда это будет оффтопик.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 15:11
ИМХО вы просто никогда не писали реального кода своими руками. Строк этак на 15-50 тыс. Вы просто не понимаете сути программирования. Без обид. ;)
Я писал реальный код своими руками.
В масштабах проекта и поболее, чем Вы тут приводите.

Суть программирования понимаю, меня этому специально обучали в университете.
Тем не менее, я придерживаюсь того же мнения, что и уважаемый diesel.
А вот Вы очень плохо понимаете устройство той операционной системы, в которой якобы программируете уже 10 лет (по Вашим заявлениям).
Причем путаетесь в элементарных вещах.
И это очень странно выглядит.
Без обид. (С)
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

YUKLA писал(а):
21.01.2009 15:11
Все это ДОПОЛНИТЕЛЬНО осложняет программирование процедуры парсинга. Не уж то вы этого не понимаете? Я теперь должен анализировать, не является ли файл симлинком, потом читать этот симлинк - минимум две ДОПОЛНИТЕЛЬНЫЕ операции!

парсинг - это загнать в какую-нить структуру данных, данные из файла. то есть:

Код: Выделить всё

cat /proc/mounts | while read what where fs options i k; do


вот это был "парсинг".

а вот это уже анализ того что мы пропарсили:

Код: Выделить всё

if [ -l $what ]; then
   what=$(ls -l $what | awk -F'->' '{print $NF}')
fi


так вот, в парсере ничего не изменится. пусть там хоть еще десяток разных способов наименования добавят. просто в "анализатор" добавится еще пару проверок.

YUKLA писал(а):
21.01.2009 15:11
ИМХО вы просто никогда не писали реального кода своими руками. Строк этак на 15-50 тыс. Вы просто не понимаете сути программирования. Без обид. ;)

у нас с Вами разные понимания сути программирования, Ваше понимание - популярнее :)
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

diesel писал(а):
21.01.2009 15:23
у нас с Вами разные понимания сути программирования, Ваше понимание - популярнее :)

Нет.

Я вам говорю про программирование на Pascal с использованием системного API. А вы мне: cat /proc/mounts | while read what where fs options i k; do

К чему это вы написали? К тому, что вы умеете пользоваться "командной строкой"? Вы понимаете, что вы пишите совершенно не по теме? Ваши примеры не имеют ровным счетом никакого отношения к SysInfo for Linux и к процессу ее разработки.

ИМХО вы занимаетесь обыкновенным флудом.

ЗЫ: Была нормальная ветка. Автор общался с пользователями. Ловили и исправляли баги, добавляли те или иные фичи. Набежали фанатики Unix way - уже 5 страниц флуда НИ О ЧЕМ. Господа. Кончайте замусоривать тему. Огромная к вам просьба. Вам не нужна и чужда моя программа - почему же вы тут так активны, а?
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: SysInfo for Linux

Сообщение Juliette »

YUKLA писал(а):
21.01.2009 15:48
Набежали фанатики Unix way - уже 5 страниц флуда НИ О ЧЕМ. Господа. Кончайте замусоривать тему. Огромная к вам просьба. Вам не нужна и чужда моя программа - почему же вы тут так активны, а?

У нас шило в попе. (см. аватар Топпера). Я тоже долго крепилась, но вот и сама вставила 5 копеек. Ну и если честно, даже меня, тихого пользователя, задевает пренебрежительное поминание UNIX-way. На мой взгляд, Дизель прав -- вы абсолютно вольны в выборе средств и методов. но всё это напоминает грубый индусский хак, не очень грамотный, зато очень распространённый в наши дни. Извините за наше тут словоблудие, серьёзно.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

YUKLA писал(а):
21.01.2009 15:48
diesel писал(а):
21.01.2009 15:23
у нас с Вами разные понимания сути программирования, Ваше понимание - популярнее :)

Нет.

ошибаетесь, иначе бы вы не написали вот это:

diesel писал(а):
21.01.2009 15:23
Я вам говорю про программирование на Pascal с использованием системного API. А вы мне: cat /proc/mounts | while read what where fs options i k; do

К чему это вы написали? К тому, что вы умеете пользоваться "командной строкой"? Вы понимаете, что вы пишите совершенно не по теме? Ваши примеры не имеют ровным счетом никакого отношения к SysInfo for Linux и к процессу ее разработки.


они имеют отношение к сути разговора. Итак напомню. Краткое содержание последней страницы:

- для того чтобы точно знать какая ФС надо смотреть файлы суперблока
- да ну, создатели mount, явно про это не в курсе.
- причем тут mount?
- ... ы?
- я действительно сейчас делаю это так же как создатели mount - парсингом /proc/mounts, но это фигня, потому что /proc/mounts каждую версию ядра меняется
- да ну как же он меняется. структура файла одна и та же. вот вам со старой машины пример.
- вот вам с новой машины пример
- структура файла одна и та же, то есть парсер должен работать так же как и работал. добавился еще один вариант наименования устройства который туда можно вписать.
- да ну как же! теперь мне нужно все проверять на симлинки!
- вот это "парсер" и его менять не надо, хоть еще сотню разных наименований для устройств введут, а вот это "то где проверяют то что парсер распарсил" и в него совсем немного надо вписать, чувствуете разницу?
- да ну это пример на bash'е! а я пишу Pascal'е! Вот эту разницу я почувствовал.

YUKLA писал(а):
21.01.2009 15:48
ЗЫ: Была нормальная ветка. Автор общался с пользователями. Ловили и исправляли баги, добавляли те или иные фичи. Набежали фанатики Unix way - уже 5 страниц флуда НИ О ЧЕМ. Господа. Кончайте замусоривать тему. Огромная к вам просьба. Вам не нужна и чужда моя программа - почему же вы тут так активны, а?

эм. тут такая штука. Вы запостили чего-то на публичном форуме. Другие люди приходят, и говорят то что по этому думают, отвечают на то что вы пишите и так далее. Это так на форумах обычно общение происходит. Keep it simple.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 15:48
ИМХО вы занимаетесь обыкновенным флудом.
Вам стоит проштудировать матчасть на тему того, что означает слово "флуд".

YUKLA писал(а):
21.01.2009 15:48
ЗЫ: Была нормальная ветка. Автор общался с пользователями. Ловили и исправляли баги, добавляли те или иные фичи. Набежали фанатики Unix way - уже 5 страниц флуда НИ О ЧЕМ.
Помилуйте, да ведь мы 5 страниц только об этой Вашей программе и говорим.
Ну так уж сложилась её (программы) судьба, что у сколько-нибудь опытных и технически грамотных пользователей Linux-систем эта программа вызывает такие реакции.
За это надо благодарить её автора, который наделил программу именно такими качествами и ведет разработку именно в таком направлении, которое противоречит основным принципам операционнй системы Linux.
Это, уважаемый YUKLA, в том числе и так нелюбимый Вами UNIX-way.
Ну и впридачу есть еще такой очень хороший принцип KISS.
Рекомендую ознакомиться.
Кроме того, я Вам выше задавал несколько вопросов, большинство их которых Вы изволили по непонятным причинам игнорировать и ничего внятного не ответили.
В том числе и про аляповатый и жутко неэргономичный интерфейс программы.
Заметьте, это вопрос не к Вашей личности или "зачем нужна программа", это вопрос касательно именно самой программы.
Вы же вот так странно реагируете.

YUKLA писал(а):
21.01.2009 15:48
Господа. Кончайте замусоривать тему. Огромная к вам просьба. Вам не нужна и чужда моя программа - почему же вы тут так активны, а?
Наверное дело в том, что нам не чужды операционная система Linux и этот форум.
Заметьте, это не мы к Вам на Ваш сайт пришли со своими идеями и выступлениями, а несколько даже наоборот.
Чего ж вы ожидали ?
Что все моментально падут ниц как только прочтут о Вашем 20-летнем опыта программирования и станут запускать любые проприетарные блобы с вашего сайта только для того, чтобы наши скромные системы озарил их лучезарный свет ?
Это вряд ли.
А вот на конструктивную критику от большого количества людей Вы реагируете как-то, мягко говоря, странно.

YUKLA писал(а):
21.01.2009 13:58
это называется "ср.а.ть в комментах". Без обид.
Я Вам советую перечитать правила форума и не переходить рамки доброжелательного общения.
Если мнения форумчан резко не соответствуют Вашим ожиданиям - это не повод хамить и ругаться.
Спасибо за понимание.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

diesel писал(а):
21.01.2009 14:39
о запуске mount'а без параметров, посмотрите наконец-то вот в этот пост - в то что в тэгах code. Потом можно еще man mount посмотреть - там написано что эта команда делает без параметров.

Ув. diesel!

Специально для вас. Посмотрел исходники mount. В файле mount.c есть такая функция, называется print_all() Именно она вызывается при вызове mount без параметров. Сия замечательная функция ПЕЧАТАЕТ СОДЕРЖИМОЕ /etc/mtab. Это к вопросу о том, проверяет ли команда mount тип файловой системы при запуске без параметров и нужны ли ей для этого права Root. Я, честно говоря, так и думал.

Я же говорил об определении типа файловой системы ЛЮБОЙ, отдельно взятой директории. Причем, средствами API.

Больше мне вас сказать нечего. Позвольте мне с вами в дискуссии далее не участвовать.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 16:40
Я же говорил об определении типа файловой системы ЛЮБОЙ, отдельно взятой директории. Причем, средствами API.
Стоп.
В этом месте, пожалуйста, поподробнее.

Что значит "тип файловой системы ЛЮБОЙ, отдельно взятой директории" ?
Где это у директории есть какая-то файловая система ?
Вот я командой

Код: Выделить всё

mkdir ~/test
создаю директорию ~/test
Поясните, где и какой тип файловой системы у этой "отдельно взятой директории" ?
И отличается ли он от типов файловых систем любых других "отдельно взятых директорий" ?
Например, если я создам аналогичным способом ~/test2

Я серьезно, это не сарказм.
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: SysInfo for Linux

Сообщение Ali1 »

YUKLA
Дайте прямую ссылку на исходники по os/2?
2 all
UPD не пора ли сделать strace ./sysinfo0304
Спасибо сказали:
mikluxo
Сообщения: 283
ОС: Slackware 12.2

Re: SysInfo for Linux

Сообщение mikluxo »

Не определился nvidia драйвер, и монитор пустой(может так и надо?).
Вместо /dev/hdb4(ext3) определил ext2
Вместо /mnt/f(NTFS) - unknown.
Куда printScreen скидывать?
ЗЫ: может я не совсем прав, но все-таки:
Вот есть на форуме(и на этом тоже) несколько разделов, Mandriva, Suse, Slackware etc. Так вот(к примеру!), почему тогда пользователям Suse запрещено выражать мнение по поводу Mandriva(выяснять почему она устроена так, как она устроена), а автору советуют всякие утилиты(зачастую полезные), но есть выбор, это хорошо. Никто же не заставляет людей использовать данную программу.
ЗЫЫЗ:
Проверил, как mount работает. Если не указать явно fs она его не сможет прикрепить, поэтому она сама не определяет fs, а берет ее из /etc/fstab. Хотя я допустим знаю, какая у меня fs стоит, так что даже если(мало ли) у меня куда-то все mount конфиги пропадут, я их смогу худо ли бедно восстановить, поэтому надобности в программе не чувствую, может кому и понадобится.
Ich weiss, dass ich nichts weiss, aber wissen Sie es auch?
Завистники на что не взглянут,
подымут вечно лай,
А ты себе своей дорогою ступай,
Полают, да отстанут. Крылов
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: SysInfo for Linux

Сообщение Ali1 »

Я же говорил об определении типа файловой системы ЛЮБОЙ, отдельно взятой директории. Причем, средствами API.

Goodvin писал(а):
21.01.2009 16:48
Стоп.
В этом месте, пожалуйста, поподробнее.

И где в этой директории находится суперблок.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

YUKLA писал(а):
21.01.2009 16:40
diesel писал(а):
21.01.2009 14:39
о запуске mount'а без параметров, посмотрите наконец-то вот в этот пост - в то что в тэгах code. Потом можно еще man mount посмотреть - там написано что эта команда делает без параметров.

Специально для вас. Посмотрел исходники mount. В файле mount.c есть такая функция, называется print_all() Именно она вызывается при вызове mount без параметров. Сия замечательная функция ПЕЧАТАЕТ СОДЕРЖИМОЕ /etc/mtab. Это к вопросу о том, проверяет ли команда mount тип файловой системы при запуске без параметров и нужны ли ей для этого права Root. Я, честно говоря, так и думал.

да, это в man'е написано(я вам его предлагал почитать, да). Еще раз. Команда mount показывает то что надо пользователю не требуя права рута. по всему миру, миллионам пользователей. Ваша программа не соглашается(или не соглашалась это делать), без видимых на то причин. Вот эту непростую истину я пытался донести, или вы не читали те посты на которые отвечали, или это такой новый вид троллинга.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: SysInfo for Linux

Сообщение Rootlexx »

diesel писал(а):
21.01.2009 12:48
о том что это можно сделать только из-под рута расскажите команде mount

diesel писал(а):
21.01.2009 13:52
mount'у не нужен рут для того чтобы сказать мне что у меня ext3, Вам нужен...

mount нужен root. А запускаемость от пользователя обеспечивается битом SUID.
diesel писал(а):
21.01.2009 14:10
если вы посмотрите в исходники mount, скорее всего окажется что она вообще не проверяет права доступа - скорее всего она просто интерпретирует ошибки, в т.ч. связанные с правами доступа, которые при выполнении тех или иных операций выдают системные вызовы

Неверно. Для исполнения системного вызова _mount требуется capability CAP_SYS_ADMIN.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

Goodvin писал(а):
21.01.2009 16:48
Что значит "тип файловой системы ЛЮБОЙ, отдельно взятой директории" ?
Где это у директории есть какая-то файловая система ?

int statfs(const char *path, struct statfs *buf);
Description
The function statfs() returns information about a mounted file system. path is the pathname of any file within the mounted filesystem. buf is a pointer to a statfs structure defined approximately as follows:

struct statfs {
long f_type; /* type of filesystem (see below) */
long f_bsize; /* optimal transfer block size */
long f_blocks; /* total data blocks in file system */
long f_bfree; /* free blocks in fs */
long f_bavail; /* free blocks avail to non-superuser */
long f_files; /* total file nodes in file system */
long f_ffree; /* free file nodes in fs */
fsid_t f_fsid; /* file system id */
long f_namelen; /* maximum length of filenames */
};
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: SysInfo for Linux

Сообщение Rootlexx »

diesel писал(а):
21.01.2009 16:55
Команда mount показывает то что надо пользователю не требуя права рута.

Ну, в принципе, это ей сообщает ядро. Которое знает о ФС, примонтированных этой же командой mount :) .

Добавлено: ничью сторону не занимаю, просто корректирую написанное :) .
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

Rootlexx писал(а):
21.01.2009 16:56
diesel писал(а):
21.01.2009 12:48
о том что это можно сделать только из-под рута расскажите команде mount

diesel писал(а):
21.01.2009 13:52
mount'у не нужен рут для того чтобы сказать мне что у меня ext3, Вам нужен...

mount нужен root. А запускаемость от пользователя обеспечивается битом SUID.
diesel писал(а):
21.01.2009 14:10
если вы посмотрите в исходники mount, скорее всего окажется что она вообще не проверяет права доступа - скорее всего она просто интерпретирует ошибки, в т.ч. связанные с правами доступа, которые при выполнении тех или иных операций выдают системные вызовы

Неверно. Для исполнения системного вызова _mount требуетя capability CAP_SYS_ADMIN.

для того чтобы выполнить mount без параметров не нужен рут, и не нужны рут права, совсем(без SUID все работает, можешь проверить). для того чтобы сделать cat /etc/mtab не нужен рут, не нужно выполнять тот системный вызов...

я не говорю о "смонтировать"....
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

mikluxo писал(а):
21.01.2009 16:54
Не определился nvidia драйвер, и монитор пустой(может так и надо?).
Вместо /dev/hdb4(ext3) определил ext2
Вместо /mnt/f(NTFS) - unknown.
Куда printScreen скидывать?

Спасибо. Скриншоры кидайте на мыло - betatester@rambler.ru или на Файловый архив slil.ru

diesel писал(а):
21.01.2009 16:59
для того чтобы выполнить mount без параметров не нужен рут, и не нужны рут права, совсем, для того чтобы сделать cat /etc/mtab не нужен рут, не нужно выполнять тот системный вызов...

я не говорю о "смонтировать"....

ИМХО, вы не читаете оппонента. Я вам русским языком говорю - того, что есть в /etc/mtab мне недостаточно!

Я сразу это вам сказал - почитайте же дискуссию с самого начала! (бог с ним, с самоцитированием).
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 16:57
int statfs(const char *path, struct statfs *buf);Description
The function statfs() returns information about a mounted file system. path is the pathname of any file within the mounted filesystem. buf is a pointer to a statfs structure defined approximately as follows:
Ага, это интереснее.
Ну и как же по-Вашему это переводится на русский язык ?
Не только выделенное жирным шрифтом, а вся конструкция.
У меня серьезные подозрения, что мы с Вами понимаем смысл написанного там очень по-разному.
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4471
Статус: GNU generation
ОС: Debian GNU/Linux

Re: SysInfo for Linux

Сообщение Rootlexx »

diesel писал(а):
21.01.2009 16:59
для того чтобы выполнить mount без параметров не нужен рут, для того чтобы сделать cat /etc/mtab не нужен рут, не нужно выполнять тот системный вызов...

/proc может и не быть смонтирован, кроме того, некоторые ставят на него права 510.
В /etc/mtab mount может и не писать (параметр -n). Вызов mount без параметров просто печатает содержимое /etc/mtab.
Другое дело, что если эта программа нацелена на новичков, на это можно забить.
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: SysInfo for Linux

Сообщение diesel »

YUKLA писал(а):
21.01.2009 17:04
Я сразу это вам сказал - почитайте же дискуссию с самого начала! Или мне опускаться до самоцитирования?

единственный аргумент который Вы привели за сегодня, почему "недостаточно": это не кернельный API, оно нестабильно, и не имеет четкой структуры. Кажется мы уже пришли выше к тому что это не так.

Rootlexx писал(а):
21.01.2009 17:06
diesel писал(а):
21.01.2009 16:59
для того чтобы выполнить mount без параметров не нужен рут, для того чтобы сделать cat /etc/mtab не нужен рут, не нужно выполнять тот системный вызов...

/proc может и не быть смонтирован, кроме того, некоторые ставят на него права 510.
В /etc/mtab mount может и не писать (параметр -n). Вызов mount без параметров просто печатает содержимое /etc/mtab.
Другое дело, что если эта программа нацелена на новичков, на это можно забить.

да, я об этом писал, где-то на предыдущей странице. гораздо прикольнее показывать везде тип файловой системы "ext2", чем в 99% показывать правильно.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

Goodvin писал(а):
21.01.2009 17:05
У меня серьезные подозрения, что мы с Вами понимаем смысл написанного там очень по-разному.

Я не знаю, как вы понимаете смысл написанного. Знаю одно. Вызоффф функции statfs() с любым существующим произвольным путем возвращает заполненную struct statfs. :tongue:
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: SysInfo for Linux

Сообщение Ali1 »

LSB has deprecated the library calls statfs() and fstatfs() and tells us to use statvfs(2) and fstatvfs(2) instead.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 17:14
Goodvin писал(а):
21.01.2009 17:05
У меня серьезные подозрения, что мы с Вами понимаем смысл написанного там очень по-разному.

Я не знаю, как вы понимаете смысл написанного. Знаю одно. Вызоффф функции statfs() с любым существующим произвольным путем возвращает заполненную struct statfs. :tongue:
Да мне как-то плевать что там возвращает какая-то функция.
Вопрос совершенно не об этом.
Вы заявили следующее (цитирую)
YUKLA писал(а):
21.01.2009 16:40
Я же говорил об определении типа файловой системы ЛЮБОЙ, отдельно взятой директории. Причем, средствами API.


Я Вам задал прямой и конкретный вопрос (цитирую себя):
Goodvin писал(а):
21.01.2009 16:48
Что значит "тип файловой системы ЛЮБОЙ, отдельно взятой директории" ?
Где это у директории есть какая-то файловая система ?
Вот я командой

Код: Выделить всё

mkdir ~/test
создаю директорию ~/test
Поясните, где и какой тип файловой системы у этой "отдельно взятой директории" ?
И отличается ли он от типов файловых систем любых других "отдельно взятых директорий" ?
Например, если я создам аналогичным способом ~/test2

В ответ Вы приводите какой-то текст на аглийском языке, который сами не понимаете и несете ахинею.
Вы способны ответить на прямо поставленные вопросы ?
Вы способны объяснить какое отношение имеет приведенный Вами английский текст к Вашему заявлению, процитированному выше, про "определении типа файловой системы ЛЮБОЙ, отдельно взятой директории" ?

Боюсь, что в случае Вашего отказа вынужден буду расценивать такое Ваше поведение как троллинг, причем адресный.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

diesel писал(а):
21.01.2009 17:11
да, я об этом писал, где-то на предыдущей странице. гораздо прикольнее показывать везде тип файловой системы "ext2", чем в 99% показывать правильно.
Все уже работает. И все показывает правильно.
Спасибо сказали:
YUKLA
Сообщения: 342
ОС: Gentoo Linux, XFCE 4.6.1

Re: SysInfo for Linux

Сообщение YUKLA »

Ali1 писал(а):
21.01.2009 17:15
LSB has deprecated the library calls statfs() and fstatfs() and tells us to use statvfs(2) and fstatvfs(2) instead.


Структура, фактически, одинаковая.

Доработки касаются 64бит. Вообще, в этом случае, ИМХО - наиболее правильный путь - использование функций из библиотеки LIBC.

Goodvin писал(а):
21.01.2009 17:15
Боюсь, что в случае Вашего отказа вынужден буду расценивать такое Ваше поведение как троллинг, причем адресный.
:drinks:

Код: Выделить всё

stat -f ~/test
stat -f ~/test2
man stat

Кстати! Срочно пишите баг-репорт! Утилита stat НЕ РАЗЛИЧАЕТ ext2 и ext3 :1a:
$stat -f /tmp
File: "/tmp"
ID: 1e54de0d3039e453 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 18969151 Free: 10671777 Available: 9708179
Inodes: Total: 9650176 Free: 9314013
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: SysInfo for Linux

Сообщение Goodvin »

YUKLA писал(а):
21.01.2009 17:33
Goodvin писал(а):
21.01.2009 17:15
Боюсь, что в случае Вашего отказа вынужден буду расценивать такое Ваше поведение как троллинг, причем адресный.
:drinks:

Код: Выделить всё

stat -f ~/test
stat -f ~/test2
man stat

Кстати! Срочно пишите баг-репорт! Утилита stat НЕ РАЗЛИЧАЕТ ext2 и ext3 :1a:
При чем здесь этот бред ?
Вы не ответили на мои вопросы.
Вывод команды stat всего лишь сообщает на какой файловой системе находится каталог/файл, заданный в качестве параметра.
К тому безграмотному заявлению, который Вы написали выше, это не имеет никакого отношения.
Рекомендую Вам прочесть этот самый

Код: Выделить всё

man stat
и сделать для себя открытие о том, что и почему эта программа выводит.

P.S.
Собственно, диагноз и так уже ясен.
Думаю, что и не только мне.
Чем дальше мы общаемся, тем всё меньше становится желание смотреть на исходные тексты сабжевой программы.
Прежний интерес к реализации с лихвой компенсируется откровениями автора. :)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: SysInfo for Linux

Сообщение t.t »

Исключительно "в интересах истины".

Rootlexx писал(а):
21.01.2009 17:06
В /etc/mtab mount может и не писать (параметр -n). Вызов mount без параметров просто печатает содержимое /etc/mtab.
Неверно. Вызов mount без параметров -- более универсально, чем чтение mtab.

localhost

localhost:/etc# mount rootfs on / type rootfs (rw) none on /sys type sysfs (rw,nosuid,nodev,noexec) none on /proc type proc (rw,nosuid,nodev,noexec) udev on /dev type tmpfs (rw,size=10240k,mode=755) /dev/disk/by-uuid/033ac86a-da02-4412-80e4-f4db2819a525 on / type ext3 (rw,errors=remount-ro,commit=360,data=ordered) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=755) usbfs on /proc/bus/usb type usbfs (rw,nosuid,nodev,noexec) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,nosuid,noexec,gid=5,mode=620) /dev/sda3 on /home type ext3 (rw,errors=continue,commit=360,data=journal) localhost:/etc# cat mtab cat: mtab: Нет такого файла или каталога
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: