Ярлыки

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

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

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

Настройка SAMBA в школьной сети

Пример smb.conf
[global]
workgroup = school24
server string = %h server (Samba)
log file = /var/log/samba/log.%m
max log size = 1000

usershare allow guests = yes
username map = /etc/samba/smbusers
security = share
use sendfile = no


[install]
        # также расшаривается по nfs
path = /home/schooladm/install
writeable = yes
        browseable = no
valid users = root, schooladm

[share]
        # также расшаривается по nfs
path = /home/schooladm/share
writeable = yes
browseable = no
guest ok = yes
create mask = 0777

[school_docs]
       # также расшаривается по nfs
path = /home/schooladm/school_docs
writeable = yes
browseable = no
guest ok = yes
create mask = 0777

[media]
       # также расшаривается по nfs
       # в этой папке еще существуют папки fotos, video и videoshare
       # папка videoshare транслируется на телевизор или по школьной сети
        path = /home/schooladm/media

writeable = yes
browseable = no
        valid users = admin, root, schooladm

В файле smbusers пишемъ:

root = administrator
nobody = guest smbguest pcguest
schooladm = schooladm
admin = admin
user = user

З.Ы.: Для того, чтобы в samba-папку, у которой прописаны valid users, можно было зайти из windows-машины, необходимо, чтобы на этой машине существовал пользователь, прописанный в valid users и в smbusers.



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

Заметка про LVM


Давно разбираюсь с этой темой, да всё никак не сохраню тут основные моменты.
Тут, тут и тут можно почитать про LVM (собственно оттуда я и стянул инфу).
Создание томов LVM.
Сначала устанавливаем apt-get install lvm2
Полезно еще установить GUI утилиту дял управления LVM system-config-lvm
pvcreate /dev/sdb данная команда сделает из физического раздела физический LVM раздел
Далее надо создать группу томов:
 vgcreate group1 /dev/sdb, где group1 - название группы
Создание логических томов:
 lvcreate -n usr -L10G group1 и так далее для каждого раздела Linux
Посмотреть что натворили можно такими командами:
pvdisplay - информация по физическим томам
vgdisplay - информация по группе томов
lvdisplay - информация по логическим томам
разделы что мы создали появятся в папке /dev/[имя_vg]/, точнее там будут ссылки на файлы,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/group1-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/group1-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/group1-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -> /dev/mapper/group1-var
и т.д…

форматируем наши разделы в любимые файловые системы:
mkfs.ext2 -L tmp /dev/group1/tmp
mkfs.ext4 -L usr /dev/group1/usr
mkfs.ext4 -L var /dev/group1/var
mkfs.ext4 -L home /dev/group1/home

раздел подкачки:
lvcreate -n swap -L2G group1
mkswap -L swap /dev/group1/swap
swapon /dev/group1/swap

Создаём папку и подключая по очереди новообразовавшиеся тома, копируем в них нужное содержимое:
root@ws:~# mkdir /mnt/target
root@ws:~# mount /dev/group1/home /mnt/target
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):
root@ws:~# cp -a /home/* /mnt/target/
root@ws:~# umount /mnt/target/
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:
root@ws:~# mount /dev/group1/tmp /mnt/target && chmod -R a+rwx /mnt/target && umount /mnt/target/
добавляем нужные строчки в /etc/fstab, например такие:
/dev/mapper/group1-home /home ext4 relatime 0 2
/dev/mapper/group1-tmp /tmp ext2 noatime 0 2
/dev/mapper/group1-swap none swap sw 0 0

Для добавления жесткого диска я пользовался GUI утилитой.

Сначала я форматировал диск, инициализировал его, добавил в группу томов.

В группе томов появилось неиспользуемое место. Тогда можно расширить один или несколько томов (увеличить размер).

Увеличение размера логического тома.

Сначала надо увеличить размер тома, потом увеличить размер файловой системы. ext3/ext4/reiserfs можно увеличивать не отмонтируя.

lvextend -L+4G /dev/volgroup00/test01 //увеличение логического тома на 4Гб

resize2fs /dev/volgroup00/ext //расширение Ext2/Ext3/Ext4

Удаление томов и групп

Логические тома перед удалением должны быть отмонтированы.
# vgreduce volgroup00 /dev/sdb1 //удаление физического тома из группы # lvremove /dev/volgroup00/test01 //удаление логического тома # vgremove volgroup00 //удаление группы томов # pvremove /dev/sdc1 //удаление физического тома



Установка стандартного набора LAMP

