Форум рыбаков

Курилка => Курилка Рыбака => Тема начата: GhOsT_MZ от 25 мая 2012, 11:48:17

Название: IT-курилка
Отправлено: GhOsT_MZ от 25 мая 2012, 11:48:17
Всем привет!
Уже давно были предложения о создании специальной темы IT-специалистов и специалистов около IT-индустрии, но они не увенчались успехом. В связи с жесточайшим оффтопом в "кампутерной" теме, в котором и я участвовал, решил собрать нас, оффтоперов, приближенных к IT-сфере, в одной теме - этой.
В принципе, назначение темы - не предоставление возможности облить друг друга грязью, а обмен опытом, обсуждение новостей, обмен ссылками на интересные статьи и другие материалы. Хотелось бы, чтобы тема была популярна, что вполне вероятно, ибо людей, интересующихся данной сферой, на этом форуме не мало, и их количество постоянно растет, судя по тому, что пишут в теме "Профессии".
Собственно, начну обмен полезными ссылками ссылкой, полезной для пользователей/администраторов *nix-like систем:
http://cb.vu/unixtoolbox.xhtml
Название: Re: IT-курилка
Отправлено: bottica от 25 мая 2012, 14:33:59
Даже страшно как-то заходить. :o
Да не был он "жесточайшим", почирикали немного, придерживаясь темы. За ссылку спасибо, добавил в букмарки.
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 25 мая 2012, 14:35:56
Куда страшно заходить?)
Ага, "легкий оффтоп" - криков на 2-3 странице с полным игнором топикстартера)) Страшно представить, что такое "жесткий оффтоп")

