На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь

Страницы: (1182) « Первая ... 63 64 [65] 66 67 ...  1181 1182  ( Перейти к последнему сообщению )  
> Windows vs Linux - Как десктоп , и игровая станция.
    Цитата Guderian @
    Ну так как, сможешь такое на линуксе смастерить с той же легкостью? ;)

    Не с такой же, но смогу.
    Тут несколько путей:
    1. надо запихнуть логи в базу:
    1.a) sed'ом переделываем log в последовательность SQL-запросов, после чего, например, psql logs -f logs.sql
    1.b) awk'ом переделываем лог таким образом, чтобы его мог переварить COPY FROM
    далее действуетм по наметанному запросу, только я х-з чем там круговые диаграммы делаются, но 100% уверен, что можно

    2. надо разово получить частоту кодов: можно даже awk'ом. Заводим ассоциативный массив, в котором каждому коду соответствует свой counter. В конце распечатываем массив. Потом опять-таки надо найти что-то для удобного представления результата.

    О! Вспомнил: gnuplot! -- любой график нарисует :)
    Короче, задача решена стандартными средствами, а вот Guderian читерски пошел качать дополнительные тулзы, о которых еще узнать надо. :)
    Сорри за то, что в посте мало конкретики, но сейчас не могу прямо все команды писать, т. к. некогда да и field separator надо для логов знать.
      Цитата linuxfan @
      надо разово получить частоту кодов:

      Подозреваю, что именно так и работает LogParser.
        Цитата Guderian @
        Возьми простую группировку по IP для гига логов и сам поймешь почему

        Ты хочешь сказать, что LogParser этот объем проглотит и не подавится?

        Цитата Guderian @
        Скажем делаешь ты какой-нибудь мега-портал или суперинтеллектуальный веб-сервис. И в какой-то момент хочешь проанализировать его текущую постребованность.

        Кажется, не далее, чем год-полтора назад я к тебе именно с такой задачей и обращался. Правда там был не супер-мега-веб-портал, а небольшой сайтец небольшого хорового коллектива. :) Тебе напомнить твой ответ? ;)

        Цитата Guderian @
        Что для тебя важнее, твоя непосредственная задача или мартышкин труд по написанию chart-builder'ов?

        Стас, не передергивай. Как ты несколькими постами раньше сказал "такой скрипт пишется один раз". Вот и я тебе говорю - такой скрипт пишется один раз. Ровно как и LogParser. Так при чем тут мартышкин труд?
          Цитата Guderian @
          Не катит. Вариант для начинающих. Возьми простую группировку по IP для гига логов и сам поймешь почему ;)

          Но ведь если надо "разово" -- то вполне покатит. К слову: в linux есть штуковина под названием metalog -- он как раз и пишет в /var/log/*. Так вот у нее в настройках есть возможность запуска скрипта, которому передается строчка логов, так что в винде ты можешь настроить IIS, чтобы он клал логи в БД, а я в линуксе с metalog + gcc + /dev/brain, чтобы написать обертку, пихающую в базу смогу сделать так, что все будут писать свои логи в БД, причем можно даже хоть в разные таблицы, хоть еще как.
          А по поводу гигабайтных логов: в Linux их ротейтят. Я бы лично никогда под логи не отдал больше 100Mb места. Тонны логов никому не интересно. Интересны лишь те крупицы ценной информации, которые можно оттуда выуживать. awk + sed + perl для линуксовых логов (редко растут до гигабайта) очень даже рулят.
          Кстати, я тут вспомнил такую фишку: syslog в Linux умеет передавать свои логи на другую машину по какому-то UDP'шному порту, причем для этого особо изгаляться не надо. А в Windows? (Кстати, я уже даже не говорю, что в Windows нету никакого стандартного способа ведения логов -- каждое приложение поступает так, как посчитал нужным разработчик).

          Добавлено
          Кстати, API для ведения логов в Linux состоит всего из трех функций:
          Цитата man

          #include <syslog.h>

          void openlog(const char *ident, int option, int facility);
          void syslog(int priority, const char *format, ...);
          void closelog(void);

          Есть еще вариант функции syslog для variadic списков агрументов. А как API ведения логов выглядит в Windows?
          Сообщение отредактировано: linuxfan -
            Цитата linuxfan @
            Есть еще вариант функции syslog для variadic списков агрументов. А как API ведения логов выглядит в Windows?

            Цитата

            HANDLE OpenEventLog(
            LPCTSTR lpUNCServerName,
            LPCTSTR lpSourceName
            );


            BOOL CloseEventLog(
            HANDLE hEventLog
            );

            BOOL ReportEvent(
            HANDLE hEventLog,
            WORD wType,
            WORD wCategory,
            DWORD dwEventID,
            PSID lpUserSid,
            WORD wNumStrings,
            DWORD dwDataSize,
            LPCTSTR* lpStrings,
            LPVOID lpRawData
            );

            Ну и до кучи:
            Цитата

            BackupEventLog Saves the specified event log to a backup file.
            ClearEventLog Clears the specified event log, and optionally saves the current copy of the logfile to a backup file.
            DeregisterEventSource Closes a write handle to the specified event log.
            GetEventLogInformation Retrieves information about the specified event log.
            GetNumberOfEventLogRecords Retrieves the number of records in the specified event log.
            GetOldestEventLogRecord Retrieves the absolute record number of the oldest record in the specified event log.
            NotifyChangeEventLog Enables an application to receive notification when an event is written to the specified event logfile.
            OpenBackupEventLog Opens a handle to a backup event log.
            ReadEventLog Reads a whole number of entries from the specified event log.
            RegisterEventSource Retrieves a registered handle to an event log.
              Мда... Я бы тоже стал свои костыли для ведения логов придумывать... По-моему, весь Win32 API страдает гигантизмом -- каждаю функция стремится объять необъятное.
                Когда-то я хотел узнать, что такое Линукс... :D Узнал :'(

                Мое мнение таково:
                Линукс проигровает Виндовозу в "оперативности":
                1) Я пытался установить игрушку... При установки 6 мб игры возросли за 100мб софта необходимого для установки и запуска >:(
                2) После установки ALTLinux Master 2.2 мне пришлось выявлять цепь необходимых пакетов для нормальной работы никса (файл написанный на Перле для ускорения установки):
                ExpandedWrap disabled
                  #!/usr/bin/perl
                   
                  push @rpm, 'make-3.79.1-ipl6mdk.i586.rpm';
                  push @rpm, 'kernel-headers-common-1.0-alt2.noarch.rpm';
                  push @rpm, 'kernel24-headers-2.4.20-alt5.i586.rpm';
                  push @rpm, 'glibc-devel-2.2.6-alt0.6.i586.rpm';
                  push @rpm, 'libbfd-2.13.90.0.4-alt2.i586.rpm';
                  push @rpm, 'binutils-2.13.90.0.4-alt2.i586.rpm';
                  push @rpm, 'pkgconfig-0.15.0-alt1.i586.rpm';
                  push @rpm, 'cpp3.2-3.2.1-alt2.i586.rpm';
                  push @rpm, 'gcc3.2-3.2.1-alt2.i586.rpm';
                  push @rpm, 'libstdc++3.2-devel-3.2.1-alt2.i586.rpm';
                  push @rpm, 'gcc3.2-c++-3.2.1-alt2.i586.rpm';
                   
                  push @rpm, 'zlib-devel-1.1.4-alt2.i586.rpm';
                  push @rpm, 'libpng3-devel-1.2.4-alt5.i586.rpm';
                  push @rpm, 'libjpeg-devel-6b-ipl18mdk.i586.rpm';
                  push @rpm, 'libjpeg-utils-6b-ipl18mdk.i586.rpm';
                  push @rpm, 'freetype2-devel-2.1.2-alt2.i586.rpm';
                   
                  $| = 1;
                  $fglrx = 0;
                  $DFB_FS = 0;
                  $Clanbomber = 0;
                   
                  print 'Do you installed ATI Driver 3.9.0 on XFree86 4.2.0 [Y/N/E - exit]? ';
                  $str = <STDIN>; chomp $str;
                  if (length($str) > 0) {
                      $str = substr($str,0,1);
                          $fglrx = 1 if $str eq 'y' || $str eq 'Y';
                          exit if $str eq 'e' || $str eq 'E';
                  } else { $fglrx = 1; }
                   
                  print 'Do you installed DirectFB and FusionSound [Y/N/E - exit]? ';
                  $str = <STDIN>; chomp $str;
                  if (length($str) > 0) {
                      $str = substr($str,0,1);
                          $DFB_FS = 1 if $str eq 'y' || $str eq 'Y';
                          exit if $str eq 'e' || $str eq 'E';
                  } else { $DFB_FS = 1; }
                   
                  print 'Do you installed Clanbomber [Y/N/E - exit]? ';
                  $str = <STDIN>; chomp $str;
                  if (length($str) > 0) {
                      $str = substr($str,0,1);
                          $Clanbomber = 1 if $str eq 'y' || $str eq 'Y';
                          exit if $str eq 'e' || $str eq 'E';
                  } else { $Clanbomber = 1; }
                   
                   
                  foreach $rpms (@rpm) {
                          print $rpms,'... ';
                          system 'rpm -i '.$rpms;
                          print "installed\n";
                  }
                  chdir '/usr/src/';
                  system 'ln -s /usr/lib/kernel/include include';
                   
                  if ($fglrx == 1) {
                          print "Install ATI Driver 3.9.0 on XFree86 4.2.0... ";
                          chdir $ENV{'PWD'};
                          system 'rpm -i --force fglrx-4.2.0-3.9.0.i386.rpm';
                          print "installed\n";
                  }
                  if ($DFB_FS == 1) {
                          print "Install DirectFB... ";
                          mkdir '/root/SetALTM/';
                          chdir $ENV{'PWD'};
                          system 'tar -zxf DirectFB-0.9.20.tar.gz -C /root/SetALTM/';
                          chdir '/root/SetALTM/DirectFB-0.9.20/';
                          system 'sh configure';
                          system 'make';
                          system 'make install';
                          chdir '/usr/X11R6/lib/';
                      system 'ln -s /usr/local/lib/libdirectfb-0.9.so.20.0.0 libdirectfb-0.9.so.20';
                          print "installed\n";
                   
                          print "Install FusionSound... ";
                          chdir $ENV{'PWD'};
                          system 'tar -zxf FusionSound-0.9.19.tar.gz -C /root/SetALTM/';
                          chdir '/root/SetALTM/FusionSound-0.9.19/';
                          $ENV{'PKG_CONFIG_PATH'} = '/usr/local/lib/pkgconfig';
                      system 'sh configure';
                          system 'make';
                          system 'make install';
                          print "installed\n";
                  }
                  if ($Clanbomber == 1) {
                          print "Install Clanbomber (setup in /usr/local/bin/)... ";
                          mkdir '/root/SetALTM/';
                          chdir $ENV{'PWD'};
                          system 'tar -zxf clanbomber2-0.9.tar.gz -C /root/SetALTM/';
                          chdir '/root/SetALTM/clanbomber2-0.9/';
                          $ENV{'PKG_CONFIG_PATH'} = '/usr/local/lib/pkgconfig';
                      system 'sh configure';
                          system 'make';
                          system 'make install';
                          print "installed\n";
                  }
                  print "<<<<<<<<<<  ((((:))))  >>>>>>>>>>\n";
                  print "Change-over ATI Driver 3.9.0 on XFree86 4.2.0 - command: fglrxconfig\n" if $fglrx == 1;

                Но и этого нехвает для нормальной работы (без знания Перла я загнулся бы в Линукс)
                3) На Линукс не так много софта... (кому охота бесплатно катать проги?)

                Короче...
                Все-таки Виндук лучше!, как десктоп, но Линукс хорош, как сервер!!!
                  Цитата
                  2) После установки ALTLinux Master 2.2 мне пришлось выявлять цепь необходимых пакетов для нормальной работы никса (файл написанный на Перле для ускорения установки):


                  О отец русской демократии, открой для себя apt-get!
                    Цитата Keepun @
                    пришлось выявлять цепь необходимых пакетов для нормальной работы никса (файл написанный на Перле для ускорения установки)
                    Мдя... Такими скриптами только систему гробить. Особенно прикололо
                    ExpandedWrap disabled
                      system 'ln -s /usr/lib/kernel/include include';
                    И еще неплохо бы use strict и use warnings. А вообще, shell-скрипты рулят.
                      Цитата linuxfan @
                      Мда... Я бы тоже стал свои костыли для ведения логов придумывать... По-моему, весь Win32 API страдает гигантизмом -- каждаю функция стремится объять необъятное.

                      Ну, про Event-log-и Флекс сделал очень правильное замечание, довольно геморно их делать :yes:
                        По крайней мере, если чего-то не хватает, как правило в Linux процесс установки прерывается на этом чём-то с вполне конкретным сообщением. А в Windows бывает, программа вроде нормально установилась, но при запуске сообщает, что ей нужна какая-то DLL, не удосужившись при этом сообщить, что-же ей нужно.

                        А ещё, меня всё время прикалывает такой глюк в XP. По работе приходится постоянно сталкиваться с приложениями написанными ещё для DOS. С запуском большинства из них проблем нет, но в них почему-то не переключается раскладка клавиатуры. Причём на всех машина, где это наблюдалось, в качестве основной ещё при установке системы была выбрана английская раскладка. Лечится всего лишь изменением основной раскладки на русскую и запуском приложения. После этого в качестве основной можно опять выбрать английскую, всё продолжает работать.
                          amk
                          Цитата
                          раскладка клавиатуры


                          Да это вообще в винде пипец ! Мне надо было как то текст на немецком языке подправить. Стояла ХР и как всегда RU EN и никакого немецкого ... Ну и чего мне ради одного лишнего языка за дистрибутивом в фирму шагать (ХР была предустановлена) ? Не нормальное кино ?
                            Цитата s-mike @
                            Сам удивлялся поначалу!

                            Чему тут удивляться? Не зря же она столько места на винте хочет для установки.
                            А у best_lamer, может быть, была какая-нибудь урезанная версия.

                            Мне в ХР в переключении клавиатуры не нравится "тормознутость", т.е. переключается примерно 0,5 сек, а если машина что-то еще делает, то и дольше. Так бывало переключу, начинаю печатать, а она сначала в одной раскладке несколько букв, а потом в другой :o
                              Цитата Ho Im @
                              О отец русской демократии, открой для себя apt-get!

                              Можь ты мне объяснишь... :rolleyes:

                              Я читал об этой штуке, но при ее использовании у меня вышли файлы, суммарный размер которых ~300-500мб (целую СДушку по инету заливать мне не хочется >:( )!!!
                              Да, и можно этой штукой создать тектовой файл с УРЛами на файлы?

                              А самый болезненый вопрос стал, когда перешел с FAT32 (Win98) на NTFS (WinXP) - ни Линь, ни Винь друг друга не видят, а если показать, то писать и редактировать файлы не могут!!!

                              Relan, а как ты собрался ярлыки создавать??? (Как меня эти ссылки достали!!!)
                              Сообщение отредактировано: Keepun -
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:
                              Страницы: (1182) « Первая ... 63 64 [65] 66 67 ...  1181 1182
                              Закрыто kanes 17-02-2009: Введите причину закрытия темы здесь



                              Рейтинг@Mail.ru
                              [ Script execution time: 0.1736 ]   [ 15 queries used ]   [ Generated: 5.11.26, 01:21 GMT ]