Задача на собеседовании админу
Придумал subj: как стандартными средствами в gnu уних/линух окружении
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.
пс. наверно пятничная задачка :)
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.
пс. наверно пятничная задачка :)
Задачка про CIDR
Отсюда:
Задача такова: есть ASCIIZ-строка с IP-адресом, надо вернуть true, если этот адрес попадает в один из диапазонов, перечисленных в файле.
Файл текстовый такого формата,
192.168.1.3,192.168.1.5
192.168.2.4,193.0.0.3
Файл не отсортирован, дипапазоны произвольные и могут пересекаться. Первый адрес меньше второго или равен ему. Пересечение диапазонов можно обрабатывать двумя путями: лиюо отказываться грузить такой файл и выдавать что с чем пересеклось, либо не отказываться и корректно работать в таких условиях.
Файл грузится один раз и потом десятки миллионов раз лукапится. Записей в конфиге - сотни.
( Решение )
Задача такова: есть ASCIIZ-строка с IP-адресом, надо вернуть true, если этот адрес попадает в один из диапазонов, перечисленных в файле.
Файл текстовый такого формата,
192.168.1.3,192.168.1.5
192.168.2.4,193.0.0.3
Файл не отсортирован, дипапазоны произвольные и могут пересекаться. Первый адрес меньше второго или равен ему. Пересечение диапазонов можно обрабатывать двумя путями: лиюо отказываться грузить такой файл и выдавать что с чем пересеклось, либо не отказываться и корректно работать в таких условиях.
Файл грузится один раз и потом десятки миллионов раз лукапится. Записей в конфиге - сотни.
( Решение )
нестандартное использование флага -s в install
Если после инсталляции через команду
то можно их активировать через флаг(и)
Например надо перекодировать файл из koi8-r в utf8:
install
надо произвести какие-либо действия,то можно их активировать через флаг(и)
-s
(—strip
и —strip-program
).Например надо перекодировать файл из koi8-r в utf8:
# cat > encode.sh
#! /bin/sh -f
iconv -c -f koi8-r -t utf8 $1 /tmp/tmp.$$
mv -f /tmp/tmp.$$ $1
^D
# chmod +x encode.sh
# install —strip —strip-program=./encode.sh file /install/path/file
Entry tags:
unix - флешмоб :)
# file -N $HOME/* | \
awk -F: '{ type[$2]++ } END{ for (i in type) print type[i],i }' | \
sort -rn | head -10
128 directory
50 ASCII text
14 ASCII English text
10 ISO-8859 text
6 Lisp/Scheme program text
5 data
4 shell archive or script for antique kernel text
4 Microsoft Installer
3 gzip compressed data, from Unix, last modified
3 ASCII text, with very long lines
ps. под "Microsoft Installer" file понимает .doc файлы.
Entry tags:
поиск хардлинков на файловой системе
# find /etc -xdev -type f -print0 | \
xargs -0 ls -i | \
perl -nle '($a,$b) = split " "; push @{$hash{$a}},$b;
END { while (($a,$b) = each %hash) { print "$a: @$b" if ($#$b > 0); } }'
find /etc -xdev
-- поиск файлов на/etc
.ls -i
-- печать i-node номер и имя файла.perl ...
-- упихивание всего в хеш и вывод в конце только тех имен файлов, у которых имен на один i-node больше одного.