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

Устанавливаем дрова на сетевую карту Atheros AR9485

Прикупил себе сегодня новый бук взамен доблестно умершего. Моделька новая. Lenovo G500. Почитать о ней можно тут. Соответственно и железки новые. Не исключение и наша сетевуха. По умолчанию заработал тока Wi-Fi и локальная петля. Ethernet`а не было и в помине.

Открываем терминал и смотрим, что у нас внутри:
electrichp@electrichp-Lenovo-G500 ~ $ lspci -vv | grep Atheros
01:00.0 Ethernet controller: Atheros Communications Inc. Device 10a0 (rev 10)
02:00.0 Network controller: Atheros Communications Inc. AR9485 Wireless Network Adapter (rev 01)
После более чем трехчасовых поисков необходимого драйвера, последний был благополучно найден и прикручен. 
Нам необходимо скачать архив с названием compat-drivers-2013-03-26-u.tar.bz2 вот с этой странички https://www.kernel.org/pub/linux/kernel/projects/backports/2013/03/26/.
Далее открываем терминал, переходим в папку с загруженным и выполняем следующие команды:

tar -xvf compat-drivers-2013-03-26-u.tar.bz2
cd compat-drivers-2013-03-26-u
scripts/driver-select alx
make
sudo make install
sudo modprobe alx
После вышеперечисленных манипуляций все встает на свои места и пашет как надо.Это видно по выводу ifconfig:
electrichp@electrichp-Lenovo-G500 ~/Загрузки/compat-drivers-2013-03-26-u $ ifconfig
eth0 Link encap:Ethernet HWaddr 20:89:84:f6:ba:25
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16

lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3534 errors:0 dropped:0 overruns:0 frame:0
TX packets:3534 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:222967 (222.9 KB) TX bytes:222967 (222.9 KB)

wlan0 Link encap:Ethernet HWaddr 48:d2:24:a9:16:fd
inet addr:192.168.0.79 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::4ad2:24ff:fea9:16fd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18608 errors:0 dropped:0 overruns:0 frame:0
TX packets:11166 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24376233 (24.3 MB) TX bytes:1306372 (1.3 MB)
Ну вот и все))) Кстати, имя драйвера, если кому пригодится: ath9k. Радуемся)))

Автор: Роман Дмитриевич

Как в Ubuntu запустить виртуальные хосты Apache под разными пользователями

Зачем нужно запускать виртуальные хосты под разными пользователями?

По-умолчанию Apache работает “от имени и по поручению” юзера www-data. Это значит что для веб-сервера будут доступны только те ресурсы (файли и каталоги), которые доступны для юзера www-data, соответственно и изменить он сможет только их. Как правило, на одном веб-сервере может располагаться сразу несколько виртуальных хостов (несколько сайтов), по-умолчанию все они будут доступны для юзера www-data и в случае взлома или поражения одного из ресурсов, остальные также могут быть поражены. Поэтому с целью обеспечения дополнительной безопастности существет возможность запуска виртуальных хостов от имени разных юзеров.

Читать

Создание DJVU книг в Linux

1. Сканирование.

Используется API (интерфейс программирования приложений) SANE (Scanner Access Now Easy) с его графической оболочкой XSane.

Ещё предлагается к использованию ScanTWAIN, но это я не пробовал.

Примечание: если в Windows основными промежуточными форматами сканообработки являются tiff и bmp, то для Linux таким форматом будет являет pnm (ppm — цветные, pgm — полутоновые, pbm — чёрно-белые).

2. Сканообработка.

Используется всеми любимый Scan Tailor, так как есть версия для Linux.

Я использую ST Enchanced, поэтому устанавливал его из исходников с официального сайта.

Для установки из исходников в систему пришлось добавить пакеты build-essential, cmake, libqt4-dev, zlib1g-dev, libjpeg62-dev, libpng12-dev, libtiff4-dev, libboost-all-dev и libxrender-dev.

Сборка осуществляется командой cmake . (c точкой).
Далее команда make. Потом — sudo make install

(Данный процесс инсталляции не предусматривает создания пункта меню)

Под wine также запускаются Scan Kromsator и Book Restorer.

3. Djvu-кодирование.

Происходит так:
— сжатие каждой страницы отдельно в зависимости от её содержания (автоматизируется)
— добавление текстового слоя (опционально)
— сборка из отдельных djvu-файлов одного общего (итогового)

Для работы нужны пакеты djvulibre-bin, netpbm и imagemagick

Установка:
sudo aptitude install djvulibre-bin netpbm imagemagick

Кодирование чёрно-белых изображений.

Для сжатия чёрно-белых изображений исходники надо перевести в формат pbm:
for file in *.tiff; do anytopnm $file | ppmtopgm | pgmtopbm -value 0.499 > ${file%tiff}pbm; done

Преобразование pbm-файлов в djvu-файлы:
cjb2 -dpi DPI ВХОДНОЙ_ФАЙЛ.pbm ИТОГОВЫЙ_ДОКУМЕНТ.djvu

Опция -dpi означает возможность варьировать dpi.

Кодирование изображений в оттенках серого.

Сканы нужно конвертировать в формат pgm:
anytopnm ИМЯ_ИСХОДНОГО_ФАЙЛА | ppmtopgm > ВЫХОДНОЙ_ФАЙЛ.pgm

Кодирование:
cpaldjvu -dpi DPI -colors КОЛИЧЕСТВО_ОТТЕНКОВ_СЕРОГО ВХОДНОЙ_ФАЙЛ.pgm ВЫХОДНОЙ_ФАЙЛ.djvu

Чем больше значение -colors (количество оттенков серого), тем больший объём имеет сжатая страница. Для не очень качественных сканов подойдёт значение 3 или 4 — этого вполне достаточно, чтобы получить пусть и бледноватую, но читабельную картинку.

Кодирование цветных изображений.

Обложки или иллюстрации для начала конвертируются в ppm:
convert ИСХОДНЫЙ_СКАН РЕЗУЛЬТИРУЮЩИЙ_ФАЙЛ.ppm

Кодирование в djvu:
c44 -dpi DPI ИСХОДНИК.ppm РЕЗУЛЬТАТ.djvu

Сборка итогового djvu-файла.

Выполняется такой командой:
djvm -c ВЫХОДНОЙ_ФАЙЛ.djvu *.djvu

Автор: Sergey Bolshakov

Восстановление загрузчика Grub2 после установки Windows

Установил вчера Windows 7 Professinal, и, естественно, загрузчик Windows затёр загрузчик Linux.

Опишу здесь способ восстановления Linux-загрузчика Grub2, которым я воспользовался чтобы при включении ноутбука было возможным выбрать систему для загрузки.

Для начала, нужен Live СВ с Ubuntu (или чем-то подобным, я конечно же воспользовался тем диском, с которого устанавливал Linux Mint), в составе которого есть хитрая утилита chroot.

Гружусь с Live CD, запускаю терминал.

Ввожу команду, которая покажет мою таблицу разделов на жёстком диске:
sudo fdisk -l
Это для того, чтобы вспомнить/узнать, на каком диске установлена Linux.

Монтирую раздел с установленной Mint:
sudo mount /dev/sda6 /mnt

Примечание: sda — диск в системе, sda6 — раздел на этом диске. У других конечно может быть по другому, в том числе и отдельно вынесенный раздел /boot.

Дальше »

Автор: Sergey Bolshakov

Команды disown и nohup в Linux. Продолжение выполнения заданий после выхода из системы.

Задача: работая локально в терминале или удалённо по ssh, запустить на выполнение какую-либо команду, чтобы та не перестала выполняться после разлогинивания (получения SIGHUP). Безумно полезно в работе по ssh при ненадёжном интернет-соединении.

Есть 2 ситуации: 1. команда уже запущена, а мысль о том, что её выполнение нужно оставить на попечение системы, отвязав от текущей сессии, пришла после; 2. команда ещё не запущена и мы хотим сделать её самостоятельной заранее.

1. Если команда уже запущена, то нажимаем CTRL+Z, тем самым остановив её выполнение:

apt-get update && apt-get upgrade -y
В кэше http://archive.ubuntu.com raring Release.gpg
В кэше http://security.ubuntu.com raring-security Release.gpg                                                                                            
В кэше http://archive.canonical.com raring Release.gpg                                                                                                   
Получено:1 http://archive.ubuntu.com raring-updates Release.gpg [933 B]                                                                                  
26% [Ожидание заголовков] [2 Release 9 731 B/40,8 kB 24%] [Ожидание заголовков] [Ожидание заголовко�^Z
[1]+  Остановлено  apt-get update

 Затем, переводим её выполнение в фоновый режим командой bg и отвязываем от текущей сессии (удаляем из активных заданий) командой disown:

bg && disown

 Теперь, можно нажимать CTRL+D, не опасаясь что обновление системы оборвётся при разлогинивании.

2.Более разумное решение — воспользоваться командой nohup, которая сразу сделает выполняемую задачу устойчивой к SIGHUP и по умолчанию сохранит выход stdout в файл nohup.out в текущей директории, что удобно, чтобы позднее проверить выполнилась ли данная задача или нет. Вывод, так-же может быть перенаправлен в произвольный файл стандартными средствами — знаком > после команды. Примеры:

nohup ping -c 1000 ya.ru &

nohup ping -c 1000 ya.ru > ping_`date +%d.%m.%y_%H.%M` &

 В первом примере команда ping посылает 1000 запросов сайту ya.ru и записывает результаты в файл nohup.out в текущей директории.
Во втором примере  команда ping посылает 1000 запросов сайту ya.ru и записывает результаты в файл, содержащий слово ping и текущие дату и время, находящийся в текущей директории.

Автор: Yar4e

TP-LINK TL-WN821N (RTL8192CU) в Linux Mint 15 и Ubuntu 13.04.

Wi-Fi USB адаптер TP-LINK TL-WN821N, основан на чипе RTL8192CU, поддержка которого в ядро Linux добавлена начиная с версии 2.6.38, что в идеале означает, что нужно всего-лишь подключить его к USB порту и «из коробки» он мгновенно без перезагрузок и дополнительных настроек (кроме ввода пароля на доступ к Wi-Fi соединению) должен заработать. Но на деле оказалось что его поддержка в ядре реализована чертовски криво и лишь у немногих счастливчиков всё работает гладко. Симптомы больного: не подключается к wi-fi или подключается после нескольких попыток, но на несколько секунд, далее дисконнект, потеря пакетов или остаётся подключённым, но абсолютно не проявляет активности. «Счастливые обладатели» данного «свистка», вот уже несколько лет наводняют форумы вопросами о том, как его «завести», пишут багрепорты разработчикам ядра и различных дистрибутивов Linux, но пока всё безрезультатно и остаётся только использовать драйвер, который предлагает сама Realtek, для самостоятельной, ручной установки. НО, этот драйвер не установится на ядро Linux 3.8, которое является ядром по умолчанию в дистрибутивах Linux Mint 15 и Ubuntu 13.04. Решение, к счастью нашлось!) Это тот же драйвер от Realtek, только доработанный напильником для совместимости с ядром 3.8, упакованный в виде deb пакета и устанавливаемый в виде DKMS модуля ядра, то есть после обновления ядра, этот модуль автоматически пересобирается и после перезагрузки ПК, Wi-Fi не отваливается, как это происходит при установке оригинального драйвера от Realtek). Итак, преступим к установке (от root'а):

wget -P /tmp/ http://realtek-8188cus-wireless-drivers-3444749-ubuntu-1304.googlecode.com/files/rtl8192cu-tjp-dkms_1.6_all.deb && dpkg -i /tmp/rtl8192cu-tjp-dkms_1.6_all.deb

Пакет установлен, правильный модуль для ядра собран, осталось только деактивировать старый модуль и активировать новый, чтобы W-Fi заработал (от root'а):

modprobe -r rtl8192cu && modprobe 8192cu

В это же мгновение в трее должна активироваться беспроводная сеть. Ура, всё заработало! 🙂 Но остался ещё последний штрих — занести старый модуль в чёрный список, чтобы он больше не загружался вместе с системой и не мешал работе нового модуля (от root'а):

cd /etc/modprobe.d/ && nano blacklist.conf

 В самый конец файла добавляем:

# Zanosim v cherniy spisok ne rabotayushie moduli yadra dlay wi-fi adaptera na osnove rtl8192cu
blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi

Нажимаем CTRL+O, подтверждаем, и затем CTRL+X. ВСЁ, я вас поздравляю, Wi-Fi адаптер у вас теперь работает и после перезагрузки системы или обновления ядра не отвалится!)

P.S. Естественно, этот метод подходит не только для адаптера TP-LINK TL-WN821N, но и для любого другого на основе чипа RTL8192CU.

Автор: Yar4e