Чисто для поржать можно почитать комментарии:
http://www.linux.org.ru/news/bsd/7669861
Название: Re: IT-курилка
Отправлено: bottica от 25 мая 2012, 14:53:58
Цитата: GhOsT_MZ от 25 мая 2012, 14:35:56
Куда страшно заходить?)
В тему/АйТи-курилку.
Название: Re: IT-курилка
Отправлено: nubrik от 25 мая 2012, 23:51:50
 :offtopic:
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 07 июля 2012, 16:07:36
Добрался таки до книжки CCNA. Читаю про serial-интерфейсы. Не могу понять одного - какая скорость работы возможна? Пытался порыться в википедии, и что-то не увидел подобной информации... Может кто в курсе, какая максимальная скорость достижима на этом интерфейсе? И хотелось бы узнать природу опций clock rate, bandwidth в настройках этих интерфейсов на маршрутизаторах cisco...
Название: Re: IT-курилка
Отправлено: YaLazarev от 16 августа 2012, 01:27:14
Стоим. Курим.  :smoke: Специализируюсь на юзабилити и рекламе. Есть чо?  ;D
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 21:35:50
Есть ли тут народ, знающий Си? Есть вопрос, по идее простой, но самому разобраться не удается...(
Название: Re: IT-курилка
Отправлено: BRE от 02 апреля 2013, 21:40:05
Цитата: GhOsT_MZ от 02 апреля 2013, 21:35:50
Есть ли тут народ, знающий Си? Есть вопрос, по идее простой, но самому разобраться не удается...(
Давай. :)
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 21:50:30
Оке. Расклад такой. Есть фря. У нее есть несколько утилит для выключения/перезагрузки системы: fastboot, fasthalt, reboot, halt, poweroff, shutdown.
Первые 4 - это одно и тоже, собираются из одного исходника, но в Makefile есть параметр LINKS, который "тиражирует" этот файлик. MD5-хзши само собой совпадают.
Аналогичная ситуация и с poweroff/shutdown - они тоже идентичны.
А теперь самое интересное. В shutdown.c есть такой код:
Цитировать
126              if ((p = rindex(argv[0], '/')) == NULL)
127                   p = argv[0];
128           else
129                   ++p;
130           if (strcmp(p, "poweroff") == 0) {
131                   if (getopt(argc, argv, "") != -1)
132                           usage((char *)NULL);
133                   argc -= optind;
134                   argv += optind;
135                   if (argc != 0)
136                           usage((char *)NULL);
137                   dopower = 1;
138                   offset = 0;
139                   (void)time(&shuttime);
140                   goto poweroff;
141           }
Тут понятно, смотрим какой экземпляр запустили и выполняем действие. Своего рода "эмуляция" наличия ключей командной строки.
А вот как оно работает для reboot?
Есть такая штука:
Цитировать
74           if (strstr((p = rindex(*argv, '/')) ? p + 1 : *argv, "halt")) {
75                   dohalt = 1;
76                   howto = RB_HALT;
77           } else
78                   howto = 0;
79           lflag = nflag = qflag = 0;
80           while ((ch = getopt(argc, argv, "dk:lnpq")) != -1)
81                   switch(ch) {
82                   case 'd':
83                           howto |= RB_DUMP;
84                           break;
85                   case 'k':
86                           kernel = optarg;
87                           break;
88                   case 'l':
89                           lflag = 1;
90                           break;
91                   case 'n':
92                           nflag = 1;
93                           howto |= RB_NOSYNC;
94                           break;
95                   case 'p':
96                           howto |= RB_POWEROFF;
97                           break;
98                   case 'q':
99                           qflag = 1;
100                           break;
101                   case '?':
102                   default:
103                           usage();
104                   }
105           argc -= optind;
106           argv += optind;
То есть, мы проверили halt ли мы и все, а дальше перебираем параметры командной строки, как ни в чем ни бывало.
Более того, функция usage выглядит так:
Цитировать223   usage(void)
224   {
225   
226           (void)fprintf(stderr, dohalt ?
227               "usage: halt [-lnpq] [-k kernel]\n" :
228               "usage: reboot [-dlnpq] [-k kernel]\n");
229           exit(1);
230   }
То есть, кроме halt и reboot ничего не предусмотрено. Но, как же fast*? Дань наследия труЪ-юникс или я что-то не досмотрел? Да и смотрел начиная с первых версий фрей (1994 год), нету там fasthalt/fastboot.
Собственно, сорсы тут:
http://svnweb.freebsd.org/base/release/9.1.0/sbin/reboot/reboot.c?revision=243808&view=markup
Название: Re: IT-курилка
Отправлено: BRE от 02 апреля 2013, 22:01:03
Так ты сделай fastboot -? и посмотри что он выведет.
Если
usage: reboot [-dlnpq] [-k kernel

то и вопросы все отпадут. :)

P.S. По твоим кускам кода, проверяется только halt, все остальное будет расцениваться как reboot.
А вот что такое во фре fastboot и fasthalt не знаю.

Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 22:04:30
Цитата: BRE от 02 апреля 2013, 22:01:03
Так ты сделай fastboot -? и посмотри что он выведет.
Если
usage: reboot [-dlnpq] [-k kernel

то и вопросы все отпадут. :)

P.S. По твоим кускам кода, проверяется только halt, все остальное будет расцениваться как reboot.
А вот что такое во фре fastboot и fasthalt не знаю.
Ну как я и предполагал, да и уже нашел что это) Это оказывается такая забавная штука, как alias) Надо было ман внимательней читать) Хотя, по поводу манов вопрос далеко не однозначный, сейчас сопоставляю ман по reboot с исходниками, что-то оно там не сходится...
Название: Re: IT-курилка
Отправлено: BRE от 02 апреля 2013, 22:11:25
Цитата: GhOsT_MZ от 02 апреля 2013, 22:04:30
Ну как я и предполагал, да и уже нашел что это) Это оказывается такая забавная штука, как alias) Надо было ман внимательней читать) Хотя, по поводу манов вопрос далеко не однозначный, сейчас сопоставляю ман по reboot с исходниками, что-то оно там не сходится...
man'ы часто далеко отстают от софта. :)
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 22:17:32
Цитата: BRE от 02 апреля 2013, 22:11:25
man'ы часто далеко отстают от софта. :)
Ну не настолько же))
Цитировать-n      The file system cache is not flushed.  This option should proba-
        bly not be used.


     -q      The system is halted or restarted quickly and ungracefully, and
        only the flushing of the file system cache is performed (if the
        -n option is not specified).  This option should probably not be
        used.
