8 подсказок, как сделать ваши скрипты лучше

Перевод статьи "8 Tips for creating better bash scripts", написанной Benjamin Cane и опубликованной на сайте http://bencane.com 6 июня 2014

"8 Tips for creating better bash scripts"

Benjamin Cane, 2014⁄06⁄06

Когда я только начал администрировать Linux и Unix серверы, я работал в среде, где были тонны скриптов, написанных другими администраторами. Время от времени мне приходилось тестировать их, выясняя, почему тот или иной скрипт перестал работать. Иногда они были написаны правильно и понятно, иногда неуклюже и запутанно.
Хотя поиск и устранение ошибок в плохо написанных скриптах были всегда напрягом, они преподали мне важный урок. Это показало мне, что, даже если вы не думаете, что скрипт будет использоваться в будущем, лучше писать его так, как будто кто-нибудь будет диагностировать его через два года. Причем этот "кто-нибудь" может оказаться кем угодно, даже вами же самим.

Читать далее...

LM 17 и XAMPP

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

Стыдно признаваться в собственной глупости, но, говорят, полезно...

Прошло несколько дней после установки LM 17 "Qiana" Cinnamon, первые, самые неотложные дела сделаны, настало время установить XAMPP и развернуть свои виртуальные хосты.

Процедура, описанная мной в трех частях (1, 2 и 3), проста и не занимает много времени, даже если ее приходится проводить впервые, "с нуля". А если иметь заготовки настраиваемых файлов (/etc/hosts, /opt/lampp/etc/httpd.conf и /opt/lampp/etc/extra/httpd-vhosts.conf) плюс бэкапы виртуальных хостов, то вообще можно легко уложиться в пять минут с перекуром. Тем более, что всё это неоднократно и без малейших проблем делалось в разное время и на разных ОСях (Linux Mint с 11 по 16, Росинках 9, 11 и 13, Убунтах, включая Runtu и Matuntu, Арче, Bodhi и уж не помню, на чем еще).

А в LM 17 вдруг случился облом.

Читать далее...

LM 17 "Qiana" Cinnamon RC: первые впечатления

...Уже 30 мая, а релиза LM 17 еще не видно...

Ну что ж, Клема можно понять. Этот релиз означает поворотный пункт для ближайшего, а, возможно, и дальнего будущего Linux Mint и Cinnamon, и совсем не хочется, чтобы получилось как некогда с Ubuntu 10.

Два важнейших события: впервые объявлено о выходе версии с долгосрочной поддержкой и наконец-то Cinnamon стал самостоятельным DE, не зависящим более от GNOME Shell. И то, и другое потребовало очень большой работы, и я утверждаю, что ее результаты налицо.

А пока несколько слов о кандидат-релизе.

Читать далее...

7z vs lrzip. Сравнение двух архиваторов.

Пришло мне в голову сравнить архиваторы 7z (7zip) и lrzip. Ничего особенного от этого сравнения я не ждал и, как выяснилось, зря. Получилось интересно.

Кто не в курсе: lrzip – это такой архиватор, созданный небезызвестным Коном Коливасом (Con Kolivas) сотоварищи, и предназначенный "для архивирования больших файлов", как сказано в мане. Ну, а про 7 zip и Игоря Павлова, я полагаю, все знают.

Читать далее...

Matuntu-Tahr — сборка для друзей

Note:   Сообщаю (без сожаления, даже наоборот), что данный пост безнадежно устарел по основательной и приятной причине: команда сборки Matuntu обзавелась собственным сайтом. Смотрите подробности в этой заметке
.

"Самосборный линукс" – штука обычная и давно уже никого не удивляет. Некоторые кривятся и цедят: "Самопал...". Лично я к таким не отношусь. Полагаю, довольно значительный процент оригинальных дериватов, часть которых теперь уже воспринимаются как "самостоятельные" ОСи (или, по крайней мере, вполне самостоятельные проекты), со своей историей и сообществами, возник именно таким путем. Взять хотя бы близкую мне "Росинку", 9-я версия которой, неубиваемая и непотопляемая, простояла на моей машине как становой хребет более трех с половиной лет.

