Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2012-03-11 00:39:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
AHCI! - будьте здоровы!
     Фантазия "погромистов" меня иногда впечатляет. Причём, что обидно - не индусов с быдлокодом, а нормальных, но именно что "с развитой фантазией".
     Вот, скажем, много лет назад понадобилось мне регулярно перекодировать из KOI-8 в 866 "в батничке" (не спрашивайте зачем - тогда вообще динозавры бегали по ещё не остывшей поверхности планеты, а KOI-8 кое-кем считалась даже "довольно удачной" кодировкой). Задача-то тривиальная, "программа на три строчки", но самому писать лениво, поэтому скачал и заюзал какую-то утилиту "перекодировки изо всего во всё" - она ж по определению тривиальная, глючить там просто негде. А потом до-олго искал, почему иногда (редко-редко, этак раз в месяц) перекодируется только часть текста. Нашёл - оказывается, это документированная но неотключаемая фича: встретив в тексте значок "тильда" (~) перекодировка отключается, на второй тильде - включается обратно. В документации так и было написано, мол "а если вам нужно, чтобы часть текста не перекодировалась - обнесите её тильдами". Пришлось сносить "перекодировщик" нафиг, и то-ли писать свой (точно без таких вот фич), то-ли искать нормальный - давно дело было, не помню уже.

     А сегодня делал "батничек", в котором по ходу дела требовалось впечатывать текст в jpeg-файл. Нашёл командлайновую утилитку - хорошую, в меру развесистую, в меру простую, даже lossless (в тех местах, где текст не впечатывается), погонял на тестовых картинках (они, собственно, реальные, просто не в реальном времени получались) - на них всё блестяще работало, запустил на реальном потоке. Получил тотальную забастовку программы и пачку уведомлений вида "Ignoring Input File: %s since it looks like it was created by this program itself", прифигел. До-олго разбирался в чём дело (если отложить "ошибочный" файлик в сторону - всё работает, а вот "с пылу с жару" - нифига), грешил на то, что свежий файл какое-то время остаётся залочен программой, его создавшей, но после того, как получил аналогичную ошибку даже скопировав файл на новое место (копия-то точно не залочена) - задумался уже сильно.
     Оказалось, что авторы программы считают, что файл "создан ей же" в том случае, если файл... моложе 15 секунд от роду! Через 15 секунд - можно, а прямо вот так - нельзя, естественно "на консервах" всё прогоняется отлично, а на свежих данных - опаньки. ЧСХ - фича, разумеется, неотключаемая:

            if(!stat(inpFile, &fileInfo) && g_startTime-15 <= fileInfo.st_mtime &&
               fileInfo.st_mtime <= 15+time(NULL))
            {
                cp = g_errorPrefix;
                g_errorPrefix = "";
                JDSTMP_ERROR("--- Ignoring Input File: %s since it looks like 
                                  it was created by this program itself\n", inpFile);
                g_errorPrefix = cp;
                retVal = 1;
            }

     Разбираться и "пересобирать", конечно, не стал, вставил в батник  touch -d "1 day ago" %%i  (авторы touch тоже, кстати, жгут - документации по формату ключа -d в манах нет, хотя как можно видеть - он зело хитёр и нетривиален), хожу впечатлённый от логики: ну ведь правда же, логично, что всё то, что ты успел увидеть первым (в течении 15 секунд от рождения) - твоё по праву первого увидевшего, а то, что ты упустил из рук более чем на 15 секунд - больше не твоё?

     И куча скучного железячно-софтовогого лытдыбра:

     1. Современные материнки по дефолту часто имеют SATA контроллер в режиме эмуляции IDE (это точно со всеми работает), AHCI нужно включать. Если поставить XP на контроллер в режиме IDE - после переключения в AHCI XP не грузится: драйверов нет. Если взять драйвера, и, как советуют в интернете, привязать их силком к контроллеру - то... как повезёт: у кого-то грузится, у меня "не берёт", мол "куда ты это пихаешь, тут такого железа вообще нету".
     А если ставить XP с "фирменного" дистрибутива при включённом AHCI - то драйвера надо подсунуть при установке, нажав F6. Подсунуть - на 3.5" дискетке, ага! Без вариантов: никаких вам флэшек и сидюков, или давай дискету, или "у вас тут вообще дисковых устройств нету". А у меня даже контроллера-то дискетного в чипсете нет (и не вспоминайте про USB-дисководы!) :-)
     Поскольку AHCI хотелось (NCQ там, "и вообще"), проблема решилась процедурой "интеграции драйверов в дистрибутив", но просьба вставить дискету - порадовала (я до последнего момента верил, что всё-таки можно будет подсунуть флэшку) :-)

     2. Также держу в руках артефакт. USB3.0 PCI-e 1x контроллер. Спокойно работающий под win7 (внешний USB 3.0 HDD через него увидел и прочитал), а под XP (на другой машине, правда) - не обнаруживающийся вообще, даже как "неизвестное устройство", как будто и нет в слоте ничего. Может, конечно, слот битый, но странно как-то. На неделе продолжу эксперименты...

     3. Также за эти праздники "поставлена на боевое дежурство" в новый компьютер PCI платка (четырёхканальный захват видео). Два дня из трёх понадобилось на то, чтобы "сделать чтобы не висло". А чтобы не висло - оказалось нужным заменить один блок питания на другой почти такой же (450Вт Noname Vento на 450Вт FSP), навесить на шины +5В и +12В пучок кондёров, и переставить плату из второго PCI слота в третий. Откат любого действия (отцепляем пучок кондёров, или возвращаем оригинальный БП, или переставляем плату взад) - зависание (без "синьки", просто всё замерзает) за время от 15 минут до 2-3 часов, если вынуть плату совсем - ничего не виснет. При этом первые два пункта (БП и кондёры) - чётко "нехватка питания", но блин - это ж сопливая PCI платка с четырьмя небольшими чуть тёплыми микросхемами без радиаторов, какое нафиг "питание", особенно в таких масштабах?!

     4. В процессе "переливания файлов из пустого в порожнее" обнаружил 2.5 гигабайта несвежих логов прокси (логи компактные, один запрос - одна строка). "Они там от основания мира что-ли" - подумал я, и посмотрел повнимательнее. Оказалось, всего за три месяца.
     А всего-то - я когда-то по причинам историко-политического характера завернул торрент, чтобы он ходил через прокси, и он при относительно небольшом суммарном трафике, поназапрашивал такое количество HTTP CONNECT (около 150000 в сутки), что логи как-то резко стали большими... :-)

     5. А вот перевод квартирной локалки на гигабит эзернет - порадовал. Всех делов - снять со стены 100Мб свитч, повесить гигабитный (контроллеры в компьютерах уже интегрированные, старая cat5e проводка вполне подошла) - и вуаля: скорость сетевого диска теперь слабо отличается от локального (а ещё характерный "треск" раздаётся теперь в другом месте, где меня нет) :-) Есть небольшие радости в этой современной компьютерной технике :-)


