← All posts tagged Linux

oxpa
Linux iostat -d | awk '/sd/{print 1024*($5/512),"\n",1024*($6/512)}'| xargs -i grep -o {} /proc/diskstats
сектор в линуксах 2.4 и старше — 512 байт. ПО крайней мере тот сектор, который в /proc/diskstats.
oxpa
Linux Не помню, откуда я узнал этот фокус, но записи в духе ". <(ssh-agent)" или "diff file <(ss host cat file)" мне до сих пор очень нравятся %)
oxpa
Linux вспомнилось мне тут, что если в линуксе добавляется более специфичный маршрут, но не работает, то нужно удалить запись из кэша. Словами в духе
ip ro flush table cache (селектор можно другой написать, сами понимаете).
Отдельно хочу отметить этот "table cache" в свете того, что выяснить то, что он есть, простыми средствами не получается.
oxpa
Linux Техподдержка портала pgu.mos.ru мне тут ответила. Я посмеялся. И даже сумел удержаться от излишне язвительного ответа (т.е. я не употреблял слова "gentoo", "лол" и "сасай").
Маленькая предыстория: если попытаться внести показания счётчиков воды на странице pgu.mos.ru, то браузер попадает в циклическое перенаправление. В доказательство этого, я отправлял им ещё и вывод wget'а с куками сэкспорченными из браузера. Вот ответ техподдержки, который мне переслали:

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

Зараза, ну какой, нафиг, флеш, когда и wget, и браузер попадают в один и тот же кольцевой редирект ?!
oxpa
Linux 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" упоминается. Это прекрасно, ящитаю.
oxpa
Linux ххх:пытаюсь скопировать 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 и ещё пару способов разделить файл на части.
oxpa
Linux dm-flakey рабодает через жопу. md-faulty — ничуть не лучше.
# cat /proc/mdstat
Personalities : [faulty]
md0 : active faulty loop2[0]
3143668 blocks super 1.2 WriteTransient=5(5) ReadTransient=3(5) nfaults=0

while sleep 1; do dd skip=1024 if=/dev/md0 of=/dev/null count=3; done;
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.000200931 s, 7.6 MB/s
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.000119796 s, 12.8 MB/s
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.00192349 s, 799 kB/s
3+0 records in
3+0 records out
1536 bytes (1.5 kB) copied, 0.000124229 s, 12.4 MB/s

При этом, чем меньше период, тем меньше скорость. Если сделать ошибочным каждую первую попытку читать, то выскочит io error. Но на любых других уровнях ошибок — только задержка возникает. Ну то есть strace показывает что-то в духе
read(0, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
write(1, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
И всё ок.
oxpa
Linux Арендовали несколько серверов в облаке. Программеры пошли туда смотреть что к чему. Вернулись со словами "что-то похоже на виртуальную машину". Да ну?! В вмварном облаке? С чего бы это?!
oxpa
Linux zenoss пусть это побудет здесь пока
for dev in devices.Locations.getSubDevices():
if 'Device' not in dev.zDeviceTemplates:
dev.zDeviceTemplates.append('Device')
dev.bindTemplates(dev.zDeviceTemplates)

commit()
oxpa
Linux если написать include rsyslog.d/*.conf, а внутри файлы 00-conf, 90-conf и 99-conf. В каком порядке файлы заинклюдит rsyslog? правильно — в обратном. Слава роботам!
oxpa
Linux а кто обращал внимание на слово "hop" в man ping ? Такой забавный курьёз с ним сейчас был... мне доказывали, что конструкция ping router host будет работать. И ведь действительно будет... Иногда ;)
oxpa
Linux сегодня я узнал, что ядро учитывает память постранично. И более того, учитывает её фрагментированность. И если память фрагментирована, то вам не только не дадут бОльший кусок памяти, но не дадут его, даже если он есть у ядра. Ахренеть, господа.
/proc/buddyinfo
/proc/pagetypeinfo
читать мне kernel.org
а ещё я прочёл уже эти три ссылки. Очень советую осилить, мужики.
utcc.utoronto.ca
utcc.utoronto.ca
utcc.utoronto.ca
oxpa
Linux оказывается, сплит в перле достаточно медленный:
oxpa@oxpa-desktop:~/test/log$ time perl -ne '$a{(split)[6]}++}{print scalar keys %a' raw.log
840
real 0m3.241s
user 0m3.224s
sys 0m0.012s
Сравните с
oxpa@oxpa-desktop:~/test/log$ time perl -ne '/(?:\S+\s){6}(\S+)/; $a{$1}++}{print scalar keys %a' raw.log
840
real 0m0.934s
user 0m0.892s
sys 0m0.040s
oxpa@oxpa-desktop:~/test/log$ time awk '{a[$7]+=1} END{for(k in a){i++}print i}' raw.log
840

real 0m0.349s
user 0m0.312s
sys 0m0.040s

При этом, замена \s и \S на подходящие аналоги почти всегда делает скрипт на перле медленнее. Ну и awk порадовал, да.
oxpa
Linux сегодня я узнал, как программа определяет, какой файл из /etc/pam.d/ ей использовать. Всё оказалось достаточно просто: в вызове pam_start() указывается имя службы, которое совпадает с именем файла.
oxpa
Linux diff <(rpm -qa --qf '%{NAME}\n'| sort -u) <(ssh host0 rpm -qa --qf '%{NAME}\\n'| sort -u)
Я иногда сам пугаюсь тому, что пишу. Но, вроде, работает...