Архив автора: Scotch

CentOS Windows Virtio Drivers — драйвера дисковых устройств

Добрался я до установки домашнего сервера с виртуализацией KVM. На нем крутится windows Server, и подключен отдельный диск для файлопомойки. Чтобы поставить драйвера виртуальных дисков в windows, нужно поставить пакет virtIO-win на хост машине.

Подлючаем репозиторий:

1
# wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
# wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo

Устанавливаем virtio-win:

1
# yum install virtio-win
# yum install virtio-win

Нужный нам образ лежит в папке /usr/share/virtio-win/. Монтируем его в виртуальный CD-ROM гостевой машины и ставим с него драйвера виртуального жесткого диска.

На хост машине смотрим где диск который нам нужен:

1
2
3
4
5
6
7
8
[root@serverVirt /]# fdisk -l
 
Диск /dev/sda: 1000.2 ГБ, 1000204886016 байт
255 heads, 63 sectors/track, 121601 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000721bb
[root@serverVirt /]# fdisk -l

Диск /dev/sda: 1000.2 ГБ, 1000204886016 байт
255 heads, 63 sectors/track, 121601 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000721bb

И подключаем его к гостевой машине:
2015-11-30_125432

Готово!)

Samsung LE32B450C7WXRU прошивка

Достался по наследству данный телевизор. И уж сильно он тормозил при переключении каналов, и вообще реагировал на пульт через раз. После подключение цифрового ТВ через CI слот вообще «радовал» тормозами и периодической надписью «сигнал закодирован».

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

1. Качаем сабж с официальной страницы
2. Распаковываем и кидаем в корень флешки. Оную втыкаем в телевизор. Мне пришлось снимать его со стены, по другому флеш туда не втыкалась))
IMG_20151106_200007

IMG_20151106_200004

3. Включаем телевизор, в меню «Поддержка» выбрать обновление ПО, по USB и дождаться завершение процесса.

В итоге ТВ работает более менее адекватно, стал более шустрым и нормально работает цифровое ТВ.

Адекватных вам железок)))

Восстановление удаленных разделов. Testdisk.

Ковыряясь с созданием мультизагрузочной флешки, я таки удалил все данные с моего карманного жесткого диска. И снова судорожные поиски программ по восстановлению, снова нулевой результат…. Там же было 200Гб нужной информации, Карл! Но постойте! Была же программа, которая выручала меня не один раз, со сто процентным результатом. Да, вот она — testdisk.

Грузимся с диска или флешки. Далее по пунктам:

1. Выбираем диск, жмем Proceed
2. Выбираем тип файловой системы. Если раздел Windows, выбираем Intel
3. Нажимаем Analyze для анализа жёсткого диска
4а. Жмём Quick Search
4б. Если при быстром поиске ничего не найдено, выбираем Deep Search
5. И вот он нашел удаленный раздел. Клавишами <> на клавиатуре надо выбрать тип раздела — Primary, Logical итд.
Клавишей P, можно посмотреть файлы в найденных разделах.
Enter
6. В следующем окне жмем write. Потом YES. Выходим из программы Q

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

Настройка cron на openWRT

Настройка

Для выполнения заданий нужно создать файл:

1
# touch /etc/crontabs/root
# touch /etc/crontabs/root

Создаём символическую ссылку на файл crontab:

1
# ln -sf /etc/crontabs/root /etc/crontab
# ln -sf /etc/crontabs/root /etc/crontab

это позволит ссылаться на crontab используя /etc/crontab.

Стартуем сервис и включаем автозагрузку

1
2
# /etc/init.d/cron start
# /etc/init.d/cron enable
# /etc/init.d/cron start
# /etc/init.d/cron enable

Проверяем успешный запуск крона в системном логе:

1
# logread
# logread

В последней строке должно быть что то вроде:

1
Oct 14 09:07:57 gate cron.info crond[7727]: crond: crond (busybox 1.19.4) started, log level 8
Oct 14 09:07:57 gate cron.info crond[7727]: crond: crond (busybox 1.19.4) started, log level 8

Использование

Теперь, когда вы cron настроен и работает, можно запускать любые задачи по расписанию. Просто добавьте запись в /etc/crontabs/root.