(Читать комментарии) - (Добавить комментарий)


[info]dibr@lj
2012-03-11 07:00 (ссылка)
Ты просто не в курсе про настоящий уровень разгула некрофилии на этой машине :-) Там массово используются досовые программы, одна из них - активно работает с ком-портом (фидошка с диал-апом, да). И заменять этот клубок червей стройную систему костылей и подпорок, скреплённую двумя десятками батничков, на что-то более современное (ну, хотя бы более близкое к концу XX века) - оййй как не хочется (потому что конфигурацию я переносить буду неделю, не меньше)...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]nicka_startcev@lj
2012-03-11 07:23 (ссылка)
тогда - проще с нуля собрать "что-то на линуксе" типа "binkd+qico+hpt + `golded+`"/ бинкд - для инет-фидо, кико - для модема.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-11 09:29 (ссылка)
Ага. Проще. С нуля. На другой софт. На линуксе. Конфиги перенести, базу переконвертировать. С софта, настройкой которого я всерьёз не занимался несколько лет, на софт, который я в глаза не видел, работающий по технологии, созданной по заветам гея-анархиста, что очень ощущается в, тсзть, архитектуре всего этого "пидонета".

Нет, если упереться рогом - то можно. За месяц вечерами, или за неделю - если взять отпуск (да, я оптимист, и считаю что освоение и собственно линукса, и софта, можно в моём случае уложить в такие сроки). Вот только НАХРЕНА, простите, если решение 1995 года уже работает, и проработает ещё десять лет - а к тому моменту его можно будет уже спокойно вынести на помойку вместе с железкой?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]nicka_startcev@lj
2012-03-11 11:34 (ссылка)
так виндовые решения тоже, по факту, не бесплатны.
хоть в винде начальные вложения меньше, но на поддержание ,типично, тратится больше времени.