Давно уже искал способ быстро поднять LAMP из консоли и постоянно натыкался на огромный набор команд, которые не запомнишь, а записывать лень.
Вот способ быстро это сделать:
sudo tasksel install lamp-server
И усё!
Всё станет устанавливаться и настраиваться (спросит пароль mysql).
Остается только перезапустить apache и установить phpmyadmin (если надо).
Вот тут всё разжевано

Виртуализация на VirtualBox

Название темя поста я написал, конешно, глобальное, но здесь есть очень много моментов, которые я постепенно буду добавлять в этот пост.
Вот тут много написано про виртуализацию на VB
Момент первый: установка. 
Устанавливается VB естественно на Linux, так как стабильнее и удобнее в управлении как с командной строки, так и удаленно.
Установочный бинарник качается сразу с официального сайта Oracle, так как в репах всегда старые версии. Оттуда же качается пакет дополнения для работы с USB.
Момент второй: настройка сети.
 На машине-хосте имеются несколько виртуальных машин: каждая под свою роль. Одни системы для серверов - шлюз, DHCP, файловый, веб-сервер и так далее, а так же  их клоны на случай сбоя.
Так же имеются несколько тестовых систем разных виндовз и линукс.
 Требуется: каждая виртуальная машина должна видеть по сети другую виртуальную, а так же компы внешней сети. Компы из внешней сети должны видеть виртуальные.
 Решение: на виртуальном шлюзе ставим прокси, DHCP и два сетевых интерфейса. Один интерфейс связан сетевым мостом с физическим сетевым интерфейсом машины-хоста, который, в свою очередь смотрит в инет. Второй интерфейс шлюза настроен так - сетевой мост на другой физический сетевой интерфейс машины-хоста, причем обязательно установить "неразборчивый режим" в позицию "разрешить всё".
Сетевые интерфейсы других виртуальных машин настроить так же как второй интерфейс шлюза и на тот же  физический сетевой интерфейс машины-хоста.
Момент третий: установка веб-морды для VirtualBox.
Здесь указано как устанавливать. От меня небольшое дополнение. Тупо копипастить не получится. Надо подстраивать под себя. Я долго сидел разбирался. Скачиваем, распаковываем как указано в статье. Переименовываем папку со скриптами в phpvirtualbox. Далее делаем как описано здесь:

VBOXWEB_USER='пользователь под которым запущен VB'
VBOXWEB_HOST=127.0.0.1
VBOXWEB_PORT=18083
Дальше лезем в /var/www/phpvirtualbox/config.php (его копируем из config.php-example) .
Изменения, которые я проделал:

var $username = 'пользователь под которым запущен VB';
var $password = 'пароль этого пользователя';
var $language = 'ru';
var $consoleHost = '192.168.1.3'; // IP сервера, на котором запущен VB
Далее запускаем/перезапускаем VB:
/etc/init.d/vboxweb-service start/restart
Лезем в браузер по адресу: http://192.168.1.3/phpvirtualbox/
В окне входа пишем admin и admin
Если всё нормально, то увидим страницу VB.
У меня была ошибка Error logging in to vboxwebsrv
Решил так:
В консоли дал команду
VBoxManage setproperty websrvauthlibrary null
Далее перезапустил VB из консоли и снова зашел.

Подсмотрел решение ошибки тут

USB

Для того чтобы усб-устройства работали, нужно ставить версию программы с поддержкой USB (не OSE)
ПО идее правильно подключать усб-устройство к виртуальной машине надо так: добавляем фильтр конкретного устройства в список фильтров и виртуальная машина при загрузке сразу перехватит это устройство. Если сделать пустой фильтр, то машина перехватит любое устройство (так можно если устройство одно).
НО, в линуксе как всегда всё через одно место...Фильтр поставил, устройство подключено, но не видится, перевоткнул в другой порт - заработало. То ли машина видит усб без фильтров, то  ли порт был говеный, то ли какой-другой вариант, о котором я не ведаю.

Автоматический запуск виртуальных машин при загрузке/перезагрузке сервера.

Тут два пути:
1. Сделать исполняемый скрипт, в котором команды будут запускать виртуальные машины и сунуть его в автозагрузку.
2. Прописать команды в оболочке Gnome - запускаемые приложения

У меня получился второй путь. В Параметры - Запускаемые приложения вписал
vboxmanage startvm Имя виртуальной машины
Если имя виртуальной машины содержит пробелы, то в команде имя писать в кавычках.

