LINUX.ORG.RU

Сообщения Valdor

 

Есть ли причины НЕ использовать LVM?

 

С его плюсами и возможностями всё ясно. А есть ли хоть какие-нибудь причины его НЕ использовать? Просветите, пожалуйста.

Valdor
()

Ubuntu - шифровать домашнюю папку

 , ,

Поставил на старый компьютер Linux Mint, решил не городить LUKS/Cryptsetup а просто поставил галочку «Шифровать домашнюю папку». Посмотрев выхлоп mount, я понял, что используется ecryptfs. При запуске системы я ввожу только один пароль - пароль логина пользователя в MDM. Я понимаю принцип работы ecryptfs, но вот вопрос - если от меня не требуется пароль для отпирания данных в домашнем каталоге, то он ведь не потребуется и от врага? ecryptfs - решето, или за данные можно реально не беспокоиться?

Valdor
()

Awesome: есть ли значение, где в конфиге awesome находится «Handle runtime errors after startup»?

 ,

В стандартном конфиге Awesome вот такой код находится сразу после загрузки стандартных модулей:

-- Handle runtime errors after startup
do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
        -- Make sure we don't go into an endless error loop
        if in_error then return end
        in_error = true

        naughty.notify({ preset = naughty.config.presets.critical,
                         title = "Oops, an error happened!",
                         text = tostring(err) })
        in_error = false
    end)
end
-- }}}
Есть ли значение, насколько высоко по коду он находится? У меня он идёт после определения нескольких фукнций. Пофиг или не пофиг?

Valdor
()

Вопрос по использованию снапшотов LVM

 ,

Вот у меня есть корневая файловая система. Допустим, я создаю её снапшот. После того, как я его куда-то смонтирую, все изменения пишутся туда. Если я его отмонтирую - то изменения будут применены к корню. Если я его отмонтирую и сделаю lvconvert --merge, то изменения будут отменены, а снапшот удалится. В связи с этим возникают следующие вопросы:

1.) После создания снапшота, могу ли я как-нибудь оставить его, не удаляя, но и не применяя изменения, чтобы при следующей загрузке выбирать, загрузиться ли мне в состояние системы до снапшота, или в состояние снапшота?

2.) Могу ли я такое проделывать с несколькими снапшотами? Например, на основе одного и того же логического тома создать несколько снапшотов, каждый - со своими изменениями, и выбирать, хочу ли я загрузиться в основную систему, или в каждый из снапшотов, а так же, при желании, объединить один из снапшотов с основной системой?

3.) Почему merge означает отмену изменений? merge - это, вроде, слиться/объединить.

Заранее спасибо.

Valdor
()

Научите меня правильно пользоваться LVM-снапшотами для бэкапа/экспериментов

 , ,

Создал снапшот логического тома, который у меня представляет /. Действовал по этому ману: http://www.tecmint.com/take-snapshot-of-logical-volume-and-restore-in-lvm/

Снапшот создался, я записал в корень 4 гига нулей в отдельный файл, lvdisplay показал, что на снапшоте теперь занято столько-то процентов. Всё нормально. Делаю

# lvconvert --merge /dev/путь_к_снапшоту

Получаю выхлоп:

filesystem in use, merging will happen on next activation of имя_группы_томов.

Окей, перезагружаюсь. При включении ловлю:

Buffer I/O error on device dm-4, logical block 16

Загрузка проходит нормально, снапшота больше нет, нулей в корне тоже нет. В моём представлении, нули должны были оказаться в корне, снапшот - исчезнуть. Что я делаю не так? Как правильно создавать снапшот корня, если я хочу, например, обновиться, потестировать, и либо принять изменения, либо откатиться? Заранее спасибо

Valdor
()

mpd как сокет, как системный сервис или от пользователя?

 

Какой из этих подходов корректнее? Как я понимаю, во всех трёх случаях функционал mpd будет одинаковым, а 1 от второго отличается только тем, что в первом mpd запускается по запросу, а во втором - висит постоянно.

Valdor
()

Бинарник ssh-клиента для Android

 ,

