1. apt-get install build-essential iasl
2. wget http://code.coreboot.org/p/seabios/downloads/get/seabios-1.7.3.tar.gz
3. tar xzf sea*
4. mv seabios-1.7.3 seabios
5. cd ./seabios/src
6. тут берем патч для биоса http://forum.proxmox.com/attachment.php?attachmentid=1647&d=1377897028
7. ищем SLIC таблицу, например эту https://app.box.com/s/54qoducwsm2m0bxt857s от сюда http://forums.mydigitallife.info/threads/5952-OA-2-x-SLIC-amp-OEMCERT-Collection/page128
8. Конвертируем нужный SLIC в Hex xxd -i source-bin-file.bin | grep -v len | sed 's/unsigned char.*/static char SLIC[] = {/' > acpi-slic.hex
9. Еще можно взять SLIC в гипервизора xxd -i /sys/firmware/acpi/tables/SLIC | grep -v len | sed ‘s/unsigned char.*/static char SLIC[] = {/’ > acpi-slic.hex
10. все кладем в src
11. patch -p1 < acpi_slic.patch
12. указываем acpi.c
13. cd ..
14. make
15. mkdir /usr/share/kvm/bkp
16. cp /usr/share/kvm/* /usr/share/kvm/bkp/
17. cp ./out/*.bin /usr/share/kvm/
18. cp ./out/*.aml /usr/share/kvm/
также не забываем установить сертификат Dell и серийный номер. Этих трех компонентов будет достаточно для офлайн активации.
воскресенье, 29 декабря 2013 г.
воскресенье, 3 ноября 2013 г.
centos медленно резолвит имена
Заметил странное. centos 6 медленно резолвит DNS имена. Помогло следующее:
добавить options single-request-reopen в /etc/resolv.conf
вторник, 8 января 2013 г.
VB cкрипт для бэкапа 1С баз, отключает пользователей, блокирует базу, монтирует сетевой диск, выгружает, все закрывает :)
Dim WshNetwork ' объект сети
Dim WshShell ' шел ОС
Dim WshEnv ' переменное окружение шела
Dim ServerName ' DNS имя сервера с 1С
Dim InfoBasesAdminName ' админ базы
Dim InfoBasesAdminPass ' пароль админа базы
Dim ClasterPortNumber ' порт кластера
Dim ClasterAdminName ' админ кластера
Dim ClasterAdminPass ' пароль админа кластера
Dim LockPermissionCode ' код блокировки базы
Dim LockMessageText ' сообщение о блокировке базы
Dim FileName ' имя файла бэкапа
Dim DumpPath ' путь куда бэкапить
Dim ComConnector ' ком объект 1С
Dim ConnectToWProc ' коннектор к 1С процессу
Dim ServerAgent ' адрес агента 1С
Dim PrgDirx86 ' exe 1Ски
Dim CommandExe ' команда на запуск
Dim NetPath ' сетевой путь к бэкапам
Function init()
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set ComConnector = CreateObject("v82.COMConnector")
Set ServerAgent = ComConnector.ConnectAgent(ServerName)
Set WshShell = CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment
NetPath = "\\192.168.1.1\backups\1C\dt"
ServerName = "srv-1csql"
InfoBasesAdminName = "backuper"
InfoBasesAdminPass = "123backuper"
ClasterPortNumber = 1541
ClasterAdminName = "Administrator"
ClasterAdminPass = "пароль админа кластера"
LockPermissionCode = "12345"
LockMessageText = vbCrLf + "База закрыта на создание резервной копии, примерно, на 10 минут"
DumpPath = "X:"
' получаем exe 1Ски, оно будет делать выгрузку
PrgDirx86 = WshShell.RegRead("HKEY_CLASSES_ROOT\CLSID\{5CD98F13-1050-4b43-84F2-33AD97CFC287}\LocalServer32\")
End Function
Function destroy()
WshNetwork = Null
ComConnector = Null
ServerAgent = Null
ConnectToWProc = Null
WshShell = Null
WshEnv = Null
End Function
Function Base_BKP(InfoBaseName) ' имя базы для бэкапа
Dim FindInfoBase ' признак успешного поиска базы
Dim Clasters ' массив кластеров сервера у агента сервера
Dim Claster ' кластер 1С
Dim WorkingProcesses ' массив рабочих процессов
Dim WorkingProcess ' рабочий процесс в кластере 1С
Dim InfoBases ' массив рабочих баз рабочего процесса
Dim InfoBase ' информационная база
Dim Connections ' массив подключений
Dim Connection ' подключение
FindInfoBase = False
FileName = DumpPath & "\" & InfoBaseName & "_" & _
Right("0" & Day(Now), 2) & "." & Right("0" & Month(Now), 2) & "." & Year(Now) & _
"-" & Right("0" & Hour(Now), 2) & "." & Right("0" & Minute(Now), 2) & "." + Right(Second(Now), 2) & ".dt"
CommandExe = """" + PrgDirx86 + """ CONFIG /S" + ServerName + "\" + InfoBaseName + _
" /N" + InfoBasesAdminName + " /P" + InfoBasesAdminPass + _
" /UC" + LockPermissionCode + " /DisableStartupMessages /DumpIB " + FileName
Clasters = ServerAgent.GetClusters()
For Each Claster In Clasters
If Claster.MainPort = ClasterPortNumber Then
ServerAgent.Authenticate Claster, ClasterAdminName, ClasterAdminPass ' аутентифицируемся в кластере
WorkingProcesses = ServerAgent.GetWorkingProcesses(Claster) ' получаем список массив рабочих процессов кластера
For Each WorkingProcess In WorkingProcesses
If WorkingProcess.Running = 1 Then
' подключаемся к рабочему процессу
Set ConnectToWProc = ComConnector.ConnectWorkingProcess("tcp://" + WorkingProcess.HostName + ":" + CStr(WorkingProcess.MainPort))
ConnectToWProc.AuthenticateAdmin ClasterAdminName, ClasterAdminPass
ConnectToWProc.AddAuthentication InfoBasesAdminName, InfoBasesAdminPass
' ищим базу данных
InfoBases = ConnectToWProc.GetInfoBases() ' получаем массив баз данных
For Each InfoBase In InfoBases
If UCase(InfoBase.Name) = UCase(InfoBaseName) Then ' нашли нужную нам базу
FindInfoBase = True
Exit For
End If
Next
End If
' закрываем все активные подключения во всех рабочих процессах
Connections = ConnectToWProc.GetInfoBaseConnections(InfoBase) ' получаем массив соединений с базой
For Each Connection In Connections
If Connection.AppId <> "COMConsole" Then
ConnectToWProc.Disconnect(Connection) ' разрываем соединения с базой
End If
Next
Next
End If
Next
If FindInfoBase = True Then
' блокируем базу
InfoBase.ConnectDenied = True
InfoBase.DeniedFrom = CStr(Now())
InfoBase.DeniedTo = CStr(Now() + 1 / 300)
InfoBase.DeniedMessage = LockMessageText
InfoBase.PermissionCode = LockPermissionCode
ConnectToWProc.UpdateInfoBase(InfoBase)
WshNetwork.MapNetworkDrive DumpPath, NetPath, "false", "CORP\backuper", "123backuper"
' архивируем базу
WshShell.Run CommandExe, 0, True
WshNetwork.RemoveNetworkDrive DumpPath, "true", "true"
' отключаем блокировку базы
InfoBase.ConnectDenied = False
ConnectToWProc.UpdateInfoBase(InfoBase)
FindInfoBase = False
End If
End Function
init()
'Base_BKP("ka_bf")
Base_BKP("new_work")
destroy()
среда, 8 августа 2012 г.
простенький скрипт для компиляции wxwidgets под все конфигурации
call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
set WXWIN="c:\Work\Develop\libs\wxWidgets\wxMSW-2.8.12"
cd %WXWIN%\build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=0
set WXWIN="c:\Work\Develop\libs\wxWidgets\wxWidgets-2.9.4"
cd %WXWIN%\build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=0
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=1
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=0
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=0
rem -----------------------------------------------
call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"
set WXWIN="c:\Work\Develop\libs\wxWidgets\wxWidgets-2.9.4"
cd %WXWIN%\build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
set WXWIN="c:\Work\Develop\libs\wxWidgets\wxWidgets-2.9.4"
cd %WXWIN%\build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=1 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=1 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=1 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=debug UNICODE=0 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
nmake -f makefile.vc BUILD=release UNICODE=0 SHARED=0 MONOLITHIC=0 TARGET_CPU=AMD64
вторник, 24 июля 2012 г.
Удаление отсутствующего контроллера домена из леса Windows 2008 (наверное и 2000/2003 аналогично)
Заметка для себя. Удаление мертвого (отсутствующего) контроллера домена. Вариантов по сути два. Фиговый вариант - редактировать LDAP через adsiedit. Затем ручная чистка DNS и в будущем грабли из SYSVOL домена.
Есть более правильный путь.
На живом контроллере, открываем ntdsutil
Далее идем в меню:
metadata cleanup
connections
подключаемся к владельцу
connect to server МОЙ-ДОХЛЫЙ-КОНТРОЛЛЕР
далее топает на уровень выше quit
select operation target
list sites
находим наш сайт - циферка (например 007)
select site 007
list servers in site (находим циферку нашего сервера, например 1)
select server 1
аналогично находим наш домен
list domains (например домен номер 5)
select domain 5
quit
remove selected server
появляется предупреждение - проверяем - соглашаемся
Идем в оснастку Active Directory Sites and Services
Выходим из этой софтины.
Находим контроллер в нашем сайте, смотрим что он больше не содержит объектов. Удаляем его - правой кнопкой - Delete.
Идем в оснастку Active Directory Users and Computers, в OU - Domain Controllers - смотри наличие контроллера. Должен исчезнуть.
Далее идем в DNS, выбираем зону которую обслуживал дохлый контроллер. Жмем на нее правой кнопкой - Properties.
Далее идем в Name Servers (там-же в свойствах), удаляем дохлый контроллер от туда.
затем проверяем A и PTR записи - вычищаем.
Вот собственно и все :)
Есть более правильный путь.
На живом контроллере, открываем ntdsutil
Далее идем в меню:
metadata cleanup
connections
подключаемся к владельцу
connect to server МОЙ-ДОХЛЫЙ-КОНТРОЛЛЕР
далее топает на уровень выше quit
select operation target
list sites
находим наш сайт - циферка (например 007)
select site 007
list servers in site (находим циферку нашего сервера, например 1)
select server 1
аналогично находим наш домен
list domains (например домен номер 5)
select domain 5
quit
remove selected server
появляется предупреждение - проверяем - соглашаемся
Идем в оснастку Active Directory Sites and Services
Выходим из этой софтины.
Находим контроллер в нашем сайте, смотрим что он больше не содержит объектов. Удаляем его - правой кнопкой - Delete.
Идем в оснастку Active Directory Users and Computers, в OU - Domain Controllers - смотри наличие контроллера. Должен исчезнуть.
Далее идем в DNS, выбираем зону которую обслуживал дохлый контроллер. Жмем на нее правой кнопкой - Properties.
Далее идем в Name Servers (там-же в свойствах), удаляем дохлый контроллер от туда.
затем проверяем A и PTR записи - вычищаем.
Вот собственно и все :)
среда, 20 апреля 2011 г.
При попытке установить Windows 2003 R2 получаем "Another application requires a restart of this computer. Before setup can run, you must restart your computer"
Лечение: удалить ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
четверг, 2 декабря 2010 г.
squid + ldapauth + centos 5.x i386
Давненько я не писал. Встала классическая задача пришить к сквиду авторизацию в LDAP (AD2003). От kerberos решено отказаться, т.к. мне не нужно чтобы учетка бралась из логина винды. Пользователь должен сознательно вводить логин с паролем в браузер при запуске.
суббота, 11 сентября 2010 г.
в Firefox 3.6.9 ubuntu 10.04 пропал русский язык, переустановки пакетов, локализаций не помогла
в итоге был найден красивый способ без бубна:
Устанавливаем расширение LocaleSwitcher
Затем идет на страницу с руссификацией и устанавливаем нужную
Далее в фоксе в меню Tools -> Languages переключаем на «Russian». В
Устанавливаем расширение LocaleSwitcher
Затем идет на страницу с руссификацией и устанавливаем нужную
Далее в фоксе в меню Tools -> Languages переключаем на «Russian». В
понедельник, 14 июня 2010 г.
nfs через iptable
буду лаконичен: нужно настроить nfs на фиксированные порты, в случаеу centos
правим /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
далее сам фаервол
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
правим /etc/sysconfig/nfs
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
далее сам фаервол
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT
понедельник, 17 мая 2010 г.
Мапинг портов в Windows
netsh routing ip nat install
netsh routing ip nat add interface "external" full
netsh routing ip nat add portmapping "external" tcp 0.0.0.0 8080 192.168.1.1 80
netsh routing ip nat add interface "external" full
netsh routing ip nat add portmapping "external" tcp 0.0.0.0 8080 192.168.1.1 80
Подписаться на:
Сообщения (Atom)