Моменты, которые будут рассмотрены в будующем: 
  • настройка автоматического запуска виртуальных машин при загрузке/перезагрузке сервера, 
  • подключение к серверу и VB из инета  (скоро отпуск и неохота ездить на работу из-за мелочей). 

вторник, 1 мая 2012 г.

Изменение рабочей среды по-умолчанию

Чтобы изменить рабочую среду при загрузке на другую (например при запуске чтоб была не unity а gnome), надо выполнить следующие действия:
1. Нажать Alt-F2 и набрать команду:
gksu gedit /etc/lightdm/lightdm.conf
2. В открывшемся файле изменяем строкуuser-session=gnome-shell
наuser-session=gnome-classic
3. Выходим и опять заходим пользователем. Ура! Работает!

среда, 18 апреля 2012 г.

jQuery плагин ограничения количества вводимых символов в textarea

Сразу скажу, что мой вариант, это урезанная версия плагина Эмиля Шернемана (Emil Stjerneman), так что у вас всегда есть возможность воспользоваться альтернативным решением.
Но, к делу. Начнём с того, что нам понадобится использовать библиотеку jQuery. Как обычно:
<script src="patch2/jquery.js" type="text/javascript"></script>
Не вдаваясь в подробности, приведу код плагина с небольшими, в меру моего понимания, комментариями:
<script type="text/javascript">
// создаём плагин maxlength
jQuery.fn.maxlength = function(options) {
  // определяем параметры по умолчанию и прописываем указанные при обращении
  var settings = jQuery.extend({
    maxChars: 10, // максимальное колличество символов
    leftChars: "character left" // текст в конце строки информера
  }, options);
  // выполняем плагин для каждого объекта
  return this.each(function() {
    // определяем объект
    var me = $(this);
    // определяем динамическую переменную колличества оставшихся для ввода символов
    var l = settings.maxChars;
    // определяем события на которые нужно реагировать
    me.bind('keydown keypress keyup',function(e) {
      // если строка больше maxChars урезаем её
      if(me.val().length>settings.maxChars) me.val(me.val().substr(0,settings.maxChars));
      // определяем колличество оставшихся для ввода сиволов
      l = settings.maxChars - me.val().length;
      // отображаем значение в информере
      me.next('div').html(l + ' ' + settings.leftChars);
    });
    // вставка информера после объекта
    me.after('<div class="maxlen">' + settings.maxChars + ' ' + settings.leftChars + '</div>');
  });
};
</script>

Как вы видите, код получился небольшим и в чем-то даже понятным. Лучше всего его поместить в отдельный файл, скажем maxlength.js. Осталось лишь инициировать действие плагина для TEXTAREA. Как таковой, это можно сделать по ID, классу или тегу. Я предпочитаю ID, как наиболее определённый. Выглядеть это может следующим образом:
<script type="text/javascript">
$(document).ready(function(){
  $("#textarea").maxlength();
});
</script>
<textarea id="textarea" style="width:100%; height:200px"></textarea>

