Все познается в сравнении...

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Все познается в сравнении...

Сообщение Deimos » 10.03.2016 22:57:10

Что удобно в программировании и администрировании под разные системы и что нет?

Хотелось-бы увидеть конкретные примеры... и ваш опыт. с описанием (а вот-тут удобней!). Можно и абстрактные измышления )))
Deimos
постоялец
 
Сообщения: 169
Зарегистрирован: 17.01.2010 00:31:30

Re: Все познается в сравнении...

Сообщение debi12345 » 10.03.2016 23:35:56

Проще администрировать "красный шапка" чем "Вин Сервер"? Все зависит от знаний администрирования конкретной платформы. И там и там есть куча специфичных моментов...

Хм, а на Виндосе можно админить что либо кроме нетбиос-домена ? Ну-ну...

Вот простейшие утилитарные админские скрипты на Лине, достичь функционала которых на Выни запаришься...

Конвертер списка DNS-имен в список уникальных IP-адресов,с учетом варианта "много адресов на одном имени" (у хостов с балансировкой нагрузки - поисковиков и т.п.) :
Код: Выделить всё
#!/bin/sh
for server in `cat ./servers.url | egrep -ve "^[ t]*#"`; do
    sipcalc -d $server | awk -e 'BEGIN{host="";}{
   if (/^Hosts+addresss+-/) {
       host=$NF;
   }
   if ((host != "") && /^Networks+masks+(bits)s+-/) {
       print host"/"$NF;
       host="";
   }
    }'
done | sort -u > ./servers.ip
exit 0


А вот простенький (но нереализуемый на Вынь-серверах) анализатор статистики шэйпера траффика (по приоритеным классам) :
Код: Выделить всё
#!/bin/sh

ZS=1
if [ "$1" = "-z" -o "$2" = "-z" ]; then
    ZS=0
fi

SHT=0
if [ "$1" = "-t" -o "$2" = "-t" ]; then
    SHT=1
fi

DIR=/tmp/`date +%s%N`
if [ -d $DIR ]; then
    rm -f $DIR/monipt_rcvd_* $DIR/monipt_sent_* 2>/dev/null
else
    mkdir $DIR
fi

INTERVAL=2

while sleep $INTERVAL; do

