Хоть в линуксе уже очень давно работаю, но просто как-то только недавно начал использовать zRam. Для моего домашнего, далеко не нового бука это просто оказалось спасением.На 12.04 как бы все установилось без проблем и ничего дополнительно даже настраивать не пришлось. Просто "sudo apt-get install zram-config" и все работает. А вот в 15.04 столкнулся с багой. Все установилось, но при запуске ругается "mkswap: ошибка: область подкачки должна иметь размер как минимум 40 КиБ". Причем вручную все нормально отрабатывает. Стал разбираться, в чем же может быть дело. В итоге нашел, что в скрипте запуска "/usr/bin/init-zram-swapping" есть строчка, где определяется размер установленной памяти:
totalmem=`free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'`
а в системе локаль "ru_RU.UTF-8". И, получается, что русская локаль включается раньше, чем отрабатывает скрипт инициализации zRam. Соответственно скрипт при команде free получает "Память:" вместо "Mem:". После замены в скрипте "Mem:" на "Память:" все стало нормально работать. Но все, считаю, способ как бы не особо правильный. Вопрос - как будет более правильно в этой ситуации сделать?
в начале скрипта написать
export LANG=C
?/да, это вопросительный знак/Ибо, на мой взгляд, это более правильно, ибо поменяет локаль только в этом скрипте.
Нет, я не ставил, и не смотрел данный скрипт, и сказать где именно его писать не знаю.
Даже не в начале скрипта, а totalmem=`LANG=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'` например. И багу надо бы зарепортить.
ну этот вариант тоже работает, как и при подмене на "Память:". А вот к сожалению багрепорты ни разу не писал и как-то не вдавался в подробности, как это делать. К тому же там всяко на английском, а я ток читать могу на английском. Сам врядли смогу составить текст, что бы меня там поняли.
А я и читать не могу, но багрепорты шлю.
Типа не знаю, не могу, не умею… А попробовать слабо? Хотя бы на русском или у вас с ним плохо? А дальше гуглопереводчик вам в помощь. Суть там поймут.
тоже вариант, и возможно даже правильней, при условии, что в дальнейшем нигде локаль не проявляется. :-)
Я, как писал выше, скрипт не смотрел, но вполне может оказаться, что там еще где то грабли вылезут, а может быть и нет.
Отправить комментарий