LINUX.ORG.RU

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

Оцените архиватор (дедупликатор) hashget для бэкапов. (архив менее 1%)

Форум — Admin

Привет!

Поглядите пожалуйста мой новый «велосипед» - дедупликатор hashget. Начнем сразу с интриги:

Сравнение

Data sampleunpacked size.tar.gzhashget .tar.gz
Wordpress-5.1.143 Mb11 Mb ( 26% )155 Kb ( 0.3% )
Linux kernel 5.0.4934 Mb161 Mb ( 20% )4.7 Mb ( 0.5% )
Debian 9 (LAMP) LXC VM724 Mb165 Mb ( 23% )4.1 Mb ( 0.5% )

Предыстория

Всегда когда целиком бэкапил виртуалку, у меня было некоторое ощущение неправильности. С одной стороны, никогда нельзя просто сохранить только нужное (например, /etc, /home, /root и /var/www), потому что при восстановлении из такого бэкапа либо надо будет что-то сделать (поставить/настроить пакет какой-то), либо что-то забудешь положить в архив, например, утилитку из /usr/local/bin. А нужно - чтобы из архива автоматически получить точно ту же исходную систему, без «жаль забыл еще то и это в бэкап включить».

С другой стороны, паковать всю машину с файлами apache, mysql (о! базы mysql еще забыл в предыдущем списке) - получается примерно гигабайт исходных данных даже на скромную чистую LAMP машинку где еще нет ничего ценного. Очень большой overhead.

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

Hashget

Hashget - делает только дедупликацию. То есть, смотрит, какие из файлов для архивации можно при восстановлении просто скачать (то есть, их для вас уже кто-то надежно хранит) и подготавливает exclude file для tar (опция -X). Например, файлы из пакета apache - в бэкап не пойдут. Файлы из wordpress тоже почти все не пойдут. Но если вы что-то пропатчили (и эти новые файлы отличаются от дистрибутивных) - то эти файлы будут в архиве.

Распаковка делается в два шага автоматом, сначала tar -x …, затем hashget -u … . Он автоматом выкачает то что нужно, положит по нужным путям, выставит те же атрибуты. Вот в примере выше, крошечные архивы по 150Kb / 4M - аналогичны таким же .tar.gz архивам по 160Mb.

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

В результате

Бэкапы - гораздо меньше. Их можно делать каждый день и хранить хоть все. Это дешево. Можно пересылать по почте, в телеграм-чате, хоть на флоппи-дисках. Заливать на Amazon Glacier и забывать о них. Разложить в десяток разных мест на разных материках, чтобы даже после ядерной войны они сохранились. Все равно это все будет стоить копейки.

Вопрос

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

Интересны любые отзывы и вопросы по hashget’у.

 , , , ,

xen0n
()

Сделяль тёмное Whisker меню в Минте

Форум — Desktop

Минтовские дефолтные темы меня всегда очень радовали броскостью, аккуратностью и продуманностью. Однако в редакции c Xfce главное меню светлое, что меня порядком раздражало. Сделал тёмное, как в редакции Cinnamon. Держите, может кому пригодится.

В ~/.config/gtk-3.0/gtk.css добавьте строчки:

/******************************************************
XFCE WHISKER MENU
******************************************************/

@define-color whisker_selected_bg #9AB87C;
@define-color whisker_dark_bg #383838;
@define-color whisker_main_bg @whisker_dark_bg;
@define-color whisker_border #252525;
@define-color whisker_selected_mono #808080;

#whiskermenu-window * {
    border-left-color: @whisker_border;
    border-top-color: @whisker_border;
    border-right-color: @whisker_border;
    border-bottom-color: @whisker_border; }

/* Window */
#whiskermenu-window {
	background-color: @whisker_main_bg;
	color: #ccc; }

#whiskermenu-window scrollbar {
	background-color: @whisker_dark_bg;}
#whiskermenu-window scrollbar.top,
#whiskermenu-window scrollbar.bottom,
#whiskermenu-window scrollbar.left,
#whiskermenu-window scrollbar.right {
    border-bottom: 1px solid @whisker_border; }
#whiskermenu-window  scrollbar slider {
    border: 4px solid transparent; }

#whiskermenu-window border {
	border-color: @whisker_dark_bg; }

/* Buttons */
#whiskermenu-window button {
    border-width: 0px;
	color: #ccc; }