DATA=`iptables -t mangle -nvxL | grep -A 1000 "Chain POSTROUTING" | awk -v DIR=$DIR -v SHOWTOTALS=$SHT -v ZERO_SKIP=$ZS -v INT=$INTERVAL 'BEGIN {
    RCVD=0;
    SENT=0;
}{
#   $1: сколько вошло в интерфейс
#   $2: сколько вышло из интерфейса
    if ($3 = "CLASSIFY") {
#       A[1]=<интерфейс и направление траффика через него>
#       A[2]=<класс шэйпера>
   split($NF,A,/:/);
   
   TCIF="*";
   if (A[1] == 1) {
       TCIF="WAN";
   } else
   if (A[1] == 100) {
       TCIF="WAN_in";
   } else
   if (A[1] == 2) {
       TCIF="LAN";
   } else
   if (A[1] == 102) {
       TCIF="LAN_in";
   } else
   if (A[1] == 3) {
       TCIF="DTN";
   } else
   if (A[1] == 103) {
       TCIF="DTB_in";
   } else
   if (A[1] == 4) {
       TCIF="INET";
   } else
   if (A[1] == 104) {
       TCIF="INET_in";
   } else
   if (A[1] == 5) {
       TCIF="DTNO";
   } else
   if (A[1] == 105) {
       TCIF="DTNO_in";
   }
   
   CLS="";
   if (A[2] == 1020) {
       CLS="INET_prio";
   } else
   if (A[2] == 1021) {
       CLS="INET_reg";
   } else
   if (A[2] == 1022) {
       CLS="INET_rest";
   } else
   if (A[2] == 1010) {
       CLS="TASIX_prio";
   } else
   if (A[2] == 1011) {
       CLS="TASIX_reg";
   } else
   if (A[2] == 1012) {
       CLS="TASIX_rest";
   } else
   if (A[2] == 104) {
       CLS="VPN";
   } else
   if (A[2] == 100) {
       CLS="CTL";
   }

   if ( CLS != "CTL") {
       MARK="non-classif";
   } else {
       MARK="ARP";
   }
   if (($10 == "connmark") ||($10 == "mark"))  {
       if ($10 == "connmark") {
      mark_s="mark(CN)";
       } else {
      mark_s="mark(FW)";
       }
       if ($12 == "0x65") {
      MARK="AVAST";
       } else
       if ($12 == "0x2") {
      MARK="STUNNEL";
       } else
       if ($12 == "0x3") {
      MARK="GIT_SSH";
       } else
       if ($12 == "0x8") {
      MARK="BT_CTL";
       } else
       if ($12 == "0x5") {
      MARK="PENSION";
       } else
       if ($12 == "0x7") {
      MARK="IPADDR";
       } else
       if ($12 == "0x6") {
      MARK="MACADDR";
       } else
       if ($12 == "0x42") {
      MARK="MACADDRLP";
       } else
       if ($12 == "0x64") {
      MARK="ANTIVIR";
       } else
       if ($12 == "0x69") {
      MARK="P2P";
       } else
       if ($12 == "0x66") {
      MARK="EXT";
       } else
       if ($12 == "0x67") {
      MARK="ALOQA";
       } else
       if ($12 == "0x68") {
      MARK="UZDTV";
       } else
       if ($12 == "0x6b") {
      MARK="HIGH_PRIO";
       } else
       if ($12 == "0x72") {
      MARK="TASIX_prio";
       } else
       if ($12 == "0x73") {
      MARK="TASIX4IP";
       } else
       if ($12 == "0x74") {
      MARK="TASIX4MAC";
       } else
       if ($12 == "0x75") {
      MARK="TASIX4IP_P2P";
       } else
       if ($12 == "0x76") {
      MARK="TASIX4MAC_P2P";
       } else
       if ($12 == "0x6a") {
      MARK="VPN";
       } else
       if ($12 == "0xc8") {
      MARK="ICMP_ACK64";
       } else
       if ($12 == "0xc9") {
      MARK="INET_VNC";
       } else
       if ($12 == "0x12c") {
      MARK="ACCEPT";
       } else
       if ($12 == "0x195") {
      MARK="INET_GREEDY";
       } else
       if ($12 == "0x197") {
      MARK="HIGH_PRIO";
       } else
       if ($12 == "0xca") {
      MARK="IP_TLG_WORK";
       } else
       if ($12 == "0xcb") {
      MARK="IP_TLG_CHECK";
       } else
       if ($12 == "0x1a1") {
      MARK="TASIX4IP_GREEDY";
       } else
       if ($12 == "0x1a2") {
      MARK="TASIX4MAC_GREEDY";
       }
   } else
   if (($10 == "length") && ($11 == "0:64")) {
       MARK="TCP_ACK";
   }

   FNR=DIR"/monipt_rcvd_"MARK"_"TCIF;
   if (system("ls "FNR" 2>/dev/null 1>/dev/null") != 0) {
       print "0n" > FNR;
   }
   getline RCVD < FNR;

   FNS=DIR"/monipt_sent_"MARK"_"TCIF;
   if (system("ls "FNS" 2>/dev/null 1>/dev/null") != 0) {
       print "0n" > FNS;
   }
   getline SENT < FNS;
   if ( (RCVD > 0) || (SENT > 0) ) {
       if (!( ZERO_SKIP && ($1 == RCVD) && ($2 == SENT)) ) {
      if (SHOWTOTALS) {
          printf "=>%-6s=>%6s=> : "mark_s"= %-16s => class= %-10s rcvd/sent:  speed %.1f/%.1f kBit/s (total of %d/%d bytes)n", $6,$7,MARK,CLS,(($1-RCVD)*8)/(1000*INT),(($2-SENT)*8)/(1000*INT),$1,$2;
      } else {
          printf "=>%-6s=>%6s=> : "mark_s"= %-16s => class= %-10s rcvd/sent:  speed %.1f / %.1f kBit/sn", $6,$7,MARK,CLS,(($1-RCVD)*8)/(1000*INT),(($2-SENT)*8)/(1000*INT);
      }
       }
   }
   print $1 > FNR;
   print $2 > FNS;
    }
}' | sort -u`
if [ -n "$DATA" ]; then
    echo "----------------------"
    printf "$DATAn"
