Архив рубрики: Linux

inodes: что это, или почему % свободного места не главное

Большинство компаний считают, что они могут обойтись без ИТ-специалиста. Ведь у них всё всегда работает, и ломаться не может. А в случай чего вон Ваня/Петя или какой-либо сантехник всё быстро почистит. Так было и в этот раз. Сайт одной крупной компании, выделенный хостинг, отсутствие специалиста. Как результат сайт перестает принимать заявки/обрабатывать корзину с покупками.

Судорожные звонки программистам, простой сайта, потери заказов и всё остальное, что с этим связано. К нам обратились, уже когда программисты совсем сдались, и предлагали перенести сайт на их площадку (так как у них всё работает, но опять таки не за бесплатно).И так, первый осмотр, быстрый анализ, и вот первая ошибка: при попытке запуска mc на CentOS появлялось сообщение о недостатке свободного места. Выполнив команду df -h, в это убеждаемся и начинаем мысль, что же не так. Права? Ошибка на диске? Но наша техническая wiki подсказала другого виновника — inodes. Читать

Установка принтера HP в Linux Mint Debian Edition

Понадобилось мне тут установить принтер HP LaserJet P1102 в Linux Mint Debian Edition.

В системе уже установлена система печати HPLIP (Hewlett-Packard Linux Printing and Imaging System), которая по идее должна сама всё установить.

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

Походив по официальным ссылкам от HP, решил это следующим образом.

Доустановливаем через тот же Synaptic дополнительный пакет hplip-gui.
Это нужно для запуска программы HP Device Manager, в которой будет проводится все нужные операции.

Через терминал с root-правами:

hp-plugin

устанавливаем Driver Plug-in.
Там же командой

hp-setup
запускаем собственно установку:
Выбираем USB, далее — подключенное устройство, задаём имя принтеру и всё готово.
Проверяем — есть печать!
Принтер, что установился ранее самостоятельно, удаляем, чтобы не путаться.

Автор: Sergey Bolshakov

Start_Linux_Wine.v2.x / Gnome / Zenity

Обновлена версия скрипта Linux Games Start (LGS)…
Скрипт для организации и управления Wine префиксами / игры.

Версия для Kdialog (KDE) …
http://crimea-karro.org.ua/download/Start_Linux_Wine.v1.2.sh.tar.gz 

Версия для Zenity (Gnome) …
http://crimea-karro.org.ua/download/Start_Linux_Wine.v2.x.sh.tar.gz

***

Start_Linux_Wine.v2.1

* Добавлено ведение логов.
* Дополнительные переменные для кода скрипта.
* Переход на Zenity.
* Добавлена ссылка в меню для обновления скрипта.
* Небольшие игры с  notify-send.
* Добавлен диалог (стёб) «Exit script»?
* function main не дописана.

Версия для Zenity (Gnome) …
http://crimea-karro.org.ua/download/Start_Linux_Wine.v2.x.sh.tar.gz

Автор: AugustuS Karro
Дата публикации: 2014-10-18T08:01:00.000+08:00

Генерация случайных паролей / Linux консоль

Первый метод использует SHA для хеширования даты, «прогоняется» через base64, а затем отображаются первые 32 символа:

date +%s | sha256sum | base64 | head -c 32 ; echo

Этот метод использует встроенную возможность /dev/urandom и оставляет только те символы, которые обычно используются в паролях. Отображаются 32 символа.

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

Следующий метод использует функцию rand из openssl, котоырй может быть не установлен на вашей системе.

openssl rand -base64 32

Этот метод во многом схож с прошлым методом через urandom, но делает все наоборот:

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

Вот ещё один пример, который производит фильтрацию с помощью команды strings и отображает печатные символы из файла: в нашем случае это urandom:

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo

Вот ещё более простая версия метода через urandom:

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

Этот метод использует очень полезную команду dd:

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

Если вы собираетесь использовать какую-нибудь команду все время, возможно, стоило бы поместить её в функцию. В данном случае, вы сможете использовать randpw все время, когда вы захотите сгенерировать новый пароль. Это нужно будет поместить в ваш файл ~/.bashrc:

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

Вы можете использовать тот же синтаксис, чтобы использовать любой из примеров как функцию — просто замените команду внутри символов { }.

И, наконец, вот самый простой способ создания пароля из командной строки. Это простая контрольная сумма MD5 от текущей даты:

date | md5sum

Автор: AugustuS Karro
Дата публикации: 2014-10-15T05:15:00.000+08:00

Интеграция скриптов,ярлыков в панель Unity / Ubuntu 14.xx / Linux

Все ярлыки находятся в папке /usr/share/applications/

$ cd /usr/share/applications/

Создаем ярлык для скрипта с вашем названием…

$ sudo gedit hacker_run.desktop

Файл должен содержать следующие подпункты…

[Desktop Entry]
Name=
Comment=
GenericName=
Keywords=
Exec=
Terminal=false
Type=Application
Icon=
Path=
Categories=
NoDisplay=false

***

Name- имя приложения, которое будет отображаться под иконкой в Главном меню;
Keywords- слова, по которым будет искаться данный ярлык в Главном меню;
Exec- строка запуска приложения;
Terminal- (true или false)- запускать или нет приложение в окне терминала4);
Type- определяет «раздел» в Главном меню, где будет находится ярлык приложения;
Icon- путь или общесистемное название иконки;
Path- путь к рабочему каталогу приложения);
Categories- категории, к которым будет относится ярлык вашего приложения при выборе в Главном меню фильтров. Проще всего подсмотреть в ярлыке другого приложения, категория которого вам подходит.
NoDisplay(true или false)- Не отображать иконку в Главном меню(если true);

***

Нам будут полезны Name,Keywords,Exec.

Достаточно заполнить Name и Exec.
Прописываем в Name то имя, которое хотим, чтобы отображалось в меню Dash Unity.
В поле Icon прописываем путь до нашей иконки (полностью).
В поле Exec прописываем путь до скрипта (полностью).

***

Обратите внимание, если у вас не стоит автомонтирование дисков в fstab, и приложение или скрипт находятся на не смонтированных носителях, иконка (приложение) пропадает с панели.

Автор: AugustuS Karro
Дата публикации: 2014-10-15T04:56:00.000+08:00

Готовим образ ISO с DOS для удаленной прошивки BIOS

К сожалению, не все платы Supermicro поддерживают загрузку через IPMI с образов HDD. Не все платы поддерживают Supermicro Update Manager, который является отдельным платным продуктом, в использовании которого в небольших средах до десятка серверов нет реальной необходимости.

Остается лишь поддерживаемый всеми IPMI модулями ISO, изготовлением которого мы и займемся. Для унификации со способом загрузки разных полезных вещей будем использовать тот же загрузчик Syslinux, т.е. его разновидность под названием ISOLinux. Загрузчик выводит меню и при помощи модуля memdisk грузит нужный дисковый образ. Это не самый простой способ в плане первоначальных затрат времени, но в дальнейшем будет легко использовать ту же конфигурацию и образы для загрузки через PXELinux.
Процесс настройки ISOLinux подробно описан в Вики по Syslinux, но пути к некоторым файлам в дистрибутиве Syslinux в последних версиях изменились.
1. Качаем последний дистрибутив Syslinux (6-я ветка, последняя на сегодняшний день): ftp://kernel.org/pub/linux/utils/boot/syslinux/6.xx/syslinux-6.02.tar.bz2
2. Создаем каталоги cd_root/isolinux и cd_root/kernel. В cd_root/isolinux копируем файлы из дистрибутива:
bios/core/isolinux.bin
bios/com32/elflink/ldlinux/ldlinux.c32
bios/com32/menu/menu.c32
bios/com32/menu/vesamenu.c32
bios/com32/chain/chain.c32
bios/com32/lib/libcom32.c32
bios/com32/libutil/libutil.c32
В cd_root/kernel копируем bios/memdisk/memdisk
3. Готовим образ HDD с DOS. Образы копируем в cd_root/images
4. Пример конфигурационного файла cd_root/isolinux/isolinux.cfg:

DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 300
ONTIMEOUT local

MENU TITLE boot menu
MENU BACKGROUND splash.png

MENU COLOR border 30;44 #00000000 #00000000 none
MENU COLOR unsel 37;44 #90ffffff #00000000 std
MENU COLOR sel 7;37;40 #70ffffff #20ff8000 all
MENU COLOR hotsel 1;7;37;40 #e0ffffff #20ff8000 all

MENU BEGIN tests
MENU TITLE Tests

LABEL MAINMENU
MENU LABEL ^back
MENU EXIT

LABEL memtestplus5
MENU LABEL Memtest86+ 5.01
kernel /kernel/memdisk
initrd /images/memtest86.iso.gz
append iso

MENU END

MENU BEGIN smc_bios
MENU TITLE Supermicro BIOS Updates
LABEL MAINMENU
MENU LABEL ^back
MENU EXIT

MENU BEGIN X10S
MENU TITLE X10S

LABEL MAINMENU
MENU LABEL ^back
MENU EXIT

LABEL X10SLD
MENU LABEL X10SLD v 2.0
kernel /kernel/memdisk
append initrd=/images/smc/x10s/x10sld.gz

MENU END

5. Создаем ISO:

mkisofs -o output.iso 
-b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table
cd_root

6. Проверяем. Видим меню, грузим нужный пункт, получаем DOS:

Автор: Dmitry Nosachev