#whiskermenu-window button:hover {
	background-color: @whisker_selected_mono;
	color: #fff; }
#whiskermenu-window button:checked {
	background-color: @whisker_selected_mono;
	color: #fff; }

/* Entry */
#whiskermenu-window entry {
	background-color: @whisker_dark_bg;
	color: #fff;
	border-color: @whisker_border; }
#whiskermenu-window entry:focus {
	border-color: @whisker_selected_bg; }

/* Treeview */
#whiskermenu-window treeview {
	background-color: @whisker_dark_bg;
	color: #ccc; }
#whiskermenu-window treeview:hover {
	background-color: @whisker_selected_bg;
	color: #fff; }


Если файла не существует, создайте его.
Результат выглядит так.

 , , , ,

meliafaro
()

Как сделать, чтобы приложение открывалось в fullscreen?

Форум — Desktop

Через контекстное меню файла выбираю Open with other application, в поле Use a custome command ввожу /usr/bin/название-приложения — файл открывается и просматривается. Всё в норме.

Вопрос же возник такой: какую команду добавить к /usr/bin/название-приложения, чтобы открывать файл сразу на весь экран?

На англоязычных форумах встречала упоминание wmctrl и эмуляцию нажатия клавиш Ctrl+F, но конкретного объяснения так и не нашла. Везде вода на уровне диванных теоретиков.

Как решить задачу с fullscreen? Поделитесь знанием, кто умеет.

 

Joanna
()

Как переприцепить процесс с одного терминала на другой?

Форум — General

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

 

tsmx
()

Нормально ли это?

Форум — Admin

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

[ 4302.025672] INFO: task pool:4638 blocked for more than 120 seconds.
[ 4302.025680]       Tainted: P           O      4.20.3 #1
[ 4302.025683] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 4302.025687] pool            D    0  4638      1 0x00000000
[ 4302.025691] Call Trace:
[ 4302.025703]  ? __schedule+0x3f5/0x880
[ 4302.025708]  ? __flush_work+0x57/0x1d0
[ 4302.025712]  schedule+0x32/0x80
[ 4302.025716]  schedule_preempt_disabled+0xa/0x10
[ 4302.025719]  __mutex_lock.isra.7+0x296/0x4d0
[ 4302.025726]  ? __blkdev_get+0x149/0x4c0
[ 4302.025729]  __blkdev_get+0x149/0x4c0
[ 4302.025734]  ? bd_acquire+0xd0/0xd0
[ 4302.025737]  blkdev_get+0x122/0x310
[ 4302.025741]  ? inode_permission+0x29/0x130
[ 4302.025745]  ? bd_acquire+0xd0/0xd0
[ 4302.025749]  do_dentry_open+0x1de/0x340
[ 4302.025753]  path_openat+0x782/0x1400
[ 4302.025759]  do_filp_open+0x99/0x110
[ 4302.025763]  ? _cond_resched+0x16/0x40
[ 4302.025766]  ? _cond_resched+0x16/0x40
[ 4302.025769]  ? __check_object_size+0x161/0x1a0
[ 4302.025774]  ? do_sys_open+0x12e/0x210
[ 4302.025778]  do_sys_open+0x12e/0x210
[ 4302.025782]  do_syscall_64+0x55/0x100
[ 4302.025787]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 4302.025793] RIP: 0033:0x7fba08d5083d
[ 4302.025801] Code: Bad RIP value.
[ 4302.025803] RSP: 002b:00007fb9f6ffcb40 EFLAGS: 00000293 ORIG_RAX: 0000000000000002
[ 4302.025806] RAX: ffffffffffffffda RBX: 000055870f907e70 RCX: 00007fba08d5083d
[ 4302.025808] RDX: 000055870f8edf60 RSI: 0000000000000800 RDI: 000055870f8edf60
[ 4302.025810] RBP: 00007fb9f8002810 R08: 000055870f8c6508 R09: 000055870f8cb568
[ 4302.025812] R10: aaaaaaaaaaaaaaab R11: 0000000000000293 R12: 00007fb9f6ffccd8
[ 4302.025813] R13: 00007fb9f6ffcc00 R14: 0000000000000000 R15: 00007fb9f8002810
[ 7630.523689] AVX2 instructions are not detected.
Что это и нормально ли это? Вот команда, которая выполняется в фоне:
dd if=/dev/urandom|pv|dd of=/dev/sdb  bs=192M

 , ,

ne-vlezay
()