else
    echo "collecting data.."
fi
done

exit



Добавлено спустя 6 минут 45 секунд:
Оффтон для расслабона.... Хорошо гибким котам - у них нет проблем со спарринг-партнером для кик-боксинга:
Изображение
:)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Все познается в сравнении...

Сообщение Vadim » 11.03.2016 05:39:19

debi12345
Только про последний скрипт не забудьте сказать, что на Фрюхе он работать не будет. :-)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Все познается в сравнении...

Сообщение debi12345 » 11.03.2016 08:18:58

Только про последний скрипт не забудьте сказать, что на Фрюхе он работать не будет.

Из-за того, что там вместо IPTABLES+QOS другая связка "ядро-утиилиты" ?
(на самом деле и на Вынь можно поставить либо нативные UNIX-утиллиты, либо вообще накатить CygWin - но безе завязок в ядре ОС польза от этих утиллит конкретно для админов невелика)

ПС: на Фрюхе героически сражаются за достижение функционала Линукса истинные фанаты-естеты :) Один мой знакомый админ сумел продержаться аж 5 (!) лет - но все равно пришел день, когда он позвонил с вопросом "А у тебя есть NETINST для последнего DEBIANa?"
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Все познается в сравнении...

Сообщение Mikhail » 11.03.2016 11:30:36

debi12345 писал(а):Хм, а на Виндосе можно админить что либо кроме нетбиос-домена ? Ну-ну...

Что такое нетбиос-домен? :?

А вообще средств там для администрирования достаточно, кроме gui. wsh, adsi, wmi, powershell ну и cmd :D
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: Все познается в сравнении...

Сообщение debi12345 » 11.03.2016 11:47:10

А вообще средств там для администрирования достаточно, кроме gui. wsh, adsi, wmi, powershell ну и cmd

Все правильно. Отличия есть в стиле администрирования и затрачиваемом времени и усилиях (= производительности труда) - виндовый админ все время в делах и на виду у начальства, а у линуксового админа все автоматизировано - поэтому он выглядит наглым бездельником, приходящим на работу поразвлечься и отдохнуть.
Грубо говоря, Линукс есть икона и квинэссенция IT-шной лени, базовая мотивация его развития - "вот здесь трудная операция, давайте ее атоматизируем и облегчим.." :)

Добавлено спустя 4 минуты 23 секунды:
К примеру у нас в конторе не сетка, а сущий гетерогенный несколько-уровневый ужас, но после автоматизации лично я трачу на ее поддержание в лучшем случае 5 минут в неделю (но внедрение и тестирорование новых фишек может занять 1..2 напряженной работы)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Все познается в сравнении...

Сообщение Mikhail » 11.03.2016 11:58:36

debi12345 писал(а): Отличия есть в стиле администрирования и затрачиваемом времени и усилиях (= производительности труда) - виндовый админ все время в делах и на виду у начальства, а у линуксового админа все автоматизировано - поэтому он выглядит наглым бездельником, приходящим на работу поразвлечься и отдохнуть.


Спорно, но то что писать скрипты может не каждый win-админ это факт. А некоторые, "компьютерщеги" даже не догадываются о такой возможности. :D
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: Все познается в сравнении...

Сообщение Лекс Айрин » 11.03.2016 12:12:51

Возможно, у меня маленькая сетка, но пока все работает и без выделенных серверов. (за исключением принтера) И что-то не чувствую себя в качестве win-админа сильно занятым. Даже скрипты не требуются.

Добавлено спустя 1 минуту 24 секунды:
хотя, конечно, в линуксоидной сетке было бы чуть поменьше геморроя.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Все познается в сравнении...

Сообщение sts » 11.03.2016 12:21:27

debi12345 писал(а):Вот простейшие утилитарные админские скрипты на Лине, достичь функционала которых на Выни запаришься...

кот отлично иллюстрирует написание скриптов под линь
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

Re: Все познается в сравнении...

Сообщение azsx » 11.03.2016 12:58:03

хотя, конечно, в линуксоидной сетке было бы чуть поменьше геморроя.