Но каждый сам выбирает, да.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-11 14:48 (ссылка)
Тэ-Ка-О античного фидософта? Ну-ну :-)

На всякий случай уточню свою позицию. Если бы я делал "чисто интернет сервер" (прокси-нат-smb-httpd-ftpd-whatever) - я бы вполне вероятно забил бы на винду (один фиг половина виндового серверного софта и мешок мелких утилит тянуты с юникса), и поставил бы... нет, не линукс - скорее freeBSD: там есть радость в виде Одного Дистрибутива, и она изначально более заточена именно под "небольшие сервера" (кстати, лет так, эээ, чуть более десяти, стояла у меня бздя, именно роутером-натом-httpd-ftpd). Если бы я собирал фидоузел сейчас и с нуля (без каких-то предварительных знаний о каком-то конкретном фидософте, в самом деле с нуля) - я бы это делал "на сервере", и вполне вероятно оно тоже было бы unix-based (читалкой был бы голдед, но он на рабстанции, потому не считается).

Но! Есть "система" (набор софта - не только фидошного, разумеется, просто "досовая" фидошка потянула за собой винду, винда - виндовый софт), которая, последовательно переезжая с 386dx40 на 486dx2/66, AMD k5-75, "пентиум-ММХ 150", AMD Athlon 1800, была отлажена и вылизана до состояния "всё работает, очень редко требуется минимальное вмешательство". Оно работает, лет так, эээ, 16 кажется - и особого внимания не требует (вмешательство чаще требуется на тему "хочу фичу" или "блин, опять менять роутинг и переподписываться, вечно в этом фидо бардак", чем на тему "что-то глюкануло, надо исправить"). Есть опыт настройки и эксплуатации вполне конкретного досового и виндового софта. Есть, в конце концов, куча "батничков", всё это поддерживающих на плаву - та же фидошка ведь "изкаробки" не заработает, придётся объяснять софту кто тут где и зачем, и как кого звать когда нужно. Ну, а сейчас оно с минимумом переделок (но с некоторыми добавлениями - если бы их не было, того dx2/66 хватило бы до сих пор), переехало на "новое, двухъядерное" - и работает спокойно, разве что вот железо глючит.

А теперь предлагается всё это выкинуть, и создать заново с нуля? Отличная идея, лет десять назад я вполне возможно так бы и сделал! А сейчас повторю свой вопрос: А НАХРЕНА?! "Небесплатность по факту виндовых решений"? Я этого не понимаю: винда пиратская, фидософт бесплатный, остальной софт тоже free или shareware, при этом ВСЁ ЭТО УЖЕ РАБОТАЕТ ГОДАМИ И КУШАТЬ НЕ ПРОСИТ! А вот для перехода под линукс/бздю понадобится "всё разрушить", и угробить минимум несколько дней (я оптимист, да) на то, чтобы разобраться с нуля в новом софте - фактически, заново в ударном темпе собрать все те грабли, которые уже были собраны ранее с досом/виндой. А ЗАЧЕМ?!

Так что "каждый выбирает", да. Я в последнее время всё чаще выбираю девиз "работает - не трогай!". А уж "работает годами без глюков? сломай и переделай принципиально по другому!" - точно не для меня. Хотя иногда это правильное решение - но точно не в этом случае: я очень надеюсь, что с последним апгрейдом я забуду о том, что что-то бывает нужно добавлять и перенастраивать лет на несколько. А там, глядишь, и фидошка помрёт...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]nicka_startcev@lj
2012-03-11 15:11 (ссылка)
предлагается ничего не трогать сейчас, но когда потом придется двадцать раз внести "мелкое" изменение, то, возможно, подумать, скомпоновать их в один блок и волевым усилием сменить платформу на более удобную.

