Май 2012 Пн Вт Ср Чт Пт Сб Вс « Апр 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 Рубрики
- CMS (1)
- Linux (1)
- Debian (1)
- Unix (9)
- FreeBSD (9)
- Безопасность (3)
- Программы (5)
- FreeBSD (9)
- Без рубрики (5)
- Программирование (2)
Закладка на тему PXE
http://www.wonkity.com/~wblock/docs/html/pxe.html
Posted in Без рубрики
Leave a comment
Утилита freebsd-update
Обновление FreeBSD с помощью freebsd-update
С недавних пор FreeBSD поддерживает бинарное обновление системы, то есть не нужно теперь ждать пока соберутся все исходники. Для обновления нужно использовать утилиту freebsd-update.
Для обновления в текущем релизе (то есть получать только исправления применимые к текущей установленной версии) используйте следующие команды:
freebsd-update fetch freebsd-update install reboot
Для перехода на следующую версию:
freebsd-update -r 8.2-RELEASE upgrade freebsd-update install reboot freebsd-update install reboot
Заводим нового пользователя при помощи скрипта
echo "Password" | pw useradd -h 0 -n Username -L wheel -s /bin/csh -d /home/username
Через echo «Password» мы передаем пароль, при помощи pw создаем нового пользователя. Флаг -h 0 создает пароль переданный через echo, -n Username указываем имя пользователя, -L wheel задаем группу пользователя, -s /bin/csh указываем шелл пользователя, -d /home/username указываем домашний каталог пользователя.
Posted in FreeBSD, Безопасность, Программы
Tagged csh, FreeBSD, pw, Utility, Безопасность
Leave a comment
PHP-функция для парсинга страниц
<?php
$page = "адрес сайта с которого будем парсить";
$start = "Начало парсинга>";
$end = "Конец парсинга";
function parser($page, $start, $end) {
// Страница с которой нужно получить контент
$content = file_get_contents($page);
// Ищем первую позицию
$pos = strpos($content, $start);
// Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);
// Точно таким же образом находим позицию второй строки
$pos = strpos($content, $end);
// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);
$format = strip_tags($content);
$format = trim($format);
$search = "'&(nbsp|#160);'e";
$replace = "";
$format = preg_replace($search, $replace, $format);
echo $format;
}
// выводим полученную строку.
echo parser($page, $start, $end);
?>
http://forum.ubuntu.ru/index.php?topic=47894.0
http://www.spohelp.ru/forums/13-drayvery-i-linux/topics/294-resheno-printer-hp-laserjet-p1005-v-altlinuks-5
OpenNTPd — сервер синхронизации время
openntpd_enable="YES" openntpd_flags="-s"
OpenNTPD — демон, реализующий протоколы SNTP версии 4 и NTP версии 3 для синхронизации локального системного времени с удалёнными NTP серверами или сенсорами отклонения локального времени. Может выступать в качестве NTP сервера для клиентов, совместимых с данными протоколами.
Демон разработан Хеннингом Брауэром в рамках проекта OpenBSD. Основные цели проекта — это создание безопасного, лёгкого в настройке, достаточно точного и свободно распространяемого сервера точного времени.
Установка:
# cd /usr/ports/net/openntpd # make search install clean
Настройка достаточно тривиальна:
# ee /etc/ntpd.conf # На каких интрефейсах будет висеть сервис, в данном случае # будет слушать все интерфейсы, но можно указать и конкретные, # например listen on 127.0.0.1 или listen on 192.168.0.1. Опция # rtable указывает какую маршрутизацию использовать listen on * # Сервера с которых будет синхронизироваться машина, можно # перечислить несколько серверов, а можно указать пул серверов server ru.pool.ntp.org # Так же существует еще одна деректива, она служит коррекции дельты # времени интерфейса в миллисекундах, максимальная коррекция 127 секунд. # sensor udcf0 correction 70000
Теперь осталось добавить в rc.conf:
Скрипт сборки ядра
#!/bin/sh
kernel="${1}"
archit="${2}"
cd /usr/src/sys/${archit}/conf/
config ${kernel}
#cd ../compile/${kernel}
cd /usr/src/sys/${archit}/compile/${kernel}
make cleandepend && make depend && make -j8 -B && make install
Самописный бот для игры
#comments-start
Бот для игры Мир танков
Код:
Графический интерфейс
Запуск бота
Релогин
Выбор танка(на дороботке)
Выход из боя(После смерти)
#comments-end
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
; Определяем параметры окна
Opt("PixelCoordMode", 2)
Opt("MouseCoordMode",2)
; Рисуем GUI интерфейс для управления ботом
$WoT = GUICreate("BoT", 200, 220, 192, 124)
$Client = GUICtrlCreateGroup("Управление клиентом", 8, 8, 185, 129)
$AutoRelog = GUICtrlCreateCheckbox("Авто вход в игру", 16, 24, 169, 17)
$ChangTank = GUICtrlCreateCheckbox("Поиск свободного танка", 16, 40, 169, 25)
$SortLabel = GUICtrlCreateLabel("В каком порядке выбирать танк", 16, 64, 169, 17)
$SortTank = GUICtrlCreateInput("123", 16, 104, 169, 21)
$StartBot = GUICtrlCreateButton("Запуск", 32, 154, 129, 25, $WS_GROUP)
$SaveSet = GUICtrlCreateButton("Сохранить настройки", 32, 180, 129, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
; попытка сохранять параметры в Ini
Case $SaveSet
$ARState = GUICtrlRead($AutoRelog)
$CTState = GUICtrlRead($ChangTank)
$STState = GUICtrlRead($SortTank)
If $ARState = 1 Then
IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 1)
Else
IniWrite("Bot.ini", "ClConfig", "AutoRelogin", 0)
EndIf
If $CTState = 1 Then
IniWrite("Bot.ini", "ClConfig", "ChangeTank", 1)
Else
IniWrite("Bot.ini", "ClConfig", "ChangeTank", 0)
EndIf
IniWrite("Bot.ini", "ClConfig", "SortTank", $STState)
; запуск бота
Case $StartBot
; активируем окно игры
WinActivate("[TITLE:W.o.T. Client]","")
While 1
Select
; Если окно не активно оповещаем
Case WinActive("[TITLE:W.o.T. Client]","") = 0
MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
ExitLoop
; Если окно активно,проверяем залогинен ли клиент
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
; Если логин не совершен, совершаем его
PixelSearch(0,0,500,500,0x000000,100)
If @error=0 Then
Sleep(1000)
MouseClick("",512,540,2)
EndIf
; Необходимо добавить проверку нахождения в ангаре
; Начинаем выбор танка
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
; Проверяем 1 слот
If PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",180,657,5)
Sleep(3000)
MouseClick("",511,46,5)
; Проверяем 2 слот
ElseIf PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",348,657,5)
Sleep(3000)
MouseClick("",511,46,5)
; Проверяем 3 слот
ElseIf PixelGetColor(461,40) = 0xB02022 Then
Sleep(3000)
MouseClick("",511,657,5)
Sleep(3000)
MouseClick("",511,46,5)
EndIf
; Параметры боя
; Проверка жив ли наш танк
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
PixelSearch(0,0,500,500,0x000000,100)
If @error=0 Then
Sleep(3000)
Send("{R 2}")
EndIf
; Если танк убит выходим из боя
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0
Sleep(3000)
Send("{ESC}")
Sleep(3000)
MouseClick("",510,372,5)
EndSelect
WEnd
EndSwitch
WEnd
Мой csh
# $FreeBSD: src/etc/root/dot.cshrc,v 1.30 2007/05/29 06:37:58 dougb Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#
alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lA
# A righteous umask
umask 22
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)
setenv EDITOR ee
setenv PAGER more
setenv BLOCKSIZE K
if ($?prompt) then
# An interactive shell -- set some stuff up
set prompt = "%{\33[32m%}%B[%m][`id -u -n`][%~]#%b"
set autolist = TAB
set filec
set history = 100
set savehist = 100
set mail = (/var/mail/$USER)
if ( $?tcsh ) then
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
endif
endif
Температура CPU системы(FreeBSD+mbmon)
Температура системы(FreeBSD)
Назрела задача мониторить температуру системы, немного поискав было получено несколько ответов на интересующий вопрос,из предложенных вариантов, решение пало на mbmon,почитав немного отзывов стало понятно что на удачный исход надеется не стоит,так поддерживается не все железо,ну да ладно,так как говориться попытка не пытка,тем более есть в портах
.Что имеем:
[2:14][gw][root][/]# uname -srm FreeBSD 7.1-RELEASE i386 [2:14][gw][root][/]# dmesg | grep CPU CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3199.65-MHz 686-class CPU) Logical CPUs per core: 2 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0: <ACPI CPU> on acpi0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 cpu1: <ACPI CPU> on acpi0 p4tcc1: <CPU Frequency Thermal Control> on cpu1 SMP: AP CPU #1 Launched!
Собственно температуру этого камушка и было задумано мерить,а то после Intel Celeron 2400 мне он ужасно горячим показался,что оказывается было зря. 
Повышаем безопасность системы
Повышаем безопасность системы
1 В системе достаточно иметь только одну директорию для хранения временных файлов, хотя в стандартной упаковке их две /tmp и /var/tmp , поскольку разные пакеты используют разные директории. Поскольку нам достаточно одной, то ограничим их в этом свободном выборе, удалив /var/tmp.
# mv /var/tmp/* /tmp/ # rm -rf /var/tmp # ln -s /tmp /var/tmp
Так же можно удалять все временные файлы во время загрузки системы добавив в rc.conf следующие:
clear_tmp_enable="YES"
Обновление портов
Обновление происходит при помощи утилиты csup.
Сводится примерно к следующему:
# cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/supfile # ee /usr/local/etc/supfile *default host=CHANGE_THIS.FreeBSD.org *default base=/var/db *default prefix=/usr *default release=cvs tag=RELENG_8 *default delete use-rel-suffix *default compress ports-all tag=. # csup -g -h cvsup7.ru.freebsd.org -L2 /usr/local/etc/supfile