Помню, когда у меня был предыдущий телефон на Android, после рутования и установки Busybox у меня появился бинарник ssh, и я его мог запускать через мой любимый Android Terminal Emulator. Сейчас у меня новый телефон, root, Busybox установлены, а ssh, который я мог бы запустить просто из командной строки, нет. ssh-клиенты типа JuiceSSH и Connectbot не кажутся удобными - у Android Terminal Emulator очень удобный доступ к |, tab и прочим функциям терминала. Есть ли простой способ вкатить такой клиент на мобилу? ADB есть, root есть. Заранее спасибо

Valdor
()

Есть ли причины использовать apt-* вместо aptitude?

 , , ,

Я заметил, что нет такой фичи apt-{get,cache,mark}, которой не было бы у aptitude, но у aptitude гораздо более удобное управление и поиск.

В связи с этим вопрос - есть ли причины предпочесть apt-* и использовать его вместо aptitude? Заранее спасибо

Valdor
()

Сделать так, чтобы монитор не гас, но выключался

 ,

Сейчас расклад такой - через некоторое время бездействия монитор сначала начинает показывать чёрный экран, а ещё через некоторое время - переходит в режим энергосбережния. Никакие скринсейверы не стоят. Хочу, чтобы он не врубал чёрный на весь экран, а просто переходил в режим энергосбережения. Попробовал xset s off; xset s noblank; xset s noexpose

xset q
Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  XKB indicators:
    00: Caps Lock:   off    01: Num Lock:    off    02: Scroll Lock: off
    03: Compose:     off    04: Kana:        off    05: Sleep:       off
    06: Suspend:     off    07: Mute:        off    08: Misc:        off
    09: Mail:        off    10: Charging:    off    11: Shift Lock:  off
    12: Group 2:     off    13: Mouse Keys:  off
  auto repeat delay:  660    repeat rate:  25
  auto repeating keys:  00ffffffdffffbbf
                        fadfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  50    bell pitch:  400    bell duration:  100
Pointer Control:
  acceleration:  2/1    threshold:  4
Screen Saver:
  prefer blanking:  no    allow exposures:  no
  timeout:  0    cycle:  600
Colors:
  default colormap:  0x20    BlackPixel:  0x0    WhitePixel:  0xffffff
Font Path:
  /usr/share/fonts/X11/misc,built-ins
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Enabled
  Monitor is On

, но он всё равно сначала темнеет. Как реализовать нужное?

Valdor
()

Функция для запуска программ/открытия файлов/обработки иных событий.

 , , , ,

Вариант на bash: http://pastebin.com/sWx7C4XC

Вариант для включения в .zshrc (есть автодополнение): http://pastebin.com/n9zz7s9u

Частично сам, частично не сам, набросал вот такую вещь. Замысел таков: вместо многочисленных лаунчеров типа xfce4-appfinder, gmrun и прочее, мне кажется более удобным запускать эмулятор терминала с соответствующей геометрией, и там запускать команды. Для того, чтобы это было больше похоже на лаунчер, и служит эта функция/этот скрипт.

Суть его такова: проверяем аргумент на соответствие шаблону (строки 6-15), если подходит - выполняем то или иное действие для строки, из которой убран, собственно, идентификатор (для примера - гуглинг по g:запрос и открытие википедии по w:страница). Затем, если то, что ввёл пользователь - это исполняемый файл в $PATH, то выполнить его (способы поиска в $PATH для bash и zsh разные). Дальше - если то, что ввёл пользователь, не находится в $PATH, то проверить - есть такой файл? Если нет, то открыть строку через exo-open (так как там может быть протокол http://, ftp:// или ещё что-то, не являющееся файлом, но открываемое exo-open). Если же это - файл, то проверить его на то, исполняемый ли он. Если исполняемый - то выполнить, иначе - открыть через exo-open.

Если какое-либо из действий было успешно - то открепить запущенное от терминала и закрыть оболочку (если запускается, как скрипт, то сам терминал не закроется, а просто прекратится выполнение скрипта с отвязкой запущенного от терминала. В случае же запуска, как функции zsh, закроется сам zsh, таким образом, будет поведение, как у лаунчеров: набрал, enter, лаунчер закрылся, команда выполнилась).

Вместо exo-open можно использовать xdg-open, kde-open, gnome-open — по желанию. Результат будет примерно одинаковым.

Реализовано ещё не всё, что хотелось бы. Конкретно, мне хотелось бы добавить обработку опций: например, чтобы при -t команда выполнялась в терминале, но я не знаю, как сделать обработку опций так, чтобы это не конфликтовало с основным аргументом функции/скрипта. Буду рад подсказкам. Все желающие приглашаются к тестированию, допилу, указанию на костыли и ошибки и прочее.

Запускать так: если zsh, то всё со второй ссылки добавить в конец .zshrc, и вызывать по «xo строка». Чтобы работало автодополнение, надо его включить в zsh (autoload -Uz compinit, вроде)

Если запускать, как отдельный скрипт на bash - то всё с первой ссылки положить в файл, сделать ему chmod +x и запускать по ./файл строка.

Видео-демонстрация того, как я это использую: https://dropmefiles.com/PUv3I (.ogv файл)

Valdor
()

Вопрос о совместимости Bash и Zsh, а так же о принципиальности выбора между ними

 , ,

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

Мне известно, что Bash и Zsh не полностью совместимы друг с другом. В связи с этим такой вопрос: прав ли я, полагая, что это совершенно неважно? Приведу свои доводы:

1.) Есть два режима использования командного интерпретатора - интерактивный (когда пользователь вводит команды) и неинтерактивный (когда интерпретатор выполняет какой-либо скрипт).