У меня, например, дома локалка на примерно 7 компов. За двумя из них бывают "неквалифицированные пользователи". Время от времени приходится вычищать вирусню с родительского компа, вычищать ту же вирусню с файлсервера, вычищать блокировщики, апгрейдить антивирус, бороться с глюками, вызванными интерференцией антивируса, фаервола, сканера (у сканеров с антивирусами бывают очень интересные интерференции из-за дурной системы блокировок на файлы в винде) и разных защит.

я не говорю, что всем и всегда надо так поступать, я говорю что иногда лучше потратить 8 часов сегодня, а не 10+ раз по часу в случайные моменты в будущем.

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

у меня, например, стоит старый асусовский wl500gP. Из обслуживания - один раз заменил в его блоке питания высохшую емкость на пару (электролит плюс керамика) нормальных.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-11 15:58 (ссылка)
> когда потом придется двадцать раз внести "мелкое" изменение, то, возможно, подумать, скомпоновать их в один блок и волевым усилием сменить платформу на более удобную

В таком виде это нужно было делать пятнадцать лет назад, когда там кроме фидошки ничего по сути и не было (собственно, я тогда поразглядывал какое-то husky... и забросил, ввиду лени). Сейчас - уже "наслоилось", и мотивации ОДНАЖДЫ вместо вкручивания мелкого винтика, разрушить всё до фундамента и выстроить заново из других кирпичей - взяться вроде бы неоткуда.

Единственный реальный вариант - когда понадобится прикрутить очередной винтик, поставить для него отдельную машинку рядом, и завести там ту же FreeBSD. Тогда, глядишь, лет через N-дцать постепенно всё и мигрирует туда - по мере отмирания старого софта.

> У меня, например, дома локалка на примерно 7 компов. [...]
> я не говорю, что всем и всегда надо так поступать, я говорю что иногда лучше потратить 8 часов сегодня, а не 10+ раз по часу в случайные моменты в будущем.

Отличный аргумент! Будет - когда мне расскажут, каким боком хоть что-то из вышеперечисленного касается того чёрного ящика без клавиатуры и дисплея, который сейчас тихо гудит вентиляторами в коридоре. Я вот правда не понимаю - "пользователь" на нём один, это я (и больше никого я туда не пущу, да и не надо это никому - "сервер не должен быть виден"), вирусов не было вообще ни разу (это как-то вообще за пределами моего понимания: у меня на рабстанции за всё время было два или три вируса, и те сажались "по недосмотру" или "из авторана" и по свежим следам вычищались, а откуда вдруг "вирус на сервере", в который флэшки не суют, левый софт не запускают, в интернет почти не ходят, да и вообще заходят раз в месяц и то не каждый месяц - я вообще не понимаю), антивирус на сервере я считаю вредоносной программой (объяснить, или не надо?), а то, чего нет - не может "интерферировать"... что там ещё? Всё? Так вот - у меня этого нет и так :-)

> иногда лучше потратить 8 часов сегодня, а не 10+ раз по часу в случайные моменты в будущем.

Вот ты лично - уверен, что за 8 часов проинсталлируешь новую ОС, развернёшь новый, никогда ранее тобой не виденный, софт, настроишь его, и перенесёшь конфигурацию со старого софта? Тогда ты крут... но в таком случае - откуда у такого крутого админа - вирусы на сервере??

Я уверен, что я за это время... ну, поставлю софт. И зароюсь в маны и конфиги. Через пару дней может быть что-то зашевелится. Вот вирусы - увы, не практикую :-)

> а вместо бзди на ПЦ советую аппаратный асусовский роутер с линуксом внутри

/facepalm.jpg
Не, ну правда. У меня четвёртый пень с трудом справлялся со всем тем, что я на него навешал, а мне предлагают роутер - только потому что он "проще в администрировании"?

> у меня, например, стоит старый асусовский wl500gP. Из обслуживания - один раз заменил в его блоке питания высохшую емкость на пару (электролит плюс керамика) нормальных.

В этом случае идеален тупой свитч. Администрировать не надо, вирусы не ловит, "вычищать" ничего не надо, ну и так далее по списку. А что не умеет нифига - так это, судя по всему, настоящему линуксоиду и не требуется, главное что "не имеет винчестера и не греется" :-)

Ну, и - картина "вычищание вирусов с сервера" (ибо вирусы на рабстанциях - сервер не волнуют, а речь чётко шла о "вирусах") меня очень, очень сильно впечатлила, даже больше чем совет заменить двухъядерный тазик с двухтерабайтным винтом на роутер-мыльницу. Можно, я это даже комментировать не буду, и вернусь в свой уютный мирок? В котором вирус на сервере - ЧП, которое я не допускал ни разу за все эти 15 лет, а создание системы DVR на пять камер (с motion detection, архивацией в h.264, и ещё по мелочи) на роутере-мыльнице - страшный сон, который проходит, как только открываются глаза?...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]nicka_startcev@lj
2012-03-11 16:28 (ссылка)
вирус на сервере - элементарно. Как и на флешке/фотоаппарате, на сетевом сторадже может лежать зараженный файл, если к этой шаре имеют доступ на запись малоквалифицированные пользователи. Или если в сети есть свежий червь, а на той машине не стоят свежие апдейты от производителя ос.

>А что не умеет нифига

ланы/ваны умеет, авторизацию умеет, _аппаратный_ на уровне чипа (а не на пуллинге центральным процесором) роутинг пакетов - умеет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-11 16:50 (ссылка)
"На сетевом сторидже" может лежать что угодно, хоть подборка несвежего нигретянского гей-порно. Серверу-то до этого какое дело - он ведь сам содержимое шары не запускает?
То есть _формально_ - да, это "вирус на сервере" (на жёстком диске, подключенном к серверу). Фактически - я не вижу в этом проблемы, то есть вообще. "Не раздавать в шару чего не нужно" (чтобы юзер или активный вирус на рабстанции не записался в какой-нибудь автозапуск на сервере) - вполне достаточно для спокойного сна.

И ещё - что-то тривиальные мысли сразу в голову не приходят. А что, замена винды на линукс на сервере каким-то волшебным образом спасёт от "вируса на сетевом сторидже"? Если неопытный пользователь может записать вирус на виндовую шару - что помешает ему записать его же на линуксовую шару? Самому-то серверу, как я уже говорил - пофиг что у него на шарах лежит, он их не запускает...

Червь - да, есть такая угроза. Один раз даже видел в действии (не у себя), впечатлился :-) Вот только сервер всё-таки апдейтится, пусть и не очень регулярно, но достаточно часто, а червей, которые реально способны "пробить" винду сами, без помощи пользователя, я что-то уже несколько лет не вижу...

> ланы/ваны умеет, авторизацию умеет, _аппаратный_ на уровне чипа (а не на пуллинге центральным процесором) роутинг пакетов - умеет.

"Не на чём", простите? Я такого термина не знаю, гугль какую-то лабуду выдаёт. Если речь о "поллинге" - то добро пожаловать в XX век: именно в конце прошлого века все устройства, сколь либо массово подающие данные в компьютер, наконец-то обзавелись прерываниями :-)
Ну, и я всё равно не понимаю: чем так плох программный роутинг пакетов "большим чёрным пентиумом", что предлагается снизить его нагрузку на 1%, прикрепив к нему скотчем коробочку с "аппаратным" (а не пофиг ли, как она там роутит, если внутренности снаружи всё равно не видны) роутингом? И кстати - а что, NAT он тоже "аппаратно" делает? В квартирной сети это поболее востребовано, чем роутинг (чего там роутить-то, засунуть всех в один сегмент, и пусть свитч их свитчует - а вот внешний IP один, без NAT плохо).

(Ответить) (Уровень выше)


[info]mc6312@lj
2012-03-11 08:06 (ссылка)
Ой-е, фидо-то зачем? Закопай стюардессу...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2012-03-11 09:31 (ссылка)
Линк расстроится (он у меня есть, аж целый один! и он модемный!! и у него даже НЕТ ИНТЕРНЕТА!!!)

При первом удобном случае - закопаю, пока же - оно работает, мне не мешает (основная нагрузка на этот комп - уж точно не от фидо), пусть себе живёт...

(Ответить) (Уровень выше)


(Читать комментарии) -