Например, если нужно перезапустить wifi интерфейс(radio0) ежедневно в 06:30, добавляем в кронтаб:

1
30 06 * * * wifi restart
30 06 * * * wifi restart

или указываем путь к своему скрипту.

Перезагружаем сервис для сохранения изменений:

1
# /etc/init.d/cron restart
# /etc/init.d/cron restart

Скрипт проверки свободного места с оповещением по e-mail

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

1
2
3
4
5
6
7
8
9
10
#выводим остаток места тома
space=`df -h | grep /dev/vda | awk ' {print $4} ' | sed 's/G//'`
#лимит в Gb
limit=1
#проверяем остаток к лимиту
if (( $(bc <<< "$space <= $limit") == 1 ))
#шлем e-mail если меньше
then
echo "Warning! Disk Space is full. Avalible space $space Gb" | mail -s "Disk notification" you@email.ru
fi
#выводим остаток места тома
space=`df -h | grep /dev/vda | awk ' {print $4} ' | sed 's/G//'`
#лимит в Gb
limit=1
#проверяем остаток к лимиту
if (( $(bc <<< "$space <= $limit") == 1 ))
#шлем e-mail если меньше
then
echo "Warning! Disk Space is full. Avalible space $space Gb" | mail -s "Disk notification" you@email.ru
fi

Запускаем в cron по необходимости. /dev/vda и you@email.ru меняем на свои.

Квоты на CentOS и Vesta

Для включения квот

1
 sudo /usr/local/vesta/bin/v-add-sys-quota
 sudo /usr/local/vesta/bin/v-add-sys-quota

Для автоматического обновления квот скрипт для запуска в cron:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
# info: update user statistics
# options: USER
#
# Function logs user parameters into statistics database.
 
 
#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#
 
# Argument defenition
user=$1
 
# Importing system enviroment  as we run this script
#       mostly by cron wich not read it by itself
source /etc/profile
 
# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/conf/vesta.conf
 
 
#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#
 
# Creating user_list
if [ -z "$user" ]; then
    user_list=$(ls $VESTA/data/users)
else
    user_list="$user"
fi
 
# Updating sys quotas
for user in $user_list; do
    QUOTA_UPDATE=$VESTA/bin/v-update-user-quota
    sudo ${QUOTA_UPDATE} $user
done
 
exit
#!/bin/bash
# info: update user statistics
# options: USER
#
# Function logs user parameters into statistics database.


#----------------------------------------------------------#
#                    Variable&Function                     #
#----------------------------------------------------------#

# Argument defenition
user=$1

# Importing system enviroment  as we run this script
#       mostly by cron wich not read it by itself
source /etc/profile

# Includes
source $VESTA/func/main.sh
source $VESTA/func/domain.sh
source $VESTA/conf/vesta.conf


#----------------------------------------------------------#
#                       Action                             #
#----------------------------------------------------------#

# Creating user_list
if [ -z "$user" ]; then
    user_list=$(ls $VESTA/data/users)
else
    user_list="$user"
fi

# Updating sys quotas
for user in $user_list; do
    QUOTA_UPDATE=$VESTA/bin/v-update-user-quota
    sudo ${QUOTA_UPDATE} $user
done

exit

Вторая жизнь dlink dir-330 в образе WL500gp v2

Давным давно этот роутер трудился у меня дома, но не на родной прошивке -DD-WRT. Прекрасно поднимал соединение VPN к местному провайдеру со сносным Аптаймом. В общем особо не докучал))

Как то он упал раз и навсегда и был заменен новым TPLink-ом и заброшен в тумбочку. Но кризис заставляем чесаться руки(с)!)

Я достал его из ящика и долго пытался понять, почему он не работает. Перепаивал конденсаторы. Оказалось все дело в усохшем БП!!)))

Читать далее

Альтернатива Connectify, Виртуальный wi-fi win7

После мытарства с Connectify, хотелось более изящного способа получения вайфая с настольного компьютера. Как оказалось, начиная с windows 7 есть встоенный сервис по названием hostednetwork.

1
netsh wlan set hostednetwork mode=allow ssid="MS Virtual WiFi" key="Pass for virtual wifi" keyUsage=persistent
netsh wlan set hostednetwork mode=allow ssid="MS Virtual WiFi" key="Pass for virtual wifi" keyUsage=persistent

