Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

понедельник, 11 марта 2019 г.

Обновление certbot до 13 марта 2019 (lets encrypt)

Сегодня мне пришло письмо с таким содержанием

Your Let's Encrypt client used ACME TLS-SNI-01 domain validation to issue a

certificate in the past 7 days. Below is a list of names and IP addresses

validated (max of one per account):





TLS-SNI-01 validation is reaching end-of-life. It will stop working

permanently on March 13th, 2019. Any certificates issued before then will

continue to work for 90 days after their issuance date.



You need to update your ACME client to use an alternative validation method

(HTTP-01, DNS-01 or TLS-ALPN-01) before this date or your certificate renewals

will break and existing certificates will start to expire.


Оказалось что у меня certbot в Debian 9 стоял аж версии 0.10, а последняя актуальная 0.28

Узнать версию можно командой

certbot --version




Если версия 0.28 или выше, то всё будет в норме, если же ниже, то с 13 марта ваши сертификаты перестанут обновляться старым certbot...


Для 9го Дебиана надо подключить репозиторий backports, для этого в /etc/apt/sources.list добавить строчку:

deb http://mirror.yandex.ru/debian/ stretch-backports main contrib non-free

 а дальше ввести команду от рута или через судо:

apt-get install certbot python-certbot-nginx -t stretch-backports

А потом для полного обновления

sudo certbot renew --dry-run 




среда, 26 октября 2016 г.

Raspberry Pi 3 и проблемы со встроенным wifi (отваливается, нестабильное соединение, зависание)

Здравствуйте, уважаемые читатели, вчера я решил поднять мини-сервер на raspberry pi 3, в полке валялись две платки, достал одну, подключил, залил образ, настроил wifi и побежал на работу, с работы начал заливать проекты на малинку и тут началось, сперва подумал что завис комп, т.к. доступа к нему не мог получить, но потом он снова потерялся, оказалось что wifi каким то образом засыпал, и делал это в момент сетевой активности, что очень странно.

Чтобы сеть была всегда стабильной - нужно ввести команду

sudo iwconfig wlan0 power off

Но делать это нужно при каждой перезагрузке, это или в крон на @reboot повесить или в инициализацию закинуть скриптик, но это уж отдельная тема для разговора.

четверг, 15 августа 2013 г.

Коробочный мини-сервер, оптимизация Debian (initrd rc инициализация)

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



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

План таков:

1. Ставим Debian 7 в минимальной конфигурации без всяких там иксов
2. Если не установлен, то ставим initramfs-tools
3. По желанию можно поставить утилитки hddtemp, smartmontool, lm-sensors, hdparm, только я их все выпилил из сервисов.
4. Выпиливаем "лишние" сервисы из автозапуска
5. Выпиливаем лишние модули из initrd
6. Убиваем лишние операции в инициализации на стадии init.rd

Теперь немного про инициализацию, она состоит из нескольких этапов

1. Загружается GRUB
2. Грузится ядро
3. Загружается initrd, в котором стартовый набор модулей (в дебиане все модули там лежат), потом на этой же стадии происходит подгрузка всех модулей, монтирование дисков, запуск udev и определение оборудования.
4. Переход на уровень rcS и выполнение скриптов из /etc/rcS.d
5. Загружается всё, что находится в /etc/rc2.d/ там у нас всякие веб-сервера, ssh демоны и т.д.
6. Выводится приглашение и предложение залогиниться!


Облегчение автозапуска
автозапуск/завершение/перезагрузка прописаны в /etc/rc*.d/ директориях в виде символических ссылок (ярлыков) на папку /etc/init.d/ если символическая ссылка начинается на S то выполняется запуск, если K то завершение.
Выключение это /etc/rc0.d/, включение /etc/rc2.d/, перезагрузка /etc/rc6.d/.

Естественно, если вы убираете что то из запуска, то нужно убрать этот же симлинк из перезагрузки и выключения.

Сделайте резеврную копию /etc, а то вдруг что то удалите лишнее или напортачите
tar -zcf etc.tgz /etc

Главный контролирующий скрипт это /etc/inittab в нем запускаются стадии, в нем же и запускаются терминалы (getty), если вы обладаете небольшими навыками в BASH, то можете перепилить все скрипты инициализации на свой лад, всё зависит от вас.


Займемся initrd

Но на этапе rc2 выполняется порой лишь самая малая часть действий, например у меня стартуется crontab, nginx, mysql, postfix - это занимает меньше времени чем первый этап, на котором происходит подготовка системы, монтирование дисков, опрос железа и многое другое, но если мы поставили задачу сделать систему для неттопа, конфигурация которого не будет изменяться, а весь udev можно заменить на несколько строчек modprobe, еще в дебиане на всякий случай в initrd помещаются абсолютно все модули из системы.

Прежде чем приступать к манипуляциям.
После любого изменения конфигурации initrd нужно обновлять файл образа командой
update-initramfs -u

При любом критичном эксперименте желательно иметь резервную копию образа, создать его можно командой
cp /boot/initrd.img-3.2.0-4-amd64 /boot/initrd.img

и при невозможности запуститься - можно в GRUP нажать кнопку e  и отредактировать путь до initrd и нажав ctrl+x

Так же сделайте на всякий случай резервную копию /etc и /usr/share/initramfs-tools/ мы там можем удалить много лишнего, а достать это будет негде.

1. Облегчение initrd
сперва получим список всех загруженных сейчас модулей (которые нужны) и закинем этот список в конфиг
lsmod | tail -n +2 | sort | awk '{print $1;}' > /etc/initramfs-tools/modules

А потом откроем файлик /etc/initramfs-tools/initramfs.conf
и параметр
MODULES=most
приведем к виду
MODULES=list

Смысл этой модификации в том, что в initrd будут запаковываться только модули из списка /etc/initramfs-tools/modules

2. Init-скрипты
Все скрипты находятся в директории /usr/share/initramfs-tools/
В этой директории есть основной контролирующий скрипт init, есть директория scripts в которой скрипты инициализации, есть еще всякие хуки и др.

Спасибо за информацию этому блогу http://www.ylsoftware.com/news/469 там же вы можете прочитать некоторые другие подробности про initrd.

Я решил выпилить всё лишнее вплоть до udev из своего сервера "типа коробочный роутер".

Без udev не работают uuid дисков и поэтому нужно сперва в файле /etc/default/grub раскомментировать строку:
GRUB_DISABLE_LINUX_UUID=true
далее выполнить команду update-grub2

а далее модифицировать /etc/fstab изменив там все UUID на названия дисков типа /dev/sda1 /dev/sda2 ....

после этого наша система готова работать без udev, но тут нужно обратить внимание что без udev подгрузку модулей вы должны делать сами командой modprobe, определить что вам нужно грузить а что нет можно по выводу lsmod с еще включенным udev

Создадим скрипт загрузки модулей
echo '#!/bin/sh' > /usr/share/initramfs-tools/scripts/modprobe

Добавим в него все загруженные на данный момент модули
lsmod | tail -n +2 | sort | awk '{print "modprobe "$1;}'>> /usr/share/initramfs-tools/scripts/modprobe

И сделаем этот скрипт исполняемым
chmod +x /usr/share/initramfs-tools/scripts/modprobe

А теперь самое интересное, я решил снести всё из  /usr/share/initramfs-tools/init
и вписать туда следующий код
#!/bin/sh
mkdir -p /sys /proc /tmp /var/lock
mount -t sysfs -o nodev,noexec,nosuid sysfs /sys
mount -t proc -o nodev,noexec,nosuid proc /proc
mount -t devtmpfs -o size=10M,mode=0755 none /dev
mkdir /dev/pts
mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true
mount -t tmpfs -o "nosuid,size=20%,mode=0755" tmpfs /run
mkdir -m 0755 /run/initramfs
export ROOT=



# Parse command line options
for x in $(cat /proc/cmdline); do
        case $x in
        root=*)
                ROOT=${x#root=}
                        ;;
        esac
done

./scripts/modprobe


mount $ROOT /root
mount -n -o move /run /root/run
mount -n -o move /sys /root/sys
mount -n -o move /proc /root/proc
mount -n -o move /dev /root/dev

exec switch_root /root /sbin/init "$@" </root/dev/console >/root/dev/console 




После этого можно выпилить udev из автозапуска, удалив из /etc/rcS.d/ симлинк на udev

Теперь обновляем initrd и перезагружаемся
update-initramfs -u && reboot

После данных модификаций у нас система работает без udev и всё оборудование работает, а так как у нас "вещь в себе", то больше ни чего не нужно, сервак работает, сервисы запущены, лишние мы повыпиливали и еще повыпиливаем и еще ядро обязательно пересоберем и пропатчим всяко-разно.

Далее нам предстоит оптимизировать /etc/rcS.d/ там у нас есть всякие монтирования nfs сетевых хранилищ и много чего другого.

Apache и PHP нам тоже придется немного оптимизировать выпилив лишние модули, если интересны дальнейшие опыты в данной теме - пишите комментарии и я продолжу, а пока я тестирую полученную систему на продакшн-системе








воскресенье, 24 марта 2013 г.

Mint 13,14 mate + vino vnc

В Mint Mate Edition есть странный глюк, внц сервер vino не работает, для решения проблемы можно заменить его на x11vnc

sudo apt-get purge vino
sudo apt-get install x11vnc

Генерируем пароль и сохраняем его в файл

x11vnc -storepasswd

Чтобы x11vnc запускался при старте Mate нужно в система->параметры->запускаемые приложения
добавить команду

/usr/bin/x11vnc -notruecolor -noxfixes -rfbauth /home/user/.vnc/passwd




Где user - домашняя папка вашего юзера

среда, 26 декабря 2012 г.

Linux Mint 13/ Ubuntu 12.04 on Samsung 900X3C (тачпад, яркость клавиатуры, Fn кнопки)

1. Установил linux Mint Mate Edition 13 amd64 на свой ультрабук

После установки:
  • wifi работает нормально
  • тачпад тоже адекватно определился, не работают жесты, не работает тап по правой части тачпада (правая кнопка)
  • из Fn кнопок работают только яркость экрана, громкость и вкл/выкл тачпад, не работает регулировка яркости подсветки клавиатуры, wifi on/off и другие.
остальное тоже вроде как работает адекватно

2. Обновление системы (очень рекомендуется, если вы скачали дистрибутив относительно давно)

sudo apt-get update
sudo apt-get dist-upgrade


3. Bluetooth в этом минте глючит, не дает соединиться с блютуз-мышкой

Решение вот тут

 
sudo apt-get remove mate-bluetooth libmatebluetooth
sudo dpkg -i mate-bluetooth_1.2.0-1_amd64.deb libmatebluetooth_1.2.0-1_amd64.deb

4. Fn-кнопки

решение взято вот отсюда

создаем файлик /lib/udev/keymaps/samsung-900x3c
и вставляем в него этот текст
# /lib/udev/keymaps/samsung-900x3c
0xCE prog1               # FN+F1 System Settings
0x89 brightnessdown      # FN+F2 Brightness down
0x88 brightnessup        # FN+F3 Brightness up
0x82 switchvideomode     # FN+F4 Switch video mode
0xF9 f23                 # FN+F5 Turn touchpad off
0xA0 mute                # FN+F6 Mute
0xAE volumedown          # FN+F7 Volume down
0xB0 volumeup            # FN+F8 Volume up
0x97 kbdillumdown        # FN+F9 Keyboard backlight down
0x96 kbdillumup          # FN+F10 Keyboard backlight up
0xB3 silentmode          # FN+F11 Silentmode
0xD5 wlan                # FN+F12 WiFi
 
 
создаем файлик /lib/udev/keymaps/force-release/samsung-900x3c
и вставляем этот текст
# /lib/udev/keymaps/force-release/samsung-900x3c
0xCE # FN+F1 System Settings
0x89 # FN+F2 Brightness down
0x88 # FN+F3 Brightness up
0x82 # FN+F4 Switch video mode
0xF9 # FN+F5 Turn touchpad off
0xA0 # FN+F6 Mute
0xAE # FN+F7 Volume down
0xB0 # FN+F8 Volume up
0x97 # FN+F9 Keyboard backlight down
0x96 # FN+F10 Keyboard backlight up
0xB3 # FN+F11 Silentmode
0xD5 # FN+F12 WiFi 
 
открываем файл /lib/udev/rules.d/95-keymap.rules
находим строку 
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keymap $name samsung-90x3a"
вставляем после нее строчку
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

открываем файл /lib/udev/rules.d/95-keyboard-force-release.rules
находим строку
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keyboard-force-release.sh $devpath samsung-90x3a"
вставляем после неё
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"
 
Открываем файл ~/.xbindkeysrc (от имени простого пользователя)
удаляем оттуда всё, если там что то есть и вставляем эти строки
 
#fnf1

"/usr/bin/gnome-control-center"
m:0x0 + c:156
XF86Launch1

#fnf11
"/usr/bin/samsung-tools --show-notify --quiet --cpu hotkey"
m:0x0 + c:210
XF86Launch3

#fnf12
"/usr/bin/samsung-tools --show-notify --quiet --wireless hotkey"
m:0x0 + c:246
XF86WLAN

# End of xbindkeys configuration
"SamsungToolsDummyCommand"
  Control+Alt+Shift+Mod4+F1+F2+F3

#
# End of xbindkeys configuration

 
Теперь ставим самсунговские тулзы
apt-add-repository ppa:voria/ppa
apt-get update
apt-get install samsung-tools samsung-laptop xbindkeys-config 


5. Тачпад

Чтобы заработали все фичи тачпада делаем следующее

создаем файл /usr/share/X11/xorg.conf.d/52-synaptics-custom.conf

и вставляем в него строки
Section "InputClass"
Identifier      "samsung n900x3c clickpad"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "SHMConfig"     "On"
Option "RTCornerButton" "2" #right-click to bottom right
Option "RBCornerButton" "3" #right-click to bottom right
Option "LTCornerButton" "6" #right-click to bottom right
Option "LBCornerButton" "7" #right-click to bottom right
Option "TapAndDragGesture" "1" #tap&release then tap&drag
Option "PalmDetect" "1" #avoid bad track behavior
Option "VertTwoFingerScroll" "1" #two-finger vertical scroll
Option "VertEdgeScroll" "0" #right edge vertical scroll
Option "TapButton1" "1" #one-finger tap = left-click
Option "TapButton2" "3" #two-finger tap = right-click1
Option "ClickPad=1"
EndSection
 
создаем файл /usr/local/bin/synaptics.sh
вставляем в него строки
 
#!/bin/sh
synclient RightButtonAreaLeft=1600
synclient RightButtonAreaRight=2946
synclient RightButtonAreaTop=1040
synclient RightButtonAreaBottom=1872
 
делаем этот файл исполняемым
chmod +x /usr/local/bin/synaptics.sh
 
добавляем файлик в автозапуск, для этого создаем файл /etc/xdg/autostart/synaptics.desktop
 
и вставляем в него такие строки
[Desktop Entry]
Type=Application
Exec=/usr/local/bin/synaptics.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=touchpad
Name=touchpad
Comment[en_US]=touchpad addons
Comment=touchpad addons
 
 

ПЕРЕЗАГРУЖАЕМСЯ!

 
 

6. Регулировка яркости подсветки клавиатуры

 
 в файл /etc/modules добавляем строчку
samsung-laptop

подгружаем модуль
modprobe samsung-laptop

чтобы узнать адрес нашего устройства яркости набираем в консоли
# ls /sys/class/leds/
phy0-led  samsung::kbd_backlight

следовательно чтобы назначить яркость, нужно от суперюзера (на данный момент) передать значение от 0 до 4 в файл
/sys/class/leds/samsung::kbd_backlight/brightness

например
echo 0 > /sys/class/leds/samsung\:\:kbd_backlight/brightness

Теперь наша задача всё это автоматизировать, метод взят отсюда.
Только на моем самсунге и операционке Mint состояние яркости сохраняется, так что я значительно упростил скриптик

Создаем скриптик регулировки

sudo nano /bin/k-light

вставляем туда текст
#!/bin/bash
#путь до нашего устройства яркости
devpath="/sys/class/leds/samsung::kbd_backlight/brightness"
current=$(cat "$devpath")
if [ "$1" = "up" ] && [ "$current" -lt 4 ]; then
current=`expr $current + 1`
fi;
if [ "$1" = "down" ] && [ "$current" -gt 0 ]; then
current=`expr $current - 1`
fi;
echo $current > $devpath
echo $current



делаем файл исполняемым
sudo chmod +x /bin/k-light

теперь нам нужно дать для обычного пользователя право изменять этот файл, для этого надо создать скрипт автозапуска, который будет переправлять права

sudo nano /etc/init.d/autostart.sh


вставляем туда текст
#!/bin/bash
chmod 0777 "/sys/class/leds/samsung::kbd_backlight/brightness"

Делаем скрипт исполняемым и добавляем в автозапуск 
sudo chmod +x /etc/init.d/autostart.sh
sudo update-rc.d autostart.sh defaults 95
 
Теперь нужно привязать сочетания Fn+F9 и Fn+F10 к нашему скрипту, для этого нужно в том же самом файле ~/.xbindkeysrc
дописать строки
#key light down
"k-light down"
XF86KbdBrightnessDown
#key light up
"k-light up"
XF86KbdBrightnessUp
 
а потом перезайти или перезагрузиться, чтобы активировались хоткеи
 

7. SSD Trim

Прочитать подробнее можно например вот тут
 
Смысл в том, что нужо добавить опцию discard к разделам диска 



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

Что мы имеем в конечном итоге:

1. Работает регулировка яркости экрана
2. Работает регулировка яркости подсветки клавиатуры
3. Работает wifi, bluetooth
4. Хоткеями можно включить/выключить wifi,тачпад
5. Хоткеями можно переключать режимы энергосбережения (Fn+F11)
6. На тачпаде работает скроллинг двумя пальцами, нажатие на правый нижний угол равно правой кнопке клавиатуры, тап двумя пальцами тоже работает как правая кнопка клавиатуры.

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


Купить ноутбук Samsung 900x3c в Екатеринбурге в интернет-магазине

понедельник, 23 июля 2012 г.

Ultrabook(Ультрабук) DNS(ДНС) X300 0147454/0147453 + Ubutu Linux 12.04 тачпад/touchpad Sentelic определяется как мышка

Наконец то нашлось временное решение с тачпадом Sentelic на ноутбуке DNS X300, проблема была в том, что тачпад определялся как мышка

Вывод команд был примерно такой
$ synclient 
Couldn't find synaptics properties. No synaptics driver loaded?

$ xinput 
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ ImExPS/2 Generic Explorer Mouse             id=11    [slave  pointer 
(2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=10    [slave  keyboard
(3)]



Т.е. тачпад определялся как мышка ImExPS/2 Generic Explorer Mouse, временное решение такое:

1. Обновляем ядро до 3.2.0-26 (в убунте 12.04 это последнее на данный момент)

2. Открываем файл /etc/default/grub
в строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
добавляем параметр i8024.nomux, получается что то вроде

GRUB_CMDLINE_LINUX_DEFAULT="quiet i8024.nomux"

3. Запускаем обновление загрузчика
sudo update-grub

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


Следим за данной темой на багрепорте
https://bugzilla.kernel.org/show_bug.cgi?id=45101

вторник, 26 июня 2012 г.

hplip linux не видит hp 1217nfw (No devices found. Unable to communicate with device (code=12))

В общем история такова, у клиентов стоит принтер HP 1217, этот новомодный мфу переодически терялся в линуксе, я решил обновить hplip, думал вдруг в нем дело, при обновлении принтер вообще потерялся в системе



lsusb - показывает что принтер подключен
hp-setup - говорит No devices found

Два дня и две ночи я потратил на то, чтобы перепробовать всякие разные версии hplip, зачищал систему от остатков старых дров пытался указать в hplip точный адрес юсб устройства (установка шла, но писало что нет связи с устройством).

Погуглив я нашел это


Оказывается эти новомодные принтеры любят прикидываться съемным диском, чтобы Windows установила с него драйвера, и когда они прикидываются диском, то естественно hp-setup принтеров не находит и установленные принтеры или сканеры перестают работать.

Чтобы эту фичу отключить, надо подключить принтер к компу с виндой (или поставить на линуксе виртуальную винду, прокинуть юсб порт и т.д.), потом надо скачать в инете утилиту SIUtility.exe и в ней что то там сделать.


1. Качаем с сайта hp.com полный драйвер http://ftp.hp.com/pub/softlib/software12/COL32629/Im-80811-4/LJM1130_M1210_Full_Solution.exe (ссылка может не работать, сами уж там поройтесь, если не будет работать)

2. При помощи 7zip распаковываем exe файл в папку

3. Заходим в нашу папку\UTIL и видим там долгожданый SIUtility.exe

4. Запускаем утилиту (драйвера на принтер должны быть уже установлены), там тыкаем на кнопочку Printer и отключаем HP Smart Install

Теперь принтер не должен теряться в вашем линуксе!

воскресенье, 10 июня 2012 г.

USSD 3G модем Linux Ubuntu

Многие линуксоиды задумываются над тем, как же узнать баланс на 3G модеме в линуксе, для решения этой проблемы есть программа gsm-ussd.

Скачиваем и устанавливаем нужный пакет, вводим команду
 ~$ gsm-ussd *102#
Na Vashem schete -1r 42k Bezlimit vnutri seti za 6r/sutki.Zvoni t.111

Как видно, баланс определяется как и на простом сотике.

четверг, 3 мая 2012 г.

Открытие файлов в firefox kde4

В общем поставил сегодня kubuntu 12.04 на ноут и поставил мой любимый фаерфокс, только вот при попытке открыть файлы из загрузок или папки с файлом выводит вот такое окно

(на скрине уже есть приложения для открытия, потому что я настроил это до написания статьи)


В общем жмем кнопку "выбрать" и указываем путь /usr/bin/xdl-open

далее нужно запомнить выбор и больше у нас не будет спрашивать какой прогой открыть файл.

Kyocera FS-1035MFP/DP Ubuntu



Довелось сегодня ставить такой аппарат в офис на линуксе, в общем почти всё получилось.

Принтер был подключен к локальной сети, далее нужно было сделать следующее:

1. В системном меню задаем IP адрес (логин/пароль для входа в системное меню 3500)
2. В системном меню включаем протокол ipp, выключаем и включаем аппарат
3. На linux рабочих станциях заходим в веб-интерфейс cups по адресу https://localhost:631 -> администирование -> добавить принтер

Если принтер нашелся, то жмем далее, если не нашелся, то выбираем ipp и в адресе принтера пишем socket://192.168.0.77 (где 192.168.0.77 - IP принтера).






 На последнем этапе нам нужно подгрузить ppd


 А скачать ppd можно тут

И жмем добавить принтер



В итоге принтер печатает суперски, работает самостоятельно, без всяких принт-серверов, тубусы возможно заправлять, стоимость печати минимальна, скорость огромна, в общем МФУ суперский.


Благодаря человеку с ником zuzukrukov я узнал еще об одной возможности данного аппарата - адресная книга.

1. Заходим в веб-интерфейс, логинимся под админом, стандартный пароль admin00

2. Вкладка основные, там адресная книга, создаем адрес, email и др. можно не указывать, а указать только логин и пароль для ftp, каждому адресу присваивается номер

4. На клавиатуре мфу жмем кнопку "отправить"

5. Нам предлагает выбрать по фтп или как отправить, ни чего не выбираем, жмем кнопочку с названием "адресная книга", далее либо просто выбираем из списка, либо набираем порядковый номер адресата, жмем ОК

6. Жмем зеленую кнопку "старт"

7. Всё, отсканированое изображение у нас на фтп, папка фтп у меня примонтирована в сетевую папку, пользователи подходят к мфу, сканируют нужные доки, приходят на свой комп, берут из сетевой папки файл и работают с ним, очень удобно.

пятница, 3 февраля 2012 г.

Одновременное использование php5.2 и php5.3 на одном сервере Debian Squeeze

Есть сайты которые требуют PHP5.3 а есть такие, на которых интерпретатор выдает кучу ошибок и приходится использовать старый 5.2, я понимаю, если вы держите на серваке один сайт, тогда можно его проапгрейдить и решить проблему модификацией своего скрипта, но вот если у вас сотни сайтов чужих на сервере, то я думаю вам будет лень править чужие скрипты, проще дать возможность запускать разные сайты с разным PHP.

Оригинал инструкции тут http://mbi-solutions.blogspot.com/2011/07/running-php-53-and-php-52-on-same.html, но я исправил кое какие ошибки и дополнил инструкцию




wget http://museum.php.net/php5/php-5.2.17.tar.gz

tar -zxvf php-5.2.17.tar.gz

apt-get install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev  libpng12-dev libjpeg62-dev libxslt1-dev libbz2-dev

cd php-5.2.17

./configure --prefix=/opt/php5.2 \
--with-config-file-path=/opt/php5.2 --with-mysqli \
--with-pdo-mysql --with-mysql --with-curl \
--with-gd --with-jpeg-dir --with-xsl --with-zlib \
--enable-cli --enable-fastcgi --enable-discard-path \
--enable-force-cgi-redirect --with-iconv --with-gettext \
--with-curl --with-bz2 --enable-mbstring=all --enable-zip

make && make install

после успешной установки создаем файл
/usr/lib/cgi-bin/php52-cgi
и вставляем в него такое содержимое

#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi





делаем его исполняемым

chmod +x /usr/lib/cgi-bin/php52-cgi



создаем файл /etc/apache2/php52.conf
и вставляем в него

<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php



Теперь делаем финальные манипуляции с апачем
apt-get install libapache2-mod-fastcgi
a2enmod cgi fastcgi actions


И перезагружаем апач
/etc/init.d/apache2 restart




Теперь можете добавлять в любой конфиг виртуалхоста строчку

Include php52.conf




но обратите внимание на директорию

<Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
</Directory>



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

По аналогии можно подключить например php4 или php6 и адаптировать свою хостинг-панель для возможности выбора версии php.

среда, 25 января 2012 г.

Буквы Йб не печатаются в OpenOffice 3.1

Данная проблема описана тут, решение проблемы конечно же поставить офис поновее, но у меня немного особая ситуация, мои клиенты используют какой то странный документооборот, который в посольства после правки опен офисом 3.2+ не открывается в ms office 2003, еще кое какие скрипты автоформ вордовских тоже не открывались в новом опенофисе, юзают мои клиенты убунту. Ну вот в общем, если вы задумаетесь над такой экзотикой как нормально печатать из Openoffice 3.1 в Ubuntu, то вам поможет этот скрипт, его надо выполнять от рута.



#!/bin/bash
echo "fixing file /usr/share/cups/mime/oopstops.types"
echo 'application/openofficeps string(0,%!) + contains(0,1024,"%%Creator: OpenOffice.org 2.")
application/oo3.postscript string(0,%!) + contains(0,1024,"%%Creator: (OpenOffice.org 3.")' > /usr/share/cups/mime/oopstops.types
echo "fixing file /usr/share/cups/mime/oopstops.convs"
echo 'application/openofficeps application/postscript 33 oopstops
application/oo3.postscript application/postscript 33 oo3-pstops' > /usr/share/cups/mime/oopstops.convs
echo "fixing file /usr/lib/cups/filter/oo3-pstops"
echo '#!/bin/bash
#!/usr/bin/perl

# Issue: OOo 3 does not print U+0419 in Arial, Courier New, and Times New Roman from msttcorefonts
# Treatment: run the postscript through ghostscript distiller
# Tested against: OOo 3.1
# Author: Alex Kostjukov
# Released under GPL
# NO WARRANTY AT ALL

if [ ${#} -ge 6 ] ; then
    input="${6}"
else
    input="-"
fi

ps2ps "${input}" "-"' > /usr/lib/cups/filter/oo3-pstops
 

chmod +x /usr/lib/cups/filter/oo3-pstops
invoke-rc.d cups restart

воскресенье, 23 октября 2011 г.

Sony Vaio VPCEH + Ubuntu 10.04 LTS


В Ubuntu 11.10 мне сильно не понравился Gnome 3 и Unity тоже, поэтому я решил поставить Ubuntu 10.04 и обновить необходимые программы через ppa


Обновление ядра 
для лучшей поддержки всякого оборудования я всегда ставлю свежие ядра

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.1-rc10-oneiric/linux-headers-3.1.0-030100rc10_3.1.0-030100rc10.201110200610_all.deb

sudo dpkg -i  linux-headers-3.1.0-030100rc10_3.1.0-030100rc10.201110200610_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.1-rc10-oneiric/linux-headers-3.1.0-030100rc10-generic_3.1.0-030100rc10.201110200610_amd64.deb

sudo dpkg -i  linux-headers-3.1.0-030100rc10-generic_3.1.0-030100rc10.201110200610_amd64.deb


wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.1-rc10-oneiric/linux-image-3.1.0-030100rc10-generic_3.1.0-030100rc10.201110200610_amd64.deb

sudo dpkg -i  linux-image-3.1.0-030100rc10-generic_3.1.0-030100rc10.201110200610_amd64.deb


Обновление XORG
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get upgrade



Видеодрайвер NVIDIA
wget http://ru.download.nvidia.com/XFree86/Linux-x86_64/285.05.09/NVIDIA-Linux-x86_64-285.05.09.run

chmod +x NVIDIA-Linux-x86_64-285.05.09.run

далее перейти на консоль Ctrl+Alt+F1

перейти в папку, в которой находится скачанный драйвер и выполнить команды
sudo /etc/init.d/gdm stop 
sudo ./NVIDIA-Linux-x86_64-285.05.09.run
sudo reboot



Тачпад (Alps)
Тачпад в убунте, включая 11ю версию, определяется как мышка и не желает настраиваться в гноме, поэтому нам нужно поставить один пакет с модулем для этого тачпада


wget  http://people.canonical.com/%7Esforshee/alps-touchpad/psmouse-alps-0.10/psmouse-alps-dkms_0.10_all.deb

sudo dpkg -i psmouse-alps-dkms_0.10_all.deb
и перезагрузиться

после этого можно ставить различные утилиты для конфигурирования тачпада и настраивать скролл и круговую прокрутку через tpconfig




Яркость

Сперва нужно добавить в /etc/X11/xorg.conf  в опцию Device строчку (которая помечена красным цветом)


Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection



Для того, чтобы управлять яркостью из консоли аналогичным образом что и апплет яркости (через dbus) нужно использовать этот скрипт.

Создаем текстовый файл, например по адресу /usr/bin/ и назовем этот файл brightness.

Делаем его исполняемым и по командам brightness up и brightness down
вы сможете регулировать яркость экрана, привяжите эти команды к горячим клавишам и всё будет работать суперски.

Для того, чтобы gnome-power-manager не переопределял действия по горячим клавишам, после того как вы повесите скрипт на клавиши Fn+F5 / Fn+F6, нужно выполнить команду
sudo dpkg-reconfigure gnome-power-manager 
и перезагрузиться





Звук
После выпиливания pulseaudio и обновления ядра у меня звук был только в наушниках, для решения проблемы добавил строчку
 
options snd-hda-intel model="ideapad" 


в файл

 
/etc/modprobe.d/alsa-base.conf
 
* благодарность блогу http://spider.bsyteam.net 

PPA
софт в убунте 10.04 не особо то новый, поэтому я обновлял его из ppa:


Pidgin 2.9
(мой любимый плагин wrong layout не захотел работать на том пиджине, который был в репозитории 10.04)

sudo apt-add-repository ppa:ferramroberto/pidgin/ubuntu
sudo apt-get update
sudo apt-get install pidgin




Mozilla 7+

sudo apt-add-repository ppa:mozillateam/firefox-stable/ubuntu
sudo apt-get update
sudo apt-get install firefox language-pack-ru


Gimp 2.7.2+
(более стабильный и быстрый чем 2.7.0, который я тестил полгода назад)
sudo apt-add-repository ppa:matthaeus123/mrw-gimp-svn
sudo apt-get update
sudo apt-get install gimp





Ну пока что все!!!

про Nvidia Optimus вы можете почитать тут

я пока что не смог нормально настроить это, при установке bumblebee ставились дрова nvidia-current, которые наверно устарели и не поддерживают мою видяху.