2.) Есть два способа запустить скрипт. Либо он делается исполняемым и вызывается по пути к нему, либо вызывается интерпретатор и ему указывается путь к скрипту.

3.) В первом случае интерпретатор выбирается автоматически исходя из shabang в начале скрипта.

4.) Во тором случае интерпретатор указывает сам пользователь.

5.) При этом, большая часть shell-скриптов написана совместимо с sh. Те, что не написаны совместимо с sh, совместимы с bash. Поскольку bash обратно совместим с sh, любой shell-скрипт можно открывать интерпретатором bash и не промахнуться.

6.) На zsh/fish и других скрипты не пишут, поскольку основные отличия zsh/fish и прочих от sh и bash направлены на увеличение удобства интерактивного использования, а в написании скриптов бесполезны.

7.) Таким образом вопрос со скриптами решается сам собой: писать на bash/sh, выполнять bash'ем - и не прогадаешь. И в любом случае совсем не играет роли, какой интерпретатор используется, как основной.

8.) В режиме интерактивного использования всё определяется исключительно личными предпочтениями пользователя, потому что ни о какой совместимости при этом речи не идёт.

Правильны ли мои мысли?

Valdor
()

Запускатор программ/открыватор файлов на bash/zsh

 , ,

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

Пока сделал так:

cat .zshrc

xo () {
xdg-open $1 &
disown
exit
}

xr () {
$1 &
disown
exit
}
По специальному сочетанию клавиш открывается терминал 100x5 столбцов, по команде

xo ФАЙЛ

Файл открывается через xdg-open, окошко терминала уходит

По команде

xr команда

Выполняется команда, окошко терминала уходит.

Вроде, всё неплохо, но некоторые вещи далеки от идеала:

1.) Если вызываю xo (ожидается имя файла), то автодополнение zsh работает, как надо - предлагает имя файла. При этом, если я вызываю xr, мне надо, чтобы автодополнение предлагало пути из $PATH (как если бы я не вызывал xr, а просто набрал первую букву имени проги и жал Tab), однако, оно предлагает по-прежнему автодополнять пути (что ожидаемо, ведь оно считает, что xr - команда, а её аргумент - файл). Как бы мне сделать так, чтобы автодополнение после xr предлагало команды, а не файлы?

2.) Можно ли сделать так, чтобы по-умолчанию любая вводимая команда выполнялась так, как если бы она была аргументом функции xr? То есть, я себе вижу это так: я ввожу какую-то команду, как если бы речь шла об обычном zsh/bash без каких-либо функций (автодополнение работает, как обычно), жму enter - она выполняется с отвязкой от shell, shell закрывается. Либо же я могу ввести xo ФАЙЛ и он откроется так, как полагается с учётом той функции xo.

Буду очень благодарен за все советы.

Valdor
()

bash/zsh: как запустить какую-либо команду, не как потомка shell?

 ,

Мне нужно из скрипта запустить программу, так, чтобы shell не ждал её завершения (а сразу получал управление назад), и чтобы закрытие shell не убивало программу. Как это сделать?

Valdor
()

gmrun - открывать все файлы по умолчанию через xdg-open

 