Прописываем свой ssid и пароль

И запускаем размещенную сеть

1
 netsh wlan show hostednetwork 
 netsh wlan show hostednetwork 

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

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

Centos монтирование webdav на примере 4shared

Сначала надо установить пакет libproxy:

для x64

1
 yum install libproxy.x86_64
 yum install libproxy.x86_64

для i686

1
 yum install libproxy.i686
 yum install libproxy.i686

Далее скачаем rpm davfs2 и связанные пакеты:

для  x64:

1
2
3
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.x86_64.rpm
wget ftp://dropbox.cloudlinux.com/pub/psbm/6.4/os/x86_64/RPMS/neon-0.29.3-2.el6.x86_64.rpm
wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.2/x86_64/os/Packages/pakchois-0.4-3.2.el6.x86_64.rpm
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.x86_64.rpm
wget ftp://dropbox.cloudlinux.com/pub/psbm/6.4/os/x86_64/RPMS/neon-0.29.3-2.el6.x86_64.rpm
wget http://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/6.2/x86_64/os/Packages/pakchois-0.4-3.2.el6.x86_64.rpm

для i686

1
2
3
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
wget ftp.scientificlinux.org/linux/scientific/6.4/x86_64/os/Packages/neon-0.29.3-2.el6.i686.rpm
wget http://mirror.centos.org/centos/6/os/i386/Packages/pakchois-0.4-3.2.el6.i686.rpm
wget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
wget ftp.scientificlinux.org/linux/scientific/6.4/x86_64/os/Packages/neon-0.29.3-2.el6.i686.rpm
wget http://mirror.centos.org/centos/6/os/i386/Packages/pakchois-0.4-3.2.el6.i686.rpm

Install:

для x64

1
 rpm -i davfs2-1.4.6-1.el6.rf.x86_64.rpm neon-0.29.3-2.el6.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm
 rpm -i davfs2-1.4.6-1.el6.rf.x86_64.rpm neon-0.29.3-2.el6.x86_64.rpm pakchois-0.4-3.2.el6.x86_64.rpm

для i686

1
rpm -i davfs2-1.4.6-1.el6.rf.i686.rpm neon-0.29.3-2.el6.i686.rpm pakchois-0.4-3.2.el6.i686.rpmwget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm
rpm -i davfs2-1.4.6-1.el6.rf.i686.rpm neon-0.29.3-2.el6.i686.rpm pakchois-0.4-3.2.el6.i686.rpmwget http://pkgs.repoforge.org/davfs2/davfs2-1.4.6-1.el6.rf.i686.rpm

Создаем точку монтирования:

1
mkdir /mnt/4shared
mkdir /mnt/4shared

Монтируем диск

1
2
3
4
5
6
7
mount -t davfs https://webdav.4shared.com /mnt/4shared/
Please enter the username to authenticate with server
https://webdav.4shared.com  or hit enter for none.
Username: username@mail.com
Please enter the password to authenticate user username  with server
https://webdav.4shared.com  or hit enter for none.
Password:
mount -t davfs https://webdav.4shared.com /mnt/4shared/
Please enter the username to authenticate with server
https://webdav.4shared.com  or hit enter for none.
Username: username@mail.com
Please enter the password to authenticate user username  with server
https://webdav.4shared.com  or hit enter for none.
Password:

!при этом в качестве логина используем адрес почты при регистрации, а не просто логин!

Сохраняем пароль

чтобы не набирать его каждый раз, в файле 

1
vi /etc/davfs2/secrets
vi /etc/davfs2/secrets

просываем пароль в виде «точка монтирования пользователь пароль» 

1
/mnt/4shared username pass
/mnt/4shared username pass

 

Error: Problem communicating with Copy cloud.

За лето товарищи поменяли агент, и начала выскакивать ошибка, при попытки залить на облако что либо.

Удаляем старый клиент

1
2
cd /tmp
rm Copy.tgz
cd /tmp
rm Copy.tgz

Скачиваем свежий и распаковываем

1
2
 wget https://copy.com/install/linux/Copy.tgz
tar -xvf Copy.tgz
 wget https://copy.com/install/linux/Copy.tgz
tar -xvf Copy.tgz