Сгорела зарядка от нокии, единственная. В итоге я выпаял из нее провод к телефону и припаял его к штекеру от убитой флешки, мощность больше чем надо но оно работает
воткнул это дело в хаб, получился универсальный зарядник, у штекера плюс в центре
Pipe (конвеер) – это однонаправленный канал межпроцессного взаимодействия. Термин был придуман Дугласом Макилроемдля командной оболочки Unix и назван по аналогии с трубопроводом. Конвейеры чаще всего используются в shell-скриптах для связи нескольких команд путем перенаправления вывода одной команды (stdout) на вход (stdin) последующей, используя символ конвеера ‘|’:
cmd1 | cmd2 | .... | cmdN
Например:
$ grep -i “error” ./log | wc -l
43
grep выполняет регистронезависимый поиск строки “error” в файле log, но результат поиска не выводится на экран, а перенаправляется на вход (stdin) команды wc, которая в свою очередь выполняет подсчет количества строк.
Конвеер обеспечивает асинхронное выполнение команд с использованием буферизации ввода/вывода. Таким образом все команды в конвейере работают параллельно, каждая в своем процессе.
Размер буфера начиная с ядра версии 2.6.11 составляет 65536 байт (64Кб) и равен странице памяти в более старых ядрах. При попытке чтения из пустого буфера процесс чтения блокируется до появления данных. Аналогично при попытке записи в заполненный буфер процесс записи будет заблокирован до освобождения необходимого места.
Важно, что несмотря на то, что конвейер оперирует файловыми дескрипторами потоков ввода/вывода, все операции выполняются в памяти, без нагрузки на диск.
Вся информация, приведенная ниже, касается оболочки bash-4.2 и ядра 3.10.10.
Утилита strace позволяет отследить системные вызовы в процессе выполнения программы:
$ strace -f bash -c ‘/bin/echo foo | grep bar’
....
getpid() = 13726 <– PID основного процесса
...
pipe([3, 4]) <– системный вызов для создания конвеера
....
clone(....) = 13727 <– подпроцесс для первой команды конвеера (echo)
...
[pid 13727] execve("/bin/echo", ["/bin/echo", "foo"], [/* 61 vars */]
.....
[pid 13726] clone(....) = 13728 <– подпроцесс для второй команды (grep) создается так же основным процессом
...
[pid 13728] stat("/home/aikikode/bin/grep",
...
Видно, что для создания конвеера используется системный вызов pipe(), а также, что оба процесса выполняются параллельно в разных потоках.
Читать далее «Linux pipes tips & tricks»
ownCloud — система для организации хранения, синхронизации и обмена данными, размещенными на внешних серверах.
В отличии от Dropbox и ему подобных, ownCloud отличается предоставлением пользователю полного контроля над своими данными — информация размещается на подконтрольных пользователю системах. Доступ к данным в ownCloud может осуществляться при помощи web-интерфейса или протокола WebDAV.
# sudo touch /forcefsck
Отключение диска lvm
fsck.ext4 -f /dev/vg/lv resize2fs /dev/vg/lv 130G lvreduce -L 130G /dev/vg/lv pvmove /dev/sda vgreduce vg /dev/sda pvscan pvremove /dev/sda
Увеличение логического тома
vgdisplay lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
lvextend -l +100%free /dev/ubuntu-vg/ubuntu-lv fsck.ext4 -f /dev/ubuntu-vg/ubuntu-lv resize2fs /dev/ubuntu-vg/ubuntu-lv fsck.ext4 -f /dev/vg/lv
Добавление диска к LVM
pvcreate /dev/sdc3 vgextend vg /dev/sdc3 vgdisplay lvextend -L 320G /dev/vg/lv fsck.ext4 -f /dev/vg/lv resize2fs /dev/vg/lv fsck.ext4 -f /dev/vg/lv
Уменьшение логического тома
vgdisplay fsck.ext4 -f /dev/vg/lv resize2fs /dev/vg/lv 130G fsck.ext4 -f /dev/vg/lv lvreduce -L 130G /dev/vg/lv fsck.ext4 -f /dev/vg/lv
Создание логического тома
vgdisplay lvcreate -L 12G -n lv vg lvdisplay lvscan mkfs.ext4 /dev/vg/lv
Удаление логического тома
lvdisplay lvremove /dev/vg/lv
Клонирование
lvcreate -L 8G -s -n homebackup /dev/vg/lv
Создать снапшот:
lvcreate -L 1G -s -n snap01 /dev/vg/vmtemplate