Ctrl + ↑ Позднее

Расшаривание сканера в сеть

9 октября 2013, 10:38
12.04 LTS Precise Pangolin

На сервере, в терминале выполняю:
sudo su
все остальные команды соответственно выполняются автоматом от суперюзера.
Устанавливаю демон saned с зависимостями:

aptitude install sane sane-utils libsane xinetd
Проверяю наличие группы scanner:
cat /etc/group | grep scanner
если отсутствует то добавляю:
groupadd scanner
Добавляю пользователя saned (от него будет запускаться демон) в группы scanner и lp:
usermod -aG scanner,lp saned
Проверяю, видит ли sane сканер:
scanimage -L
У меня видит:
device `hp:libusb:002:002' is a Hewlett-Packard ScanJet 63x0C flatbed scanner
Если не видит: для некоторых новых сканеров требуется дополнительно установить пакет libsane-extras или специфические драйвера (искать на сайте производителя сканера).
Включаю у демона автоматический запуск:
nano /etc/default/saned
меняю
RUN=no
на
RUN=yes
nano /etc/init.d/saned
меняю
RUN=no
на
RUN=yes
Описываю порт занимаемый демоном:
echo 'service sane-port
{
disable = no
socket_type = stream
protocol = tcp
user = saned
group = scanner
wait = no
server = /usr/sbin/saned
}' > /etc/xinetd.d/sane-port
Редактирую:
nano /etc/sane.d/saned.conf
последней строкой добавляю свою подсеть (подсеть с которой разрешено обращение к сканеру):
192.168.0.0/24
Серевер готов, перегружаю.
На клиенте необходимо прописать IP адрес сервера:
sudo nano /etc/sane.d/net.conf
и последней строкой добавляю ip сервера.
Устанавливаю программу сканирования (мне достаточно skanlite):
sudo aptitude install skanlite
И сканирую.
Клиент для win32 брать здесь: ftp://ftp2.sane-project.org/pub/sane/old-ftp.sane-project.org/xsane/

Добавляем 2 и более IP в CentOS 5 (RHEL, Fedora)

3 июля 2013, 16:35
В основном в своей практике я сталкивался с необходимостью использования двух IP на разных сетевых интерфейсах. Как правило это eth0 и eth1. Но вот потребовалось “навесить” на один интерфейс сначала два, а потом и четыре IP. Сделать это оказалось не сложно, но ранее я такой прием не использовал:

Итак, у нас есть один IP на интерфейсе eth0:

eth0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0

Нам нужен еще один IP на том же сетевом интерфейсе (пусть для определенности это будет 192.168.0.200). Для этого нужно создать в директории /etc/sysconfig/network-scripts/ файл ifcfg-eth0:0

DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.200
NETMASK=255.255.255.255

После этого нужно перезапустить сетевые службы:

service network restart

Выполняем ifconfig и видим, что появился “алиас” eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:26:B9:2A:B9:13
inet addr:192.168.0.200 Bcast:192.168.0.11 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:185 Base address:0xa000

Если потребуется добавить еще несколько IP, то добавляем соответственно файлы ifcfg-eth0:X, где X — 1,2,3 и так далее. Выглядит не очень оптимально, так? Действительно, если требуется “навесить” на сетевой интерфейс последовательность из IP-адресов (допустим такой вот диапазон: 192.168.0.200-220), то можно воспользоваться следующей конфигурацией. Создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0-range0:

IPADDR_START=192.168.0.200
IPADDR_END=192.168.0.220
NETMASK=255.255.255.255
CLONENUM_START=1
NO_ALIASROUTING=yes

Опять перезапускаем сетевые службы:

service network restart

В результате появятся 20 алиасов eth0:1 — eth0:20, c нужными адресами.

Кроме того, добавлять, изменять и удалять ip-адреса можно с помощью команд ip и ifconfig, например если нужно временно поднять дополнительный адрес:

ifconfig eth0:0 inet 192.168.0.200/32

Естественно, после перезагрузки адрес пропадет. Чтобы убрать временный адрес:

ifconfig eth0:0 down

Резервное копирование системы с помощью штатных средств в Линуксе

1 июля 2013, 14:51
Чтобы создать бэкап всей системы, хватит команды:

sudo tar cvpzf /backup.tgz —exclude=/proc —exclude=/lost+found —exclude=/backup.tgz —exclude=/mnt —exclude=/sys /

Что, собственно,в ней заключено? С правами суперпользователя (sudo) создаём тарбол (tar с ключём c) и архивируем его архиватором gz (ключ z). При этом с помощью ключа —excludeисключаем из архива системные директории и файлы устройств и, конечно же, сам архив (чтобы он рекурсивно не начал паковаться сам в себя). В итоге, получаем в корне наш полный архив системы в файле backup.tgz.

Как его потом развернуть? Ну, во-первых, нужна будет всё-таки работающая система. Например, можно провести «читсую» установку (или же загрузиться с LiveCD). Будем считать, что у нас есть работающая система, в которой мы хотим развернуть наш архив. Хватит тоже одной команды:

tar xvpfz /backup.tgz -C /

Оригинал http://24may.kharkov.ua/page79.html

Переносим функциональность bash в cmd.exe

19 июня 2013, 15:24
Мне, как и многим из вас, работать с bash и стандартными утилитами Linux гораздо удобнее и приятнее, чем с cmd.exe. Однако, к сожалению, порой обстоятельства складываются так, что операционную систему выбирать не приходится. Например, в моём случае корпоративным стандартом является Windows 7. К счастью есть способ сделать жизнь линуксоида в командной строке Windows комфортнее, о нём и пойдет речь ниже.

http://habrastorage.org/storage2/130/6f6/b37/1306f6b37735a6fbee9a47518cdec84e.png

Прежде всего, при переходе из bash в cmd.exe доставляет неудобства ограниченность самой командной оболочки. Чтоб вставить текст из буфера обмена нужно тянуться к мышке, не хватает возможностей автодополнения, история хранится только в пределах одной сессии, к тому же не работает Ctrl+R и другие возможности работы с историей команд в bash.

Исправить ситуацию нам поможет clink. Это Open Source утилита расширяющая возможности cmd.exe. Вот некоторые ее фичи:

Автодополнение по нажатию Tab. Возможности автодополнения могут быть расширены за счет пользовательских скриптов на Lua
Вставка текста из буфера по нажатию Ctrl-V (к сожалению Shift+Insert не работает)
Продвинутая работа с историей команд. Поиск по истории (Ctrl-R and Ctrl-S). Поддержка таких выражений как !!, !<string> и !$
Сохранение предыдущих сессий



Авторы говорят, что clink протестирован только на Windows XP SP3, но я пользуюсь им уже год на Windows 7 и всё работает нормально.

Скачали. Установили. Стало лучше, теперь cmd себя ведет почти как bash. Но кое-чего по прежнему не хватает. А именно привычных unix-утилит. Таких как cat, ls, tail, diff, grep, less, sort, wget и т. д. Некоторые утилиты имеют свои Windows-аналоги, например, вместо grep можно использовать findstr, но к ним придется привыкать заново, другие же аналогов вообще не имеют.

Эту проблему нам поможет решить готовый набор программ UnxUtils. Набор включает в себя множество популярных в Unix и Linux инструментов командной строки (полный список можно посмотреть по этой ссылке) а так же несколько дополнительных программ.

В частности, к дополнительным программам относятся pclip.exe и gclip.exe предназначенные для работы с буфером обмена Windows. Например вот так: pclip | sed «s/string1/string2/g» | gclip можно заменить все вхождения string1 на string2 в тексте хранящемся в буфере обмена.

Для того чтоб получить всё это на свою Windows-машину нужно скачать архив UnxUtils.zip, распаковать его содержимое в какой-то каталог и добавить в переменную среды PATH путь к usr\local\wbin\, т. к. именно там хранятся исполняемые файлы.

Для самых ленивых есть способ еще проще: скопируйте содержимое каталога usr\local\wbin\ из архива в каталог %WINDIR%\system32\ на вашей машине.
Внимание! Если вы решили поступить именно так, то я не рекомендую заменять системные файлы на одноименные файлы из архива без четкого понимания того, что вы делаете.

Всё! Осталось только запустить cmd и эффективно работать используя свой linux-опыт. Конечно есть и другие способы добиться того же самого результата, я описал тот, который нахожу максимально простым и удовлетворяющим все мои потребности.
bash   cmd

Мотирование образа диска KVM

19 июня 2013, 15:19
sudo losetup /dev/loop1 disk.img
sudo kpartx -a -v /dev/loop1
sudo mount -t ntfs /dev/mapper/loop1p1 /mnt/tmp

Если монтируемый образ системы LVM то
sudo pvs
# /dev/dm-5 NAME lvm2 a- 9.52g 0
sudo lvdisplay
File descriptor 7 (pipe:[1047772]) leaked on lvdisplay invocation. Parent PID 20537: bash
 — Logical volume —
LV Name /dev/NAME/root
VG Name NAME
LV UUID MC2xwj-3cUr-7iYk-t4d8-dmfp-2RDX-In6Op7
LV Write Access read/write
LV Status NOT available
LV Size 9.02 GiB
Current LE 2310
Segments 1
Allocation inherit
Read ahead sectors auto

 — Logical volume —
LV Name /dev/NAME/swap_1
VG Name NAME
LV UUID rKuLfE-Drsk-KXPg-2Ghw-03mP-kjpA-8iY7hF
LV Write Access read/write
LV Status NOT available
LV Size 512.00 MiB
Current LE 128
Segments 1
Allocation inherit
Read ahead sectors auto

sudo vgchange -ay NAME
sudo mount /dev/solur/root /mnt/tmp

Размонтирование:
sudo umount /mnt/tmp

Если подключали LVM то
sudo vgchange -an NAME

sudo kpartx -dv /dev/loop1
sudo losetup -d /dev/loop1
Ctrl + ↓ Ранее