интересно почему?
---
для меня администрирование никс и вин отличается одним простым фактом. К настройкам на вин машине отдельно или какой либо системе в целом можно придти не только не зная этой машины или системы, но (внезапно) даже не разбираясь в чем собственно дело. Достаточно знать результат какой хотят получить и образно представлять как обычно этот результат настраивается. Так как у вин очень мало настроек которые реально влияют на работоспособность системы очень часто можно решить проблему установив всё по умолчанию (переставив винду) или просто подобрав методом научного тыка рабочие параметры.
В отличии от винды, линукс в любой программе может иметь кучу настроек, да еще и в текстовом виде (или в аналоге реестра, ваще свет тушите). В линукс почти никогда не получается натыкать решение за часик перебора. Всегда надо точно знать что и для чего вы делаете.
Если вспомнить, что многие проблемы в линукс весьма необычны, то для меня лично сервера на никс работают чуть более стабильно, но зато ломаются уж наверняка! Лично мне настраивать линукс в разы сложнее.
зы
а насчет скриптов не согласен, просто сами по себе проги от майкрософт редко ориентированы на консоль.
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Все познается в сравнении...

Сообщение debi12345 » 11.03.2016 13:09:20

но зато ломаются уж наверняка! Лично мне настраивать линукс в разы сложнее.

Они (если без Иксов) в бэкапе занимают смешное место. А если на сервере нет БД, то как мини-вариант бэкапа - можно снять список пакетов,которые нужно установить после установки Линя, содержимое каталогов настроек (/etc и /usr/local), а также актуальное ядро (каталог /boot).
ПС: также большой плюс Линя (с правильным ядром) - стартует на любой аппаратуре. Приготовил и настроил все на одной машине (как правило - переклонировал GHOSTом ), установил винт на другую машину - и вуаля.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Все познается в сравнении...

Сообщение Mikhail » 11.03.2016 13:25:58

azsx писал(а):В отличии от винды, линукс в любой программе может иметь кучу настроек, да еще и в текстовом виде (или в аналоге реестра, ваще свет тушите). В линукс почти никогда не получается натыкать решение за часик перебора. Всегда надо точно знать что и для чего вы делаете.


В windows тоже много настроек, просто большинство из них недоступно из гуя. :) Для настройки линукса требуется более высокая квалификация - бесспорно. Хотя и для него есть много гуй(веб)-конфигурилок.
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: Все познается в сравнении...

Сообщение debi12345 » 11.03.2016 13:30:10

Для настройки линукса требуется более высокая квалификация - бесспорно

Не-а. Один раз нашел решение, настроил, ОБЯЗТЕЛЬНО И ПОДРОБНО прокомментировал прямо в файле настроек...
Для Выни в этом случае нужно вести целый дневник со скриншотами.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Все познается в сравнении...

Сообщение Mikhail » 11.03.2016 13:41:32

debi12345 писал(а):
Для настройки линукса требуется более высокая квалификация - бесспорно

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

Не согласен. Не нужно никакого дневника со скриншотами. Крутилок в гуе, как правило, намного меньше - поэтому проще. А файле настроек их много и нужно разобраться с каждой :) , тем более что унификация от программы к программе в структуре файла настройки низкая. Нередко файл настройки это, по сути, скрипт. :)
Mikhail
энтузиаст
 
Сообщения: 565
Зарегистрирован: 24.10.2013 16:06:47

Re: Все познается в сравнении...

Сообщение Лекс Айрин » 11.03.2016 13:58:27

azsx писал(а):интересно почему?


в винде, в зависимости от настроек, машины могут пропадать из сети. В линуксе же встраивание в сетку (фактически любую) считается нормой. конечно, для гетерогенных сетей придется доставлять пакеты, но, допустим, в убунте система сама говорит какие.
Только на той неделе пытался понять почему win-машина в win-only сетке не может зайти на другую машину... не разобрался (не то, чтобы не мог... просто не слишком нужно). причем, в обратном направлении все нормально. (комп менялся на другой из-за поломки)

Когда я подключал в сетку свою домашнюю машину, то она работала нормально по умолчанию, даже если ее не вводили в группу. Введенная в группу ничем, внешне, не отличалась от других. В том числе, подхватывала принтер.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

След.

Вернуться в Потрепаться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru
cron