Здесь просто дожидаемся загрузки документа и инициализируем наш плагим. Стоит также отметить, что вы можете прописать свои параметры для maxlength(). Сделать это можно, к примеру, следующим образом:
$('#textarea).maxlength({ maxChars: 160 });


Нагло сперто вот отсюда

вторник, 17 апреля 2012 г.

Просмотр сетевого трафика в Linux

Давно собирался заняться этим вопросом, но пока "петух не клюнул" так и откладывал.
Пользователи начали активно чего-то качать из инета так что весь интернет повесился.
Итак, инструментов для анализа трафика существует огромное количество.
В первую очередь конечно - SAMS, но им я займусь попозже, ибо мой старый сервер этого не переживет.
Консольная прораммулька для отображения трафика в сети - iftop
Устанавливается так:
apt-get install iftop

и запускается от имени суперпользователя:
iftop -i eth0, где eth0 - просматриваемыйсетевой интерфейс

 "Гуишная" прорамма wireshark
Устанавливаем:

sudo add-apt-repository ppa:n-muench/programs-ppa

sudo apt-get update

sudo apt-get install wireshark
Далее просто запускаем от имени суперпользователя:

sudo wireshark

Интерфейс не на русском, программа шибко быстрая, так что я не особо разобрался

Понял как делать фильтры, чтобы она не  сваливала на экран всё подряд, например:

tsp or http

Если буду далее с ней разбираться, то напишу отдельно.

Подробное описание тут
Или где-то еще.


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

Настройка МФУ HP M1132 в LinuxMint 12 (Ubuntu 11.11)


Сей принтер, как и многие другие новые принтеры этой марки, не хотят работать так сразу - при подключении. Не желают, видите ли - молчат, когда на них локально отправить печать, или выдают разные ошибки.
Для настройки принтеров марки HP есть специальная утилитка - HPLIP, которая находится тут.
А тут есть инструкция, по которой надо настраивать принтер (или МФУ).
Моей задачей было сделать так ,чтобы МФУ хотя бы печатало.
Все делается по инструкции, за исключением одного момента: в LinuxMint, когда утилита запросит, какой дистрибутив используется, нужно указать ubuntu 11.11, иначе программулина будет ругаться на отсутствие какой-то компоненты.
Если всё нормально, программа скачает все нужные компоненты, установит HP Device Manager и будет вам счастье.
НО! Принтер сразу не стал печатать. Еще бы! Это же линукс-вэй! Это не винда, где включил - и заработало как надо (хотя в винде часто включил - и не  работает вообще).
Пришлось повключать и повыключать комп и МФУ в разной последовательности, пока принтер  не стал адекватно отвечать на запрос печати. В чем причина такого поведения - я на данный момент не выяснил.
Если выясню - позже допишу.

четверг, 19 января 2012 г.

Перевод учащихся в другой класс и завершение учебного года в 1С:Хронограф


Порядок действий такой:
1. Нужно завершить учебный год. При этом учащиеся с 1 по 10 классы переводятся в другой класс (в 9х классах надо быть внимательным - некоторые ученики завершают обучение). 11 класс завершает обучение.
2. В начале учебного года (в сентябре месяце, а не в январе) переносим данные из старого учебного года в новый.
3. Заходим в "Распределение учащихся по классам в начале учебного года" и внимательно переводим  учеников в следующий класс.

Порядок сортировки, установленный для базы данных, отличается от системного

Если 1С сетевая и на компьютерах сети стоят Windows Xp и Windows 7, то 1С будет выдавать такую ошибку: "Порядок сортировки, установленный для базы данных, отличается от системного".
Лечится сия проблема следующими способами:
1. Нужно запустить конфигуратор - Администрирование - Кодовая страница таблиц ИБ выставить "Текущая системная установка" самая нижняя. Если 1С в этом случае ругнётся так: "компонента v7plus.dll не найдена", то лезем в базу, копируем оттуда в папку BIN файл v7plus.dll. В некоторых случаях нужно этот файл из базы убрать. Далее запускаем (один раз - первый) 1C от имени администратора (в Windows 7 а может еще и в XP - не проверял). И усё в порядке. Потом можно работать как обычно.
2. Ежели первый способ не помогает, то заходите в конфигуратор в базу меню администрирование-Кодовая страница ИБ - выбераете текущую системную , дожидаетесь окончания процесса, если версия сетевая и есть клиенты с хп установленной то есть вариант с отключением проверки на кодовую страницу для этого в каталоге БД создаете пустой файл с названием OrdNoChk.prm.
3. Делаем все windows либо икспи либо семеркой. С икспи уже пора вообще прощаться. Поработала старушка, пора и на покой, не тянет безопасность уже она как следует.

четверг, 5 января 2012 г.

Обновление WINE на ubuntu

Для обновление данной програмулины в синаптике добавляем репозиторий:
ppa:ubuntu-wine/ppa
Далее обновляем репозиторий, ищем пакет wine и жмем "обновить".
При этом удалится старый wine и установится новый.

вторник, 3 января 2012 г.

DLNA сервер на ubuntu

Прикупили мы телевизор LG 47LW575S. Крутой телевизор, короче.
И захотелось нам смотреть фильмы по локальной сети, но телевизор не умеет шарить по сети как компьютер.
Призадумался я....И воззвал я  к Гуглю за помочью. И ответил мне Гугль.
Идем сюда и качаем программу minidlna

Внутри не будет исходников, там лежит бинарник minidlna и файл конфигурации minidlna.conf. Файл конфигурации копируем в /etc, а бинарник в /usr/sbin.

Приступим к конфигурированию сервера. Ни чего сложного в этом нет. Приведу часть моего конфига, ту, которую я изменил.
network_interface=eth1
media_dir=V,/media/hdd/Медиа/Видео

friendly_name=My DLNA Server
notify_interval=60

Запускаем командой:
minidlna -d -f /etc/minidlna.conf

Если лень каждый раз применять эту команду, то идем сюда за подробностями, откуда собсно я и спер эту инструкцию. Спасибо Карапузу.