То есть, -q быстро завершает работу, но делает вызов sync(). -n - не дает делать sync().
По коду:
Цитировать108           if ((howto & (RB_DUMP | RB_HALT)) == (RB_DUMP | RB_HALT))
109                   errx(1, "cannot dump (-d) when halting; must reboot instead");
110           if (geteuid()) {
111                   errno = EPERM;
112                   err(1, NULL);
113           }
114   
115           if (qflag) {
116                   reboot(howto);
117                   err(1, NULL);
118           }
.....
154           if (!nflag)
155                   sync();
.....
212           reboot(howto);
То есть, если -q - мы сразу же после определения параметров выполним системный вызов reboot(), который потом убъет наш процесс и мы так и не дойдем до вызова sync(), который так обещали... То есть, мы надеемся, что не проипем инфу на винте, сделав reboot -q, а тут на тебе, синка нету, и мы получаем фарш вместо последних записанных данных)
Название: Re: IT-курилка
Отправлено: BRE от 02 апреля 2013, 22:34:07
Цитата: GhOsT_MZ от 02 апреля 2013, 22:17:32
То есть, мы надеемся, что не проипем инфу на винте, сделав reboot -q, а тут на тебе, синка нету, и мы получаем фарш вместо последних записанных данных)
Ну а кто не ошибается... :)
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 22:35:55
Цитата: BRE от 02 апреля 2013, 22:34:07
Ну а кто не ошибается... :)
Аргумент))) Особенно для продакш систем))
Название: Re: IT-курилка
Отправлено: BRE от 02 апреля 2013, 22:39:10
Цитата: GhOsT_MZ от 02 апреля 2013, 22:35:55
Аргумент))) Особенно для продакш систем))
Ты венду сразу вспоминай, вот где продакшен... :)
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 02 апреля 2013, 22:44:34
Цитата: BRE от 02 апреля 2013, 22:39:10
Ты венду сразу вспоминай, вот где продакшен... :)
Не, ну почему, если грамотно настроить, то оно работоспособно. Но, как показывает практика, это могут сделать далеко не все (я не в числе тех, кто может).
Кстати, как-то были косяки с работой сети, помогал по аське чуваку. Меня убил вывод ipconfig /all. Когда спросил, кто это сделал, сказали, что сертифицированный специалист)
Собственно, вывод ipconfig для поржать (даже сохранил, ибо без пяти минут мем):
ЦитироватьC:\Documents and Settings\Administrator.ural>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : nt007
   Primary Dns Suffix  . . . . . . . : ural.ru
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : ural.ru

Ethernet adapter Local Area Connection 2:

   Connection-specific DNS Suffix  . : ural.ru
   Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration #2
   Physical Address. . . . . . . . . : 00-1D-60-D6-07-21
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IP Address. . . . . . . . . . . . : 172.16.3.75
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.16.3.1
   DHCP Server . . . . . . . . . . . : 172.16.3.3
   DNS Servers . . . . . . . . . . . : 172.16.3.3
                                       172.16.3.4
                                       172.16.3.5
   Primary WINS Server . . . . . . . : 172.16.3.3
   Lease Obtained. . . . . . . . . . : 22 сентября 2011 г. 16:06:17
   Lease Expires . . . . . . . . . . : 26 сентября 2011 г. 16:06:17

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection with I/O Acceleration
   Physical Address. . . . . . . . . : 00-1D-60-D6-07-20
   DHCP Enabled. . . . . . . . . . . : No
   IP Address. . . . . . . . . . . . : 172.16.3.3
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.16.3.1
   DNS Servers . . . . . . . . . . . : 172.16.3.3
   Primary WINS Server . . . . . . . : 172.16.3.3
Внимательно смотрим DNS-сервера по интерфейсам и как и где интерфейсы получают адреса)
Название: Re: IT-курилка
Отправлено: GhOsT_MZ от 14 мая 2013, 21:54:59
Эх... IT-шники уже не те пошли... обиднамана аж
http://forum.lissyara.su/viewtopic.php?f=53&t=39357