gmrun умеет следующее: если указан путь к файлу, то открыть его программой, определённой в конфиге для конкретного расширения. Например:

EXT:doc = libreoffice %s

Скажите, пожалуйста, есть ли способ заставить его открывать все файлы через xdg-open по умолчанию? Я попробовал EXT:all, EXT:*, EXT:, EXT:«» (всё, что пришло в голову) - не работает.

Зато работает, если перечислить все расширения через запятую:

EXT:doc,pdf...

Но это долго, мучительно и неуниверсально

Valdor
()

Ищу запускатор для программ

 

Ищу что-то по тику xfce4-appfinder, krunner, rofi.

Требования:

  • Чтобы было автодополнение путей файлов (так не умеют rofi, xfce4-appfinder, gmrun)
  • Чтобы была поддержка .desktop файлов (например, xfce4-appfinder при наборе gparted предлагает выполнить не gparted, а gparted-pkexec (как указано в gparted.desktop))
  • Десктопонезависимость

    Есть что-нибудь такое в природе? Заранее спасибо

Valdor
()

Ext4: хватит ли inode-ов?

 ,

Всем привет. Использую ext4 как основную файловую систему. Сейчас прогнал df -i на корень и на /home - увидел, сколько inode свободно, а сколько - занято. В принципе, то, что я увидел, меня не слишком беспокоит. Но как узнать, хватит ли их для полного заполнения ФС? Насколько я знаю, один inode создаётся на каждые N байт. Как бы посмотреть, чему равно это самое N?

Кстати, что вообще надо сделать (при создании ФС или после), чтобы гарантировать, что inode не кончатся раньше, чем кончится место?

Valdor
()

Файловые системы для / и /home

 ,

Какие ФС выбрать для / и /home (по отдельности)?

Мне нужна максимальная надёжность и хорошая производительность. В хомяке содержимое смешанное, в / - стандартное для Linux-системы. Есть ли причины использовать какую-либо ФС, кроме Ext4? Весь функционал вроде снапшотов будет реализован посредством LVM.

Valdor
()

Awesome: индикатор громкости/состояния звука

 , ,

Есть вот такой виджет для Awesome: https://awesome.naquadah.org/wiki/Volume_control_and_display

Принцип работы такой - каждые 0.2 секунды он дёргает amixer и получает информацию о звуке. Мне показалось это не очень изящным решением. Поскольку включение/выключение звука/изменение громкости у меня происходят через настроенные в Awesome бинды с помощью amixer, я попробовал добавить в эти бинды и команду update_volume(volume_widget). То есть, в function() для биндов добавил update_volume(volume_widget) и убрал автообовление. Работает, но не очень: на первое нажатие сочетания клавиш нет реакции. Т.е. вот так происходит отображение:

5% - (нажал +5) - 5% - (нажал +5) - 10% - (нажал -5) - 15% - нажал (+5) - 10%

Мне хотелось бы как-нибудь реализовать отображение актуальной громкости без необходимости получать инфу каждые N секунд, а чтобы она обновлялась при изменении. Есть ли такой способ для Awesome? Заранее спасибо

Valdor
()

Вероятность кражи домашнего стационарного компьютера

 ,

Рассмотрев все возможные варианты получения злодеем доступа к моему компютеру/моим дискам, я пришёл к выводу, что единственный сценарий, при котором шифрование данных на компьютере является необходимым и достаточным условием сохранности данных - это если кто-то просто крадёт мой компьютер/мои диски и я их уже не вижу больше в своей жизни.

Мне кажется крайне-крайне маловероятным, что это произойдёт с моим домашним стационарным компьютером. Прошу всех, кто задумывался об этом вопросе, высказать своё мнение на этот счёт: Какова вероятность того, что злодей ВНЕЗАПНО ворвётся в мою квартиру на >4 этаже, за несколькими дверьми, украдёт мой компютер и убежит с ним под мышкой? Имеет ли смысл предохранять данные на случай этого сценария? Естественно, вопрос укрепления самой квартиры не стоит, поскольку к нему любой человек относится серьёзно, безотносительно данных.

Valdor
()

Заставить journald писать все логи в /var/log

 , , ,

Мне бы хотелось, чтобы все логи journald были доступны в плейнтексте в /var/log. Как можно настроить его для такого поведения? Debian 8, Systemd.

Valdor
()

RSS подписка на новые темы