Несколько дней назад мне написал юзер ivm с предложением посмотреть сборку Matuntu-Tahr, в создании котрой он принимал участие.

Томимый ожиданием релиза LM 17 Qiana и потихоньку освобождающий под него место, я решил познакомиться с Matuntu поближе (тем более, что не имел дела с Ubuntu уже очень давно) и установил ее на жесткий диск. О своих – в основном беглых и поверхностных, а в чём-то, возможно, и предвзятых – впечатлениях я вкратце и расскажу.

Читать далее...

Простой скрипт для бэкапа

Это мой самодельный инструмент для бэкапа. На некоторых системах запускается по крону, на других — ручками по мере необходимости.

Собственно, все необходимые пояснения — в самóм скрипте.

(Стянул в незапамятные времена на каком-то форуме идею и алгоритм, теперь уже не упомню где, сорри. Впрочем, от того исходного скрипта осталась только одна строка, да и та изменена).

Читать далее...

Linux и HDD WD Caviar Green

Предыстория: муки и радости

Всем хороши были бы появившиеся лет этак пять назад диски WD Caviar Green, если бы не два "но". Совсем как в старой деревенской присказке: "Девка, в опчем, не плохая. Только ссытся. И глухая". Ну да ничего, – думал я, покупая в 2011-м (до известного наводнения) за каких-то 2000 руб терабайтный WDC WD10EARS-00Y5B1, – нынче наука и не с такими проблемами справляется. Зато дешевый, тихий, холодный, боольшой!..

Кто не в курсе, две проблемы назывались так: "Advanced Format" и "intellipark".

Читать далее...

LM 16 Cinnamon: Кастомизируем Grub

Вообще-то дело простое, – для тех, кто уже им занимался. Я полагал, что об этом и писать не стóит, однако ребята-мантайнеры не дремлют и подбрасывают нам новые загадки, чтобы и мы не скучали smile

Выяснилось, что в файле /etc/grub.d/06_mint_theme две последние секции вообще закомментированы. Ладно, не проблема; но... Обычный способ, т.е. правка 16-й строки до состояния

for i in {/boot/grub,/usr/share/images/desktop-base}/картинка.{png,tga,jpg,jpeg} ; do

не приводит к появлению в меню grub'a картинки. Перепроверка формата картинок ничего не дала (напомню, они должны быть 8-битные и rgb, а не индексированные, размер и разрешение можно применять по своему монитору, да еще и проверить в консоли grub'a командой vbeinfo, что оно поддерживается). Тут меня слегка заколдобило и я решил добиться желаемого во что бы то ни стало.

Читать далее...

LM16 Cinnamon и принтер Canon LBP2900

История отношений моего принтера Canon LBP 2900 и Linux вполне тянет на материал для драматичного любовного романа с напряжённым сюжетом. Были тут и сладостные моменты гармонии и душевного согласия, и ссоры вплоть до расставаний, и, — наконец, всё это мне надоело. Достаточно я нашарахался от инструкции к инструкции, от скрипта к скрипту, даже сам написал пошаговое руководство (и, кстати, установленный по нему принтер до сих пор работает в Росинке-9, но не в новых дистрах, увы...). И пришла ко мне поистине революционная в своей новизне мысль: а почему бы не установить принтер строго по прилагаемой к драйверу официальной инструкции от Canon?!

Знаю, найдутся такие ребята, которые поднимут меня на смех: мол, кто ж так делает? разве только чайники какие-нибудь. А я стану горячо возражать: Друзья, зато, кроме уникального опыта, я в случае неудачи могу с полным основанием сказать, кто виноват. Это так утешает русскую ментальность! И кроме того, сами-то вы пробовали?

Читать далее...

LM 16 Cinnamon: Conky. Часть 1. Подготовительные работы

Conky, или в народе "коньки", представляет собой мощный и разнообразно настраиваемый системный монитор, берущий начало от torsmo.

Я не имею своей целью излагать тут теорию и даже большинство практических нюансов настройки и отладки conky, а просто приведу свои настройки и свой результат, отсылая всех интересующихся более подробными сведениями к Гуглу и по ссылкам, которые буду приводить по ходу дела.

Читать далее...