to post messages and comments.

← All posts tagged Linux

На самом деле не linux, а freebsd, но тем не менее. Отправка письма с аттачем "из песка и тумана":

cat test.letter <(uuencode -m report.csv report.csv | sed -e '1s/begin-base64.*$//' -e 's/====//') <(echo '------not-a-random-string--') |sendmail that.guy@example.com
Содержимое test.letter ниже. Пробелы в начале строк — важны. Пустые строки — важны. То что "-" на 2 больше перед границей — таки задумано.
From: <me@bla.bla>
To: <whatsoever>
Subject: report
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----not-a-random-string"

------not-a-random-string
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

please find the report attached to the letter

------not-a-random-string
Content-Type: text/csv;
name="report.csv"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="report.csv"

может мне кто-нибудь объяснить, как в rpm спеке нужно прописать чужой пакет, если мой — замещает его? Если я пишу obsoletes, то мне пишут о конфликте файлов (что логично), если пишу conflicts, то просто пишут о конфликте. А провайдить что-либо по имени другого пакета мне бы не хотелось.

Это всё-таки круто, в одном месте поправить код, а в другом - забыть. Как называется процесс, когда смотрят код, ищут в нём вызовы функций и смотрят, что в эти вызовы передаётся? Review?

void
nv_registry_add_alias(NVRegistry *self, NVHandle handle, const gchar *alias)
{
  g_static_mutex_lock(&nv_registry_lock);

  g_hash_table_insert(self->name_map, (gchar*)alias, GUINT_TO_POINTER((glong) handle));
  g_static_mutex_unlock(&nv_registry_lock);
}

NVHandle
nv_registry_alloc_handle(NVRegistry *self, const gchar *name)
{
/*skipped a bit*/
  stored.name_len = len;
  stored.name = g_strdup(name);
  g_array_append_val(self->names, stored);
  g_hash_table_insert(self->name_map, stored.name, GUINT_TO_POINTER(self->names->len));
}

zeneventserver жрёт cpu как не в себя если rabbitmq тупит. А последний может тупить, если на партиции осталось мало, с его точки зрения, места. "Мало" это намного больше, чем вы думаете. У меня проблемы начинаются при свободных двух гигах.
Я уже говорил, что люблю erlang'овые проекты за простоту и доступность отладки и логов?

Кто бы знал, сколько я, блин, плясал, ради этих трёх строчек:
serviceProxy = self._collector.getRemoteConfigServiceProxy()
log.debug("calling remote to set process start time to 112")
serviceProxy.callRemote('setProcessStartTime',self._device.name,'apache', 112)

Теперь нужно выяснить, в каком случае они не сработают и вместо заглушек поставить что-нибудь реально. Счастье есть!

iostat -d | awk '/sd/{print 1024*($5/512),"\n",1024*($6/512)}'| xargs -i grep -o {} /proc/diskstats
сектор в линуксах 2.4 и старше — 512 байт. ПО крайней мере тот сектор, который в /proc/diskstats.

вспомнилось мне тут, что если в линуксе добавляется более специфичный маршрут, но не работает, то нужно удалить запись из кэша. Словами в духе
ip ro flush table cache (селектор можно другой написать, сами понимаете).
Отдельно хочу отметить этот "table cache" в свете того, что выяснить то, что он есть, простыми средствами не получается.

Техподдержка портала pgu.mos.ru мне тут ответила. Я посмеялся. И даже сумел удержаться от излишне язвительного ответа (т.е. я не употреблял слова "gentoo", "лол" и "сасай").
Маленькая предыстория: если попытаться внести показания счётчиков воды на странице pgu.mos.ru, то браузер попадает в циклическое перенаправление. В доказательство этого, я отправлял им ещё и вывод wget'а с куками сэкспорченными из браузера. Вот ответ техподдержки, который мне переслали:

"Также стоит обратить внимание на то что у пользователя Linux да и браузер у него старый(текущая версия мозилы 24 а у него 18). У меня у самого долгое время был Linux, насколько я помню например в Ubuntu Linux уже давно отказались от мозилы и там в сборках по умолчанию стоит хром. Судя по команде wget у пользователя как раз Ubuntu или что-то похожее. Собственно отказались от мозилы они потому что Flash Player перестали выпускать для Linux а в хроме встроен по умолчанию свой плеер, что уже говорит о том что работать мозила в Linux может некорректно."

Зараза, ну какой, нафиг, флеш, когда и wget, и браузер попадают в один и тот же кольцевой редирект ?!

TIMESTAMP=`date +%Y%m%d%H%M`
#TIMESTAMP=2009081623

VER1=`echo $TIMESTAMP |cut -c1-4`
VER2=`echo $TIMESTAMP |cut -c5-6`
VER3=`echo $TIMESTAMP |cut -c7-8`
VER4=`echo $TIMESTAMP |cut -c9-12`

И дальше только "$VER1.$VER2.$VER3.$VER4" упоминается. Это прекрасно, ящитаю.

ххх:пытаюсь скопировать 22гб файл на микросд в 29гб, получаю Error while copying file (Error splicing file: Input/output error)
ххх:после того, как 4 с небольшим гб скопировалось
ххх:микросд в фат32, ос убунту, копирую наутилусом
yyy:проблема, как ты догадался, наверно, в том, что фат32 не даёт писать файлы больше 4 гб
ххх:понятно
ххх:http://ubuntuforums.org/showthread.php?t=1500384
ххх:вот этим ребятам расскажи
ххх:без всяких сарказмов
yyy: у тебя точно есть ошибки в dmesg'е?
ххх: думаю у большинства из отписавшихся в той теме их тоже нет

что такое facepalm и как с ним бороться. Но я опытный, я знаю split и ещё пару способов разделить файл на части.