Хорошо. Тогда (жестом доброй воли ![]() Fakir был прав, с небольшой поправкой: rpm -qf <file>, тут действительно программирование никакое. Но часто бывает нужно найти по определенному шаблону. Тогда делаем примерно так: for a in `rpm -qa`; do for b in `rpm -ql $a`; do echo $a---$b; done ; done | grep <шаблон> Это дольше, но зато совпадения - по произвольному регэкспу |
Ммм. А где решение для других Linux-ов? |
Ммм. А где решение хоть для какого виндовса хоть с какими ограничениями?
Разговор, напомню, шел о преимуществах (недостатках) линукса в области программирования по сравнению с виндовс. |
Я не понимаю зачем требовать код, или xdsl желает посмотреть алгоритм обхода дерева файловой системы? алгоритм построения дерева вызовов библиотек? ![]() _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
xdsl писал(а): Разговор, напомню, шел о преимуществах (недостатках) линукса в области программирования по сравнению с виндовс.Ну и как с такими общими вопросами соотносится решение такой сугубо прикладной системной задачи? ![]() |
Это обычные задачи системного программирования.
Вот еще одна задачка: Создать программу управления сервисами с возможностями запуска, остановки, перезагрузки сервиса, получения информации о запущенных (незапущенных) сервисах, организации и отмены запуска сервисов во время загрузки системы. |
xdsl писал(а): системного программированияА, вот где собака порылась... xdsl писал(а): Создать программу управления сервисами http://www.nirsoft.net/utils/serviwin.html и, до кучи, ) net help ![]() ) tasklist ) netstat http://www.microsoft.com/windows2000/techinfo/howitworks/management/w2kservices.asp _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() Последний раз редактировалось: andy ice (2006.06.09 08:20.46), всего редактировалось 1 раз |
andy ice писал(а): Я не понимаю зачем требовать код, или xdsl желает посмотреть алгоритм обхода дерева файловой системы? алгоритм построения дерева вызовов библиотек? ![]() Вы знаете какой-то лучший метод сравнивать эффективность решения в области программирования, кроме сравнения программного кода, его стабильности, скорости работы, объема наконец? Метод в студию! Кстати, moishe предложил использовать msi, что вас не устроило? Должно быть эффективно, наверное. |
Ну часть этих функций позволяет использовать утилита net, входящая в поставку ОС. Кстати по поводу предыдущей задачи - предоставьте пожалуйста код "программы", работающей с базой данныйх rpm без использования утилиты rpm ![]() |
А и еще вопрос, почему xdsl старательно обходит тему прикладного программирования? _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice писал(а):
http://www.nirsoft.net/utils/serviwin.html и, до кучи, ) net help ![]() ) tasklist ) netstat http://www.microsoft.com/windows2000/techinfo/howitworks/management/w2kservices.asp Исходник программы, решающий задачу, плиз. Ссылками мы все рассыпаться горазды: man chkconfig man service man grep man sed |
Петрович писал(а): Ну часть этих функций позволяет использовать утилита net, входящая в поставку ОС. Кстати по поводу предыдущей задачи - предоставьте пожалуйста код "программы", работающей с базой данныйх rpm без использования утилиты rpm ![]() Для системщиков есть librpm и librpm-devel. Могу решить и с их использованием. Однако все это уже давно напоминает игру в одни ворота. Ни строчки кода для виндовс я так и не увидел. Может пора кончать флудить и заняться конструктивом? |
xdsl писал(а): Создать программу управления сервисами с возможностями запуска, остановки, перезагрузки сервиса, получения информации о запущенных (незапущенных) сервисах, организации и отмены запуска сервисов во время загрузки системы. Управление компьютером / Службы и приложения / Службы. Зачем еще что-то сочинять? Мало того, данная оснастка позволяет управлять любым компьютером в локальной сети. А писать аналоги мне просто жаль времени. _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice писал(а): А и еще вопрос, почему xdsl старательно обходит тему прикладного программирования?Я до нее еще не дошел. Нечего оставлять в подвешенном состоянии текущий вопрос. Вот разберемся, что в линуксе лучше (хуже) решать системные задачи, перейдем к прикладным. |
Приведеные выше примеры никак не отображают лучшесть или хужесть решения системных задач. Потому что они решаются по другому. И всё. С сервисами ответ зачтен? _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice писал(а):
Управление компьютером / Службы и приложения / Службы. Зачем еще что-то сочинять? Мало того, данная оснастка позволяет управлять любым компьютером в локальной сети. А писать аналоги мне просто жаль времени. Утилитами в линуксе я то-же решаю эту задачу. А если еще и ssh - то управляю любым компьютером в локальной сети (столь-же любым, сколько и вы, уважаемый). Но это все не разговор о преимуществах-недостатках программирования в разных осях. Код для линукса я готов предоставить, но кода для виндовс нету, сравнивать не с чем, значит надо прекращать этот бессмыссленный флуд. Предоставите код, продолжим дискуссию. |
andy ice писал(а): писать аналоги мне просто жаль времени_________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
Зачем писать программу, если аналогичная уже есть? Разве что ты - студент, которому дали задание. Управление сервисами под win 2000/XP/2003 достаточно удобное.
Другое дело - win 95/98. В свое время мне понадобилось управление процессами (не сервисами, там нет сервисов) в win98 с интерфейсом командной строки. Написал.
|
Потом мне захотелось смотреть/убивать процессы не только на локальной машине, но и через сеть. Пришлось написать телнет-сервер для вин98. Получилось довольно длинно (около 400 строк), поэтому постить не буду, но если интересно, могу выслать на мыло любому желающему, обращайтесь. |
Упуату писал(а): Ммм. А где решение для других Linux-ов?Хочешь, например, для Slackware: # grep "crti.o" /var/log/packages/* glibc-2.3.2-i486-1:usr/lib/crti.o Кстати никто не мешает использовать rpm под слакой, хотя этот дистрибутив и не rmp-based. |
nicko писал(а): /var/log/packages/ |
moishe писал(а): В свое время мне понадобилось управление процессами (не сервисами, там нет сервисов) в win98 с интерфейсом командной строки. Согласны ли вы (в контексте темы) с тем, что под линуксом это решается значительно проще, или требуется алаверды? |
Упуату писал(а): nicko писал(а): /var/log/packages/И что? Найди решение для своего дистра. Каждый пользуется теми инструментами, которые удобнее для него лично. |
xdsl писал(а): Согласны ли вы (в контексте темы) с тем, что под линуксом это решается значительно проще, или требуется алаверды? |
А, ладно. Вот он, телнет-сервер. Убрал оттуда все лишнее (у меня он изначально решал более общие задачи, чем поддержка командного интерпретатора), получилось 250 строк.
|
Появились мысли о первом задании г-на xdsl-я. Почему сразу это в голову не пришло мне не ясно, ну да лучше поздно, чем никогда:
Итак. xdsl требует написать программу, которая бы показывала соответствие программе некогего файла. При чем сам отказывается предоставить какой-либо алгоритм или код или что иное. Потому приходится заниматься предположениями. Во-первых сразу скажу, что как в виндовсе сделать такое штатно мне не известно. Впрочем и в линуксе штатно сиё тоже не сделать. Как оказалось. Ибо нужно использовать пакет RPM, да еще так использовать, чтобы устанавливаемые программы были в требуемом формате. Если есть возможность получения информации (а она скорее всего есть, просто никому не надо наверно) из msi-файлов, то, соответственно, можно написать аналог RPM для виндовс, только использующий *.msi вместо *.rpm и сравнивать уже исходный код двух этих пакетов - RPM и якобы-win-rpm. Смысла в требовании предоставить код для обращения к этим утилитам (что, видимо, пытался требовать xdsl) смысла не вижу. А а наиболее общем виде, как мне мыслится, есть только один вариант, причем и для вин и для лин он подходит (не на всех лин-ах есть rpm): перед установкой программы делать слепок системы, возможно даже сделать первый запуск, потом сделать второй слепок системы, и разницу сохранять в БД. Больше вариантов не вижу. Между вин и лин в таком случае всего одна разница - если нужно, конечно, в виндовсе нужно еще и разницу в реестре сохранять. Дополнения / вопросы будут? _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
andy ice писал(а): При чем сам отказывается предоставить какой-либо алгоритм или код или что иноеxdsl писал(а): for a in `rpm -qa`; do for b in `rpm -ql $a`; do echo $a---$b; done ; done | grep <шаблон>![]() |
andy ice писал(а): Смысла в требовании предоставить код для обращения к этим утилитам (что, видимо, пытался требовать xdsl) смысла не вижу. может смешно. хотя уже не смешно, уже как-то.. _________________ Ин дер гросен фамилие нихт клювен клац-клац ![]() |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |