среда, февраля 10, 2010

Работа с CD/DVD дисками в консоли

Образы.
Создание образа диска
# dd if=/dev/cdrom of=name.iso
Монтирование образа диска
# mount -o loop -t iso9660 name.iso /mnt/iso(точка монтирования)
Размантирование образа
# umount /mnt/iso

Запись образов.
Установка ПО
# apt-get install cdrecord
Выяснение имен приводов
# wodim --devices
Запись диска из образа
# cdrecord dev=/dev/scd0 -dao speed=4 name.iso

Очистка RW дисков.
Перед очисткой диска необходимо его размантировать.
Быстрая очистка CD-RW
# cdrecord -v blank=fast dev=/dev/scd0
Полная очистка CD-RW
# cdrecord -v blank=all dev=/dev/scd0
Очистка DVD-RW, после такой очистки диск не монтируется, но запись
на него производиться корректно и в консоли и в графических приложениях.
# dvd+rw-format -f /dev/cdrom
# growisofs -Z /dev/cdrom=/dev/zero
Надо понимать, что это что-то вроде низкоуровнего форматирования и диск
получается даже не размеченным, потому и не монтируется.

Запись данных в файлы образы и на диски.
Установка ПО
# apt-get install mkisofs
Запись папки в образ
# mkisofs -r -jcharset utf8 -o ~/cd.iso ~/cd
Запись папки на диск
#

Конвертация образов в iso.
Образы Неро
# apt-get install nrg2iso
# nrg2iso image.nrg image.iso
Образы .bin/.cue (иногда .raw/.cue)
# apt-get install bchunk
# bchunk binfile.bin cuefile.cue myisofile.iso
Образы mdf
# apt-get install mdf2iso
# mdf2iso myfile.mdf myfile.iso

вторник, февраля 09, 2010

Samba

Поднимаем Samba-сервер.
Звучит глобально, на деле все не так сложно, как может показаться. Это необходимо сделать, если в вашей локальной сети есть компьютеры с установленной Windows и вы хотите получить доступ к их ресурсам и дать доступ к своим папкам, а возможно и принтерам. Для этого необходимо установить samba, имейте в виду, что при установке samba первый раз она запросит имя вашей рабочей группы и разрешение менять smb.conf в зависимости от DNS адресов, введите свою рабочую группу (она должна быть такой же как на машинах с Windos) и разрешите менять конфиг. Устанавливаем
# apt-get install samba samba-common
Настраиваем /etc/samba/smb.conf, заменяя его на этот, оригинал лучше сохранить

[global]
workgroup = ИМЯ ВАШЕЙ РАБОЧЕЙ ГРУППЫ
server string = %h server
wins support = yes
dns proxy = no
# log
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
# security
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
# printing
printing = bsd
printcap name = /etc/printcap
printing = cups
printcap name = cups
# misk
wins support = yes

[homes]
browseable = yes
read only = no
create mask = 0664
directory mask = 0775
valid users = %S

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
read only = no
share modes = yes

[profiles]
comment = Users profiles
path = /home/samba/profiles
guest ok = yes
browseable = yes
create mask = 0664
directory mask = 0775

[printers]
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0775

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = yes
write list = root, @lpadmin

# Раскоментируйте, если хотите дать доступ к CD
;[cdrom]
; comment = Samba server's CD-ROM
; read only = yes
; locking = no
; path = /cdrom
; guest ok = yes

# Доступ к разделу или папки на чтение-запись
[Имя, которое будет видно в сети - замените эти строки на свои]
path = /home/rymata/forever/ot_irchik
read only = no
guest ok = yes
create mask = 0644
directory mask = 0755
available = yes
browsable = yes
public = yes
writable = yes

# Доступ к разделу или папке только на чтение
[Введите желаемое имя отображения - замените на свое]
path = /mnt/gen
read only = yes
guest ok = yes
create mask = 0644
directory mask = 0755
available = yes
browsable = yes
public = yes
writable = no
; Привязка к определенному имени пользователя или группе, имена через пробел
; force user = user1 user2
; force group = group1 group2
# По этой схеме можно продолжать расшаривать ресурсы сколько необходимо

Теперь заводим нового пользователя в системе и добавляем его в базу samba
# smbpasswd -a user
вводим пароль и подтверждаем его.
Включаем этого пользователя
# smbpasswd -e user
После чего необходимо создать альянс для пользователя, чтобы проще было получить доступ с Windows машины, если там есть пользователь с именем Admin, то
создаем файл /etc/samba/smbusers и редактируем его следующим образом
# touch /etc/samba/smbusers
открываем для редактирования и вводим строки
# Unix_name = SMB_name1 SMB_name2
SMB_name1 = Admin
Перезапускаем samba
/etc/init.d/samba restart
Работаем.

понедельник, февраля 08, 2010

Мост

Ты живёшь на одном, я живу на другом на высоком берегу на крутом.

# apt-get install bridge-utils
Проверка загруженности модуля, если он загружен то на команду
# brctl

получим ответ

Usage: brctl [commands]
commands:
addbr add bridge
delbr delete bridge
addif add interface to bridge
delif delete interface from bridge
setageing

суббота, февраля 06, 2010

Настройка сети

Если имеется только одна сетевая карта и нет локальной сети и интересует выход в интернет, то все просто. Рассмотрим выход в интернет через кабельное соединение или DSL - принцип один и тот же.
# apt-get install pppoe pppoeconf
# apt-get install chkconfig
# chkconfig
проверяем по списку есть ли network-manager и есть ли после on
network-manager on
если это так, то делаем
# chkconfig network-manager off
таким образом мы его отключили.
Проверить конфигурацию сетевых интерфейсов можно
# ifconfig
там должно присутствовать описание интерфейса eth0
даже если вы подключали сетевую после установки системы, то любой современный дистрибутив активирует её, но если этого не произошло, то прописывайте в файл
/etc/network/interfaces следующее

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

и перезапускайте сетевые службы
# /etc/init.d/networking restart
проверяем
# ifconfig
eth0 - должен появиться с описанием :).
Дальше проще
# pppoeconf
выходит конфигуратор соединения, отвечаем везде "Да" и где необходимо вводим логин и пароль. Всё... соединение поднято, можно наслаждаться, если в конце отвечали "Да" - в соотв. пункте, то оно будет автоматом подниматься при загрузке системы (чуточку только нужно подождать после загрузки), если это не нужно, то читайте внимательно сообщения, там всё написано подробно.

Рассмотрим теперь схемку посложней, имеется две сетевых одна входит в локальную сеть, к другой подключен DSL-модем или кабель с выходом в интернет, который мы ещё планируем раздать на другую (другие машины).
По ifconfig мы должны видеть уже описание двух сетевых eth0 и eth1, но в любомслучае нам необходимо поправить /etc/network/interfaces следующим образом

auto lo
iface lo inet loopback

# интерфейс к которому подключен модем, конфигурация соотв. виндовой, когда
# стоит получать IP и DNS автоматически
auto eth0
iface eth0 inet manual

# интерфейс подключённый к другому компу или локальной сети, ему назначен
# статический IP адрес и указана маска подсети
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

На второй машине необходимо установить
auto eth0
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
Gateway 192.168.0.1
DNS 192.168.0.1

Gateway - это шлюз и DNS это предпочитаемый DNS - пояснил, чтобы это можно было повторить на виндовой машине (на второй машине может быть как линух, так и винда).

Теперь необходимо прописать в /etc/sysctl.conf строку
net.ipv4.ip_forward = 1
выполнить
sysctl -w net.ipv4.ip_forward="1"
так это заработает без перезагрузки, сие значит, что мы разрешили направление пакетов.
# /etc/init.d/networking restart
# pppoeconf - по той же схеме :)

iptables должен быть установлен по умолчанию, но проверьте и установите, если это не так и введите следующее правило для передачи интернета второму компьютеру и не только ему :), а и всем в локальной сети
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Должно заработать, теперь осталось прописать это правило
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
в файл /etc/init.d/netwoking в конце до записи exit 0, дабы иметь всё как есть после рестарта системы. Всё.

Можно организовать раздачу инета через прокси сервер Squid например, но в домашних условиях это не особо оправданно и рационально - можно ездить в магазин и на танке, но на такси всё же проще я думю. Хотя дополнительно опишу отдельно этот случай. Ещё есть вариант выхода в инет и его раздачи - это если настроить модем в режиме роутера и сделать bridge - это тоже описано отдельно, но тут имеем проблемку - мост грузит проц, как выясняется и с двумя машинами, а наши провайдеры не дружат с модемами в режиме роутера, отсюда зависания связи... энтузиасты могут поэкспериментировать. С роутером и раздачей без моста, что теоретически возможно у меня не вышло, так что писать о сём пока не буду.

Если проблемы с FTP и VPN
# modprobe ip_nat_pptp
# modprobe ip_nat_ftp
# echo ip_nat_pptp >> /etc/modules
# echo ip_nat_ftp >> /etc/modules

Ключевые файлы и их критичные параметры:

/etc/network/interfaces - описание сетевых интерфейсов, где после поднятия интернет соединения должно появиться описание ppp0
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

/etc/init.d/networking с параметром
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

/etc/sysctl.conf со строкой
net.ipv4.ip_forward = 1

/etc/ppp/peers/dsl-provider - файл настроек соединения pppoe
/etc/ppp/chap-secrets - содержит логин и пароль
/etc/resolv.conf - IP адреса DNS серверов

Другие файлы настройки сети, которые могут пригодиться
/etc/aliases - файл почтовых псевдонимов
псевдоним : пользователь
после изменений необходимо выпольнить команду
# newaliases
/etc/host.conf - содержит параметры разрешения доменных имен.
Параметр order hosts,bind - означает, что сначала поиск IP адреса по доменному имени будет произведен в файле /etc/hosts, а затем только будет выполнено обращение к файлу /etc/resolv.conf
параметр multi on означает, что одному доменному имени может соответствовать несколько IP адресов
/etc/hosts - IP адреса узлов локальной сети, сейчас уже не нужно
/etc/hosts.allow - разрешённые узлы
/etc/hosts.deny - запрещённые узлы
/etc/services - база данных сервисов, какой сервис какой порт использует

Запуск сетевого сервиса, если он не запущен
# service network start

Несколько программ, которые помогут обрести уверенность

Microsoft Office достойно заменит OpenOffice.
Для работы с компакт дисками рекомендую K3b.
Словарь Lingvo заменит StarDic, словари к которому можно скачать тут
http://forum.ru-board.com/topic.cgi?forum=5&topic=16486&start=0&limit=1&m=2
Скачиваем, распаковываем и копируем в /usr/share/stardic/dic и делаем их
доступными для всех, меняем свойства файлов.
Любителям работать с графикой осваивайте Gimp, этот проект сейчас активно развивается, так что может и Фотошоп подвинется.

пятница, февраля 05, 2010

Виртуальные машины в Linux

Их здесь есть.

Установка и запуск VMware.
1. Конвертируем rpm в deb при помощи alien, возможно перед этим alien необходимо будет установить. Для конвертирования используем команду
# alien -dc <имя rpm пакета>
где "-d" указывает на создание deb
а "-c" на конвертацию, содержащихся в пакете, скриптов включительно
2. Устанавливаем следующие пакеты
libx11-6 libx11-dev xspecs libxtst6 psmisc build-essential linux-headers-все
3. Устанавливаем собственно сконвертированный пакет.
Запускать Vmware рекомендую из консоли под рутом командой
# wmvare
Дальше все привычно и просто, я создал виртуальную машину с WinXP Pro 64-bit, возможна установка и Windows Vista. Для пущего комфорта напомню, что вы можете подключать любые реальные папки к виртуальной машине, через меню VM>Settings> Options>Shared Folders. И не забывайте установить утилиты для виртуальной машины.
Но как известно, этот продукт не может быть отнесён к разряду опенсорсе и вы используете его на свой страх и риск. Серверная версия, которая распространяется в интернете бесплатно и имеющая веб-интерфейс это издевательство и трата времени, на ней можно только продемонстрировать принцип работы системы, но не создавать постоянную машину.

Поэтому мы имеем прекрасную альтернативу VirtualBox.
Для использования новой версии необходимо подключить репозиторий
deb http://download.virtualbox.org/virtualbox/debian lenny non-free
ключ
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
# apt-get update
Идём в Синаптик и выбираем нужное. Дальше проще, чем в VMware. Я лично разницы не заметил и в качестве, тоже поддержка 3Д-ускорения, директХ и т.п. С тех пор как попробовал ету коробочку про Варю забыл.

Менеджер виртуальных машин, Qemu и Kvm.

# apt-get install virt-manager kvm qemu
Далее добавляем юзера root в группу libvirtd
# adduser root libvirt
по этой же схеме и себя тоже добавляем.
Перезапускаем libvirt-bin
# /etc/init.d/libvirt-bin restart
Делаем перезагрузку системы.
Теперь можно запускать менеджер виртуальных машин из основного меню и создавать виртуальные машины.

Да, необходимо заметить, что демон kvm мешает работе VirtualBox, о чём она сообщит при запуске, поэтому
# chkconfig
просмотрите если
kvm on
то
# chkconfig kvm off
Соответственно для использования kvm
# chkconfig kvm on
Да, после этих операций нужна таки перезагрузка.

четверг, февраля 04, 2010

Ресурсы решают многое

