LINUX.ORG.RU

Избранные сообщения invokercd

DD - из за чего получается такое сообщение

Форум — Admin
# dd if=/dev/zero of=/dev/sdd
dd: writing to ‘/dev/sdd’: No space left on device
15124993+0 records in
15124992+0 records out
7743995904 bytes (7.7 GB) copied, 2603.04 s, 3.0 MB/s



что значит:

dd: writing to ‘/dev/sdd’: No space left on device

 

GGUseR
()

Проброс части сети из VPS без tun/tap.

Форум — Admin

Обычный OpenVPN что-то не очень работает на супердешёвой VPS-ке на OpenVZ, поэтому очевидный способ пробросить подсеть IPv6 отпадает.

Для осуществления такой операции придумал «треугольник из костылей»:

  • ipvampire - избирательно извлекает пакеты из сетевого интерфейса и пишет из в stdout, посылает пакеты из stdin в интерфейс;
  • openvpn --dev stdout - используется stdin вместо устройства tun/tap;
  • seqpackettool - запускалка двух вышеприведённых программ, чтобы они были соединены через socketpair(... SOCK_SEQPACKET ...). seqpackettool - это как мини-socat, ориентированный на SOCK_SEQPACKET.

https://github.com/vi/udptap_tunnel#ipvampire

Может, кому-нибудь для какой-нибудь задачи пригодится эта комбинация или её компоненты.

 ,

vi0
()

Как nginx заставить вместо отдачи файла исполнять скрипт?

Форум — Admin

приветствую о глубокоуважаемый олл.
Стоит задача - отдавать картинки вордпресса с водяными знаками.
Плагины это хорошо, но мне ни один не понравился - к тому же есть вариант решения через php скрипт. Скажем есть картинка:

http://wp.z0ne.ru/wp-content/uploads/2015/02/14-1o.png

Есть скрипт watermark.php отдающий как надо:

http://silver-city-penza.z0ne.ru/watermark.php?img=wp-content/uploads/2015/02...

Нужно банально заставить nginx при запросе картинки исполнять скрипт. С апачем всё примитивно а с nginx так и не справился.
В конфиге vhost для location / добавил:

rewrite ^/(.*)wp-content/uploads/(.*(jpg|jpeg|gif|png))$ /$1watermark.php?img=wp-content/uploads/$2;

Однако как видите при запросе картинки она отдается как есть.
Где я не прав?

 

n0mad
()

node.js, javascript - удаленка, фултайм, опенцорц

Форум — Job

Нужен опытный программист в этот проект:

http://dev.nodeca.com/

Т.к. проект не коммерческий и опенсорсный, то там нет явных дедлайнов, но есть высокие требования к качеству кода.

Меня интересует, чтобы человек имел хороший кругозор, умел четко формулировать что он делает перед тем как кодить, умел разбивать задачу на части и прорабатывать «data flow».

Вместо испытательного срока - тестовое задание типа такого: https://github.com/nodeca/pica/issues/1#issuecomment-70479688 . При условии, что алгоритм написан правильно, реальную скорость работы смотреть никто не будет. Там НЕ требуется знаний об обработке изображений, математику я расскажу, она простая.

Тест не на знание яваскрипта, а на общую квалификацию и системный подход. Как говорится, был бы человек хороший, а яваскрипту научим.

По деньгам ~2К$+

Контакт: vitaly@rcdesign.ru (резюме обязательно, и желательно в двух словах чем интересна вакансия). Если есть достойный аккаунт на гитхабе - можно ссылку вместо резюме.

Перед тем как писать на почту, посмотрите пожалуйста тест, т.к. на нем обычно все сдуваются.

 ,

Vit
()

Библиотека Sofia-SIP

Форум — Development

Здравствуйте!

Пишу приложение с использованием библиотеки Sofia-SIP. Сессию организовать удалось. Есть вопрос:

Как можно организовать запись голоса в файл и чтение звука из файла в телефонную трубку? Буду очень признателен за информацию.

 ,

jockerface
()

Веб-разработка в Vim

Форум — Web-development

Предлагаю обсудить и поделиться опытом по веб-разработке в Vim.

Я использую Vim в терминале termite (со своими патчами для дефолтного копипаста и прочее) с цветовой схемой gruvbox: как для терминала, так и для Vim.

Этот клавиатура-ориентированный vim-like терминал я упомянул не столько потому, что у него реализованы режимы как Vim (insert mode, selection mode, выделение клавиатурой включая блочное), а потому, что у него есть приятная фича (которую можно наблюдать в iTerm2 для OS X) при работе Vim'а в нём, а именно цвет курсора изменяется в зависимости от цвета символа, на котором находится курсор, а также при выделении цвет выделения повторяет цвет слов/строк (но без инвертирования где нужно, может еще допилят), скриншот.

Менеджер плагинов:

Перед обсуждением плагинов и настроек, хочу подчеркнуть почему я использую менеджер плагинов vim-plug: перепробовав все известные менеджеры плагинов, включая недоменеджер pathogen, остановился именно на vim-plug потому, что он самый быстрый (параллельная установка/обновление, к-во потоков настраивается), имеет приятный интерфейс, краткий синтаксис, а самое главное позволяет настроить загрузку или отключение плагинов по filetype и/или первому вызову самого плагина, это не только ускоряет старт/работу Vim, но и помогает разрулить конфликты некоторых плагинов, простой пример:

Plug 'tpope/vim-endwise',   { 'for': [ 'ruby','vim','sh','zsh' ] }
Плагин endwise будет загружен только для ft=ruby,vim,sh,zsh, т.к. если этот полезный плагин работает одновременно с не менее полезным плагином delimitMate, то возникает конфликт в файлах с ft=css,js и везде, где после открытия скобки нужен автоматический переход на следующую строку и автозакрытие скобки.

Кроме всего прочего, отдельно от веб-разработки-related для самого вима у меня такое:

Автоматическое переключение на английский в Normal mode и обратно на предыдущий в Insert mode:

Конечно же нужно решать проблему с локалями (т.к. веб-разработка, в отличие от программирования иногда ведется на отличных от английского языках), а именно с неудобством при их переключении в Normal mode и обратно, самое лучшее решение, это установка в систему xkb-switch + плагин в Vim для него.

Plug 'lyokha/vim-xkbswitch'
let g:XkbSwitchEnabled       = 1
let g:XkbSwitchLib           = '/usr/lib64/libxkbswitch.so'
let g:XkbSwitchIMappings     = ['ru']
let g:XkbSwitchSkipIMappings = {'*' : ['[', ']', '{', '}', "'"]}
Теперь не нужно переключать на английский входя в Normal mode и на русский обратно в Insert mode, переключение происходит автоматически. Очень удобно.

Линейка номеров строк:

set nu
set nuw=4
autocmd InsertEnter * set nornu
autocmd InsertLeave * set rnu
в Insert mode - с номерами строк всё как обычно, в Normal mode (точнее после первого входа в insert и выхода обратно в normal) включается типа линейки: скриншот.

Автоматическая паста с отступами:

Чтобы навсегда забыть эту проблему и не включать перед пастой каждый раз режим пасты или использовать хитрые хоткеи, можно просто добавить настройку:

let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
function! XTermPasteBegin()
  set pastetoggle=<Esc>[201~
  set paste
  return ""
endfunction

Замена заменяемого без удаления (проблема забивания иксового буфера обмена):

Чтобы заменить слово или кусок окруженный делиметрами без удаления в иксовый буфер, можно использовать такую настройку на хоткей S :

nnoremap <silent> S :set opfunc=PasteReplace<CR>g@
function! PasteReplace(type, ...)
    if a:0
        silent exe "normal! `<" . a:type . "`>p"
    elseif a:type == 'line'
        silent exe "normal! '[V']p"
    elseif a:type == 'block'
        silent exe "normal! `[\<C-V>`]p"
    else
        silent exe "normal! `[v`]p"
    endif
endfunction
nmap SS S$
Теперь если нужно заменить слово без его удаления, можно просто: Sw , Si" , Si( , и т.п.

Проекты/сессии:

Плагин vim-startify - стартовый экран, можно настроить на сессии и букмарки, чтобы каждый раз не открывать то же самое в сплиты/табы/буферы.

Документация:

Для открытия документации в браузере (как минимум для того, что нас интересует: HTML, JavaScript, CSS, SCSS, LESS, Ruby, Rails, Django, PHP и т.п.) исходя из из ft= и положения курсора, удобно замапить на F1:

Plug 'Keithbsmiley/investigate.vim'
nnoremap <F1> :call investigate#Investigate()<CR>

Автокомплит и сниппеты:

В отличие от YouCompleteMe, автокомплитер neocomplete не тормозит (при работе и старте), не нужен питон (но нужен lua), а всё остальное такое же (для веб-разработки). Интегрируется с родным движком сниппетов neosnippet, который работает как с родными, так и универсальными vim-snippets (объединенные Snipmate & UltiSnip).

Настройка для навигации по комплиту через Tab (сам комплит всплывает автоматически, можно настроить обратное):

imap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
if has('conceal')
  set conceallevel=2 concealcursor=i
endif

ZenCoding/Emmet:

Полнофункциональный Emmet для Vim: emmet-vim

Работает как нужно, но по дефолту неудобный (как по мне) хоткей <c-y>, , я настроил себе на jk . Т.е. Esc у меня kj , а дополнить jk . Первое время пользовался F4, привожу настройки, но jk намного удобнее. Просто на Tab настроить нельзя (иначе как пользоваться Tab?).

Plug 'mattn/emmet-vim',           { 'for': ['html','xhtml','css','sass','scss','less'] }
au FileType html,css,sass,scss,less imap <expr><F4> emmet#expandAbbrIntelligent("\<tab>")
au FileType html,css,sass,scss,less imap <expr>jk   emmet#expandAbbrIntelligent("\<tab>")
au FileType html                    imap <C-\>      <CR><CR><Esc>ki<Tab>
Плагин MatchTag - для отображения парных тегов.

Кроме Emmet'а для Vim существует аналог: Sparkup (нужен питон, не пробовал).

Отображение отступов:

Можно настроить каким символом и цветом отображать линии отступов, я настроил на хоткей <A-i> , альт как непечатаемый символ, так что проще посмотреть настройку склонировав репу на гитхабе и заглянув в .vimrc (или нажать C-v A-хоткей), скриншот.

Plug 'Yggdroot/indentLine'
let g:indentLine_enabled    = 0
let g:indentLine_char       = '¦'
let g:indentLine_color_term = 239
let g:indentLine_color_gui  = '#A4E57E'
nmap ^[i :IndentLinesToggle<CR>

Подсветка синтаксиса:

Plug 'tpope/vim-haml',            { 'for': 'haml'   }
Plug 'wavded/vim-stylus',         { 'for': 'stylus' }
Plug 'groenewege/vim-less',       { 'for': 'less'   }
Plug 'digitaltoad/vim-jade',      { 'for': 'jade'   }
Plug 'slim-template/vim-slim',    { 'for': 'slim'   }
Plug 'othree/html5-syntax.vim',   { 'for': 'html'   }
Plug 'cakebaker/scss-syntax.vim', { 'for': 'scss'   }

Plug 'hail2u/vim-css3-syntax',    { 'for': ['html','css'] }
augroup VimCSS3Syntax
  autocmd!
  autocmd FileType css setlocal iskeyword+=-
augroup END

Проверка синтаксиса:

Для проверки синтаксиса используется Syntastic + сторонние чеккеры:

Plug 'scrooloose/syntastic', { 'for': ['ruby','html','css', 'javascript', 'haml'] }
let g:syntastic_auto_jump           = 1
let g:syntastic_error_symbol        = '✖'
let g:syntastic_warning_symbol      = '►'
let g:syntastic_javascript_checkers = ['jshint'   ] " sudo npm install -g jshint
let g:syntastic_html_checkers       = ['jshint'   ] " sudo npm install -g jshint
let g:syntastic_ruby_checkers       = ['rubylint' ] " gem install ruby-lint
let g:syntastic_haml_checkers       = ['haml-lint'] " gem install haml-lint
let g:syntastic_css_checkers        = ['csslint'  ] " sudo npm install -g csslint
let g:syntastic_css_csslint_args    = "--ignore=zero-units"

Деобфускация / beautify'еры:

Плагин vim-autoformat работает со сторонними 'formatprograms', например js-beautify для HTML, CSS и JavaScript. autopep8 для питона и т.д. Всё это должно быть установленно.

Plug 'Chiel92/vim-autoformat'
let g:formatprg_args_javascript = "-j -q -B -f -"
noremap  <F8>   :Autoformat<CR><CR>
vnoremap <C-F8> gq

JavaScript:

Дефолтная поддержка JavaScript в Vim на довольно низком уровне, так что необходимы плагины как для самого JS, так и для библиотек, плагин javascript-libraries-syntax поддерживает почти все основные либы: jQuery, underscore.js, Backbone.js, AngularJS, RequireJS, Sugar.js, Jasmine и т.д.

Plug 'moll/vim-node'
Plug 'pangloss/vim-javascript',      { 'for': 'javascript' }
Plug 'jelera/vim-javascript-syntax', { 'for': 'javascript' }
let javascript_enable_domhtmlcss = 1
let g:html_indent_inctags        = "html,body,head,tbody"
let g:html_indent_script1        = "inc"
let g:html_indent_style1         = "inc"

Plug 'othree/javascript-libraries-syntax.vim', { 'for': 'javascript' }
let b:current_syntax       = 'javascript'
let g:used_javascript_libs = 'angularjs'

Также полезен tern_for_vim (сам Tern должен быть установлен), который умеет в 'Jump to the definition', 'Find the type' и т.д.

Пробельные символы:

По A-w показывает, по \-dw удаляет. Перевести все табы в пробелы (вдруг кто не знает), в Vim: :retab .

Plug 'ntpeters/vim-better-whitespace'
let g:better_whitespace_enabled = 0
nmap ^[w :ToggleWhitespace<CR>
nmap <Leader>dw :StripWhitespace<CR>

И кое-какие настройки по-мелочи:

set splitbelow
set splitright
inoremap  kj           <Esc>
map       gm           :call cursor(0, virtcol('$')/2)<CR>
nnoremap  <F12>f       :exe ':silent !firefox %'<CR><C-l>
nnoremap  <F12>c       :exe ':silent !chromium-browser %'<CR><C-l>
1-2 строки: для нормального открытия (слева направо) сплитов.
3: Esc на kj - мегаудобно.
4: для попадания на средину строки.
И последние две для предпросмотра в браузерах.

Мой ~/.vimrc

Кто что использует и как, кроме вышеуказанного?

 

VimCasts
()

Платформа облачной виртуализации, посоветуйте

Форум — Admin

Привет, ЛОР. Суть такова: встала задача разворачивания тестовых сред в виде отдельных виртуальных машин/стендов (тестироваться может всё, что угодно, от вебсервера до десктопного гуёвого приложения). Далее планируется управлять ими, например, через Ansible, то бишь, машины нужно будет конфигурять хотя бы для SSH-доступа (хотя так же предполагаются и win-машины). По сути это похоже на выдачу VPS провайдером. Беглый просмотр выдачи гугла по сабжу указал на OpenStack, но я не уверен что это лучшее (и вообще подходящее) решение, ибо начитался и негативных отзывов тоже.

Собственно, вопрос: каким инструментом решается эта задача наиболее полно?

 , ,

jesseydesu
()

реальное использование памяти

Форум — Admin

в общем делаю скрипт определения использования памяти:

total = "free -m | awk '/^Mem:/{print $2}'"
cache = "free -m |awk '/cache:/ { print $3 }'"
total_usage = (cache / total) * 100

скрипт показывает 53%, а система начинает свопится.

$free -m
             total       used       free     shared    buffers     cached
Mem:          3947       3690        257        285        413       1228
-/+ buffers/cache:       2048       1898
Swap:        10239         46      10193

Или я что-то неправильно делаю ?

bryak
()

Zimbra в облаке - прошу советов.

Форум — Admin

Добрый вечер.

Хотел бы спросить советов, как сделать почту небольшой фирмы в облаке. Смотрю в сторону Zimbra - но возможно посоветуете что-то другое, с веб-интерфейсом, антивирусом и спам-фильтром, с возможностью централизованно создавать ящики, управлять ими.

Хотелось бы узнать, что выбирать - VPS например от DigitalOcean, или что-то другое? Провайдеры предлагают готовый почтовый хостинг с Zimbra, но он очень дорог.

Как выбрать платформу, и какие еще есть тонкости, подскажите.

 ,

Shkapinsky
()

Бэкап mysql с помощью снапшотов lvm

Форум — General

Доброго времени суток. Есть одно высоконагруженное приложение (zabbix), использующее базу данных mysql. Сейчас, база данных выросла до 10G. То, что бэкапы с использованием mysqldump длятся по 10-20 минут, ещё можно стерпеть. Но, восстановление из бэкапа 6-8 часов - перебор.

Прочитал про очень интересный метод. Поднимается lvm, утилитой mylvmbackup делается снапшот.

Вопрос вот в чем: zabbix использует innodb, допустим, я делаю так:

mylvmbackup --user=root --password=pass --innodb_recover --skip_flush_tables \ --mycnf=/etc/mysql/my.cnf --vgname=test --lvname=part1 --backuptype=tar --backupdir=/backup

/base смонтирована в /dev/test/part1

В итоге получаю архив с базой данных и всеми файлами наодящимися в директории /base. Если остановить mysql и заменить содержимое папки /base/mysql всё вроде бы работает. Однако, все пишут, что раздел с котрого снят снапшот начинает работать в разы медленее. Что с этим можно сделать? Как-то возможно снимать снапшот только с конкретной папки в разделе? Приблизительно, как долго будет длитя снапшот, с 10-15 G базы?

И вообще, больше вопросов, чем ответов на данный момент. По данной тематики достаточно статей и примеров, но информация рознится.

Кто-то пользуется подобной схемой? Какие есть «подводные камни»?

 , , ,

nixit
()

Снимки диска как бэкапы - панацея?

Форум — Admin

Хотел обсудить с уважаемым сообществом (неуважаемых просьба пройти в толксы) тему бэкапов с помощью снимков на уровне логических дисков (lvm snapshots) или их аналог в zfs (не изучал, знаю только примерно).

Суть в чём. Обычно, снэпшоты позиционируются как универсальное решение для любого (ну почти) случая. Типа, заморозил, скопировал дамп неспешно, отморозил. Но ведь в большинстве случаев нельзя уверенно сказать, что в момент заморозки данные на диске актуальные. При чём, для каждого сервиса способ сброса и приведения своих файлов данных в непротиворечивое целостное состояние - различный. Для mysql - flush & lock, для mcedit - save & sync и так далее. Кому-то достаточно sigusrN, а кто-то в принципе не умеет морозить файлы данных.

Соответственно, админ должен уметь не только делать снэпшоты, но и понимать, как их согласовывать с бегущими на сервере сервисами. Кроме того, если вдруг список сервисов меняется (программисты накатили апдейт и какой-то новый кусок апликации внезапно начал mmap'ить большие файлы данных) - нужно под всех их подстроиться.

Отсюда вопрос. Я прав? Снэпшоты не панацея и надо в любом случае делать всё аккуратно и согласованно с сервисами?

Я просто всю жизнь бэкапился rsync'ом. Обычно этого хватало. Всякие mysql старался бэкапить стандартными средствами (условно, mysqldump), когда это позволяли объемы баз данных. В общем-то, если я прав в предыдущих абзацах, то особой разницы с несогласованными снэпшотами нету. rsync даже выгоднее, потому что сильно экономит на передаче данных (бинарные дельты и вообще, файлы меньше дисков).

P.S. Речь идёт только о снимках дисков. Снимки виртуальных машин (единое согласование состояние процессора, памяти и дисков заведомо можно записать, это понятно) я не беру во внимание.

 ,

AngryElf
()

Гибконастраиваемая подсветка логов. Хочу.

Форум — General

Для разбора больших логов иногда применяю перловую конструкцию вида

echo -e "string1\nerror\nsuccess\nstring2\nfail" |\
    perl -p -e 's/(success)/\e[1;32;10m$&\e[0m/g;' -e 's/(error|fail)/\e[0;31;10m$&\e[0m/g'
чтобы подсветить success зелёным, ошибочные сообщения красным (остальные строки *тоже выводятся*, пусть и не так важны, поэтому grep не котируется)
Но в некоторых случаях было бы полезнее подсветить значения после маркера, а не сам маркер, т.е. в строках
Marker1: value1
Marker2: value2
надо подсветить value1 и value2, зная только имя маркеров.
На это моего знания perl/sed уже не хватает, плиз хелп

 ,

zolden
()

Хитрый ssh алиас для кластера

Форум — General

Есть кластер из двух нод, на активной ноде соответственно есть плавающий IP.
Хочу поиметь алиас для коннекта по SSH на стендбайную ноду, да чтоб и автодополнение для него работало.
Внимание вопрос: как такое реализовать?

 ,

zolden
()

Нарезка iSCSI+LVM под виртуалки

Форум — Admin

Есть у меня iSCSI сторадж, там нарезаны тома, подключены к серверам, разбиты в LVM и скормлены виртуалкам.
Хочу нарезать тома помельче, что бы без промежуточного LVM на хостовой машине - напрямую отдавать небольшие тома виртуалкам.

В плюсе - удобство управления и миграции.
Как минус - я не знаю, как правильно их скормить kvm'у к примеру:

<disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/disk/by-uuid/f06ba262-4331-47ca-87d3-e6d056a7631d'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
или как-то иначе.

Насколько «иделогоически верен» тот и другой вариант?

Спасибо за внимание.

 , ,

Yustas
()

Вышло второе издание книги «Pro Git»

Новости — Open Source
Группа Open Source

Вышло второе издание книги о системе контроля управления версиями Git - «Pro Git». Переработан старый материал, исходный код книги переведен с разметки Markdown в AsciiDoc. Книга довольно сильно увеличилась в объеме, теперь ее PDF-версия содержит более 570 страниц.

Добавились новые главы, особое внимание уделено утилитам для работы с Git (GitLab, GitHub и пр.).

>>> Подробности

 ,

A_Hariton
()

Перевод почты локальных пользователей в базу данных mysql

Форум — Admin

Подскажите пожалуйста Есть древний почтовый сервер,где почта хранится в файлах. Как перетащить почту пользователей в базу данных ? Новый сервер с почтой будет работать с базой данных управляемой постфиксадмином. Текущие ящики настроены в виде файлов для каждого пользователя в директории /var/spool/mail Заранее большое спасибо за ответ

 , ,

scl
()

Пауза виртуальной машины kvm

Форум — Admin

Ковыряюсь я тут со снепшотами qcow2. Так вот, как я выяснил темой ранее, со снепшотами в kvm - всё плохо.

Или мы делаем снепшот от qcow2, но нам нужна пауза vm на 15 секунд, или мы делаем снепшот на внешний диск, но тогда нам потом нужен будет downtime для blockpull. - Одно другого, не лучше.

Но не даёт мне жить вопрос вот какой: а что происходит когда VM (kvm), становится на паузу?

Представим, что у меня выполняется oracle внутри VM. Я на 15 секунд её запаузил. Всё у меня «замёрзло» в моей ОЗУ (я понимаю отличие паузы от suspend). Далее, у меня сделался VM снепшот, и машина продолжила свою работу. Так вооот. Что будет с oracle то? Что будет со временем внутри вирт. машины? Оно отстанет на 15 сек? Как это может аукнуться?

DALDON
()

Отказоустойчивые шлюзы

Форум — Admin

Теоретическая задача.

Дано: Сеть с кучей линуксовых машин, три провода в интернеты. Надо использовать три машины в качестве натирующих маршруторизаторов в интернеты, балансировано и отказоустойчиво.

Нашёл http://xgu.ru/wiki/Отказоустойчивая_маршрутизация с зоопарком полупроприетарных протоколов.

Пока курю найденое, но может кто посоветует, как оно правильно делается?

suuaq
()

mdadm raid 10, низкая скорость записи

Форум — Admin

Забросил в десяточку 4 ssd, но был неприятно удивлен тем, что скорость записи по сравнению с 0 из таких же двух дисков меньше примерно на 100 МБ/с.

Можно ли это как то потюнить?

root@heaven:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Jan 21 22:51:20 2014
     Raid Level : raid10
     Array Size : 234306560 (223.45 GiB 239.93 GB)
  Used Dev Size : 117153280 (111.73 GiB 119.96 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Wed Jan 22 00:04:35 2014
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : heaven:0  (local to host heaven)
           UUID : 5155f4fc:50b2514c:98a29b0b:4644b1d6
         Events : 26

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1
В 0 такая же мулька дает 360 МБ/с, в десяточке - минус 100
root@haven:~# time dd if=/dev/zero of=/tmp/1 bs=1M count=256 conv=fdatasync
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 1.04119 s, 258 MB/s

real	0m1.048s
user	0m0.000s
sys	0m0.328s
Красиво, но далеко от реальности:
root@haven:~# hdparm -Tt /dev/md0

/dev/md0:
 Timing cached reads:   13452 MB in  2.00 seconds = 6733.00 MB/sec
 Timing buffered disk reads: 1884 MB in  3.00 seconds = 627.28 MB/sec
Пользуясь случаем, кастану true_admin

 , , , ,

invokercd
()

Убрать всё лишнее после сборки [Debian]

Форум — Admin

Как правильнее и логичнее 'очистить' систему от лишних пакетов?

Допустим, мне нужен контейнер с каким-то там php/rails, и хочется свежака, так что ставлю из исходников. Предварительно

apt-get build-dep somewhat.
Я его собрал, установил в виде пакета. Снёс *-dev либы. Но даже после этого остаётся куча всего. Конечно можно посмотреть что ставилось, и вынести, но можно не угадать с зависимостями (например, выснести каки-то либы для ssl или libpng).

Приветствуются истории успеха.

 , , ,

invokercd
()