# Основной репозиторий
deb http://ftp.de.debian.org/debian lenny main non-free contrib
deb-src http://ftp.de.debian.org/debian/ squeeze main non-free contrib
# Обновления безопастности и ближайшие текущие обновления
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
# deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
# Дополнительные обновления
deb http://ftp.de.debian.org/debian lenny-proposed-updates main non-free contrib
deb-src http://ftp.de.debian.org/debian squeeze-proposed-updates main non-free contrib
# Проект адаптации некоторых тестовых пакетов для стабильного дистрибутива
deb http://www.backports.org/debian lenny-backports main non-free contrib
deb-src http://www.backports.org/debian lenny-backports main non-free contrib
# Мультимедиа ресурсы
deb http://ftp.mgts.by/debian-multimedia/ lenny main
deb-src http://ftp.mgts.by/debian-multimedia/ squeeze main
deb http://www.debian-multimedia.org lenny main
deb-src http://www.debian-multimedia.org squeeze main

# VirtualBox
deb http://download.virtualbox.org/virtualbox/debian lenny non-free
# Wine
deb http://www.lamaresh.net/apt lenny main
# Антивирус Bitdefender
deb http://download.bitdefender.com/repos/deb/ bitdefender non-free
# Кое-что от Google
deb http://dl.google.com/linux/deb/ stable non-free main
# Дополнительно для Compiz и Emerald
deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./

Последобавления в /etc/apt/sources.list
# apt-get update
много ругани, не обращаем внимания - так надо...

Получаем ключи на backports и debian-multimedia
# apt-get install debian-backports-keyring
# apt-get install debian-multimedia-keyring
КлючеГ на bitdefender
# wget http://download.bitdefender.com/repos/deb/bd.key.asc
# apt-key add bd.key.asc
Ключи для Wine, Google и VirtualBox
# wget -O - http://www.lamaresh.net/apt/key.gpg | apt-key add -
# wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
Ключ для Compiz и Emerald
# wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | sudo apt-key add -

И ещё раз
# apt-get update

среда, февраля 03, 2010

Два релиза

Обновился mc до версии 4.7.0.2. Скачать можно тут
http://www.midnight-commander.org/downloads
Навсякий случай для начинающих, как собрать deb пакет и установить
1. Распакуйте архив
2. Войдите в распакованную папку в консоли
3. # ./configure --with-glib2 --without-ext2undel --with-samba --with-screen=slang --prefix=/usr
это параметры с которыми устанавливается родной пакет, за исключением включения самба, параметр
--prefix=/usr указывает куда устанавливать пакет, т.к. в Debian путь отличается от умолчательного.
4. # make
и проверте, чтобы не был установлен mc.dbg через Синаптик
5. # checkinstall -D --install=no
с этими параметрами вы соберёте deb пакет без установки, если убрать
--install=no, то он тут же и установиться, разменщаться deb-пакет будет в текущей директории
6. В дальнейшем пакет можно устанавливать командой
# dpkg -i <имя_пакета>

Вторая новость обновился стабильный релиз Debian Lenny до версии 5.0.4.
http://cdimage.debian.org/debian-cd/5.0.4/amd64/iso-dvd/
если вы только собираетесь устанавливать, то рекомендую новые образы, т.к. в этом релизе обновился инсталлер.

вторник, февраля 02, 2010

О репозиториях и пакетах

Работа с репозиториями.
Список реп
http://www.debian.org/mirror/list.ru.html
http://linsovet.com/debian-lenny-install

Работа с пакетами.
Сохранение списка установленных пакетов
# dpkg --get-selections > software

Восстановление списка пакетов
# dpkg --set-selections < software
# apt-get dselect-upgrade

Показать сведения о пакете
# apt-cache show
более общие сведения о пакете
# apt-cache showpkg

Показать в каких репах сидит файл
# apt-cache policy pidgin

Поиск пакета содержащего конкретный файл
# dpkg -S stdio.h
# apt-file search libz.so

Показывает какие файлы входят в пакет
# apt-file list имя-пакета

Опрашивает какие пакеты установить, если они нужны, останавливает соответствующий процесс и продолжает его после установки пакета
# auto-apt run ./configure(любая команда)
обновление баз
# auto-apt update

Показывает какие пакеты можно обновить
# apt-show-versions -u

Сборка пакетов deb.
# apt-get install wajig
# wajig source mc
# wajig build mc
# wajig install ./mc_4.6.2~git20080311-4_i386.deb

Собирает и устанавливает deb пакет из изходников, необходимо запускать вместо make install
# checkinstall -D

Блокировка обновления пакета.
# echo имя_пакета hold | dpkg --set-selections -- запретить обновление
# echo имя_пакета install | dpkg --set-selections -- снова разрешить
# apt-get update

Обновить весь дистрибутив
# apt-get -u dist-upgrade