среда, 9 августа 2017 г.

PXE UEFI dnsmasq nginx centos 7

apt-get install dnsmasq nginx

 /etc/dnsmasq.conf  
   
 interface=enp1s0.11  
 domain=yourdomain.com  
 dhcp-range=192.168.36.200,192.168.36.205,255.255.255.128,1h  
   
 dhcp-match=set:efi-x86_64,option:client-arch,7  
 dhcp-match=set:efi-x86_64,option:client-arch,9  
 dhcp-match=set:efi-x86,option:client-arch,6  
 dhcp-match=set:bios,option:client-arch,0  
 dhcp-boot=tag:efi-x86_64,"efi64/EFI/BOOT/BOOTX64.EFI"  
 dhcp-boot=tag:efi-x86,"efi32/syslinux.efi"  
 dhcp-boot=tag:bios,"bios/lpxelinux.0"  
   
 enable-tftp  
 tftp-root=/srv/tftp  



root@debian:/srv/tftp# tree /srv/tftp
/srv/tftp/
├── bios
│   ├── images -> /srv/tftp/images
│   ├── ldlinux.c32
│   ├── libutil.c32
│   ├── menu.c32
│   ├── pxelinux.0
│   └── pxelinux.cfg
│       └── default
├── EFI -> /srv/tftp/efi64/EFI
├── efi64
│   └── EFI
│       ├── BOOT
│       │   ├── BOOTX64.EFI
│       │   ├── fonts
│       │   │   ├── TRANS.TBL
│       │   │   └── unicode.pf2
│       │   ├── grub.cfg
│       │   ├── grub.cfg.bak
│       │   ├── grubx64.efi
│       │   ├── MokManager.efi
│       │   └── TRANS.TBL
│       └── TRANS.TBL
└── images
    ├── efiboot.img
    ├── pxeboot
    │   ├── initrd.img
    │   ├── TRANS.TBL
    │   └── vmlinuz
    └── TRANS.TBL


diff -u grub.cfg.bak grub.cfg  
 --- grub.cfg.bak    2017-08-08 09:27:29.433040541 -0400  
 +++ grub.cfg  2017-08-08 12:07:26.874929487 -0400  
 @@ -21,7 +21,7 @@  
   
  ### BEGIN /etc/grub.d/10_linux ###  
  menuentry 'Install CentOS Linux 7' --class fedora --class gnu-linux --class gnu --class os {  
 -    linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet  
 +    linuxefi /images/pxeboot/vmlinuz inst.stage2=http://192.168.36.126/centos7  
     initrdefi /images/pxeboot/initrd.img  
  }  
  menuentry 'Test this media & install CentOS Linux 7' --class fedora --class gnu-linux --class gnu --class os {  

root@debian:/srv/tftp# cat ./bios/pxelinux.cfg/default 
timeout 100
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 7
   kernel /images/pxeboot/vmlinuz
   append initrd=/images/pxeboot/initrd.img method=http://192.168.36.126/centos7 devfs=nomount

label 2
   menu label ^2) Boot from local drive
   localboot

mkdir /var/www/html/centos7/
mount -o loop /root/tmp/CentOS-7-x86_64-Minimal-1611.iso /var/www/html/centos7/

пятница, 24 сентября 2010 г.

сайт на динамическом ip

Прочитав пост Связываем домен и динамический IP хочу высказать свое возмущение и негодование. Этот пост практически все то что есть на просторах интернета, только несколько переработано и осмысленно.
Возмущение вызывает следующие факты:

Отсутствие всех возможностей DNS
Необходимость использования сторонних сервисов (кроме самого dns сервера)
Соблюдение выше приведенных условий и бесплатность сервиса


Когда я настраивал сою схему привязки динамического IP к имени, перебрал множество различных сервисов. К моему великому удивлению 99% не позволяют использовать все возможности DNS при условии динамического IP.

Но все таки выход я нашел, и хочу поделиться с Вами.

Первым делом приобретаем себе домен (к примеру example.ru). Я покупал домен на http://www.nic.ru, по это далее рассказ буде привязан именно к их систему управления доменами (сервис также может предоставлять и бесплатные доменные имена третьего уровня).
После регистрации прямиком идем на http://www.dnsever.com/ и регистрируем аккаунт.
Далее порядок следующий:

Жмем на Add New Domain. В появившейся форме заполняем поля «Enter Domain Name» и вводим капчу.
Вас попросят подтвердить что информация правильная. Прорвете еще раз чтобы быть уверенным, если все правильно то нажимаем «OK» (Не закрывайте эту страницу она нам еще пригодится).
Мы добрались до заветного окна с NS серверами. Заходим под своей учетной записью на http://www.nic.ru и следуем по маршруту Мои домены -> Изменить (в колонке DNS-серверы для нужного доменного имени). В появившейся форме заполняем данные со страницы полученной на предыдущем этапе (имена серверов и их IP в соответствующие поля). Из личного опыта могу сказать что чем больше DNS серверов тем меньше проблем с разрешение имени в ip и наоборот (К тому же сервис будет Вам постоянно сообщать что не все из предоставленных вас серверов прописаны в качестве серверов обслудивающих Ваш домен). Сохранив изменения необходимо перейти на страницу на которой мы находились на предыдущем шаге.
Нажимаем кнопку «Start DNS management for example.ru» и приступам к настройке DNS. Преходим в категорию «Dynamic DNS». В этой категории вы можете создать любое количество доменов 3 и так делее уровней. Вы наверняка также обратите внимание на поле с IP (под ним будет указа IP с которого вы зашли на сайт). Также вы можете создать и зависти типов «CNAME», «MX», «TXT», «SRV», «AAAA», «NS» (последние 4 секции находятся в разделе «Advanced»). Для меня была интересна возможность создавать SRV зиписи, для поднятия jabber сервер с возможность s2s.



А теперь самое интересное, настройка оповещения http://www.dnsever.com/ об изменении IP. (более детальное описание в разделе «Dynamic DNS USAGE»)
В кратце:
Windows — Скачиваем клиената из раздела «Dynamic DNS USAGE», устанавливаем, настраиваем (при настройке ошибиться сложно).
Linux и иже с ними — для подачи сигнала изменения IP будем использовать wget.
/usr/bin/wget -O - --http-user=username --http-passwd=PssW0RD dyna.dnsever.com/update.php?host[example.ru]&host[mail.example.ru]

Я создал файл и записал в него эту строку. При добавлении нового домена 3 и так далее уровня просто добавьте к это строке запись вида "&host[some_domain.example.ru]".
Исполнение этого скрипта можно повесить в cron (как это предложено в официальной документации).
*/5 * * * * /guul/path/to/script/ddnserv.sh > /dev/null 2>&1
А затем переложил это скрипт в /etc/ppp/ip-up.d/ с следующем виде

#!/bin/sh

PPP_IPPARAM="$6"
PPP_IFACE="$1"

if [ "${PPP_IPPARAM}" = "ttk" ]
then
/usr/bin/wget -O - --http-user=username --http-passwd=PssW0RD dyna.dnsever.com/update.php?host[example.ru]&host[mail.example.ru]
fi

вторник, 7 октября 2008 г.

iRiver E100 & Linux

Было у меня день рождения и подарили мне сей чудесный аппарат (iRiver E100). Прибежал на радостях дамой и начал пробовать его подключить как обычную флешку. Но не тут то было. Из куска лога от dmesg видно что якобы разделов на нем нет (либо они не корректно определились ядром при подключении плеера).


[28803.350454] usb-storage: device found at 10
[28803.350461] usb-storage: waiting for device to settle before scanning
[28803.351549] usb 2-1: New USB device found, idVendor=4102, idProduct=1041
[28803.351558] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[28803.351562] usb 2-1: Product: iriver E100
[28803.351564] usb 2-1: Manufacturer: iriver E100
[28803.351566] usb 2-1: SerialNumber: ???K
[28808.348362] usb-storage: device scan complete
[28808.396689] scsi 9:0:0:0: Direct-Access iriver E100 PQ: 0 ANSI: 0 CCS
[28808.400840] scsi 9:0:0:1: Direct-Access iriver E100 PQ: 0 ANSI: 0 CCS
[28808.448833] sd 9:0:0:0: [sdg] 3772354 512-byte hardware sectors (1931 MB)
[28808.450833] sd 9:0:0:0: [sdg] Write Protect is off
[28808.450839] sd 9:0:0:0: [sdg] Mode Sense: 00 12 00 00
[28808.450842] sd 9:0:0:0: [sdg] Assuming drive cache: write through
[28808.456836] sd 9:0:0:0: [sdg] 3772354 512-byte hardware sectors (1931 MB)
[28808.458833] sd 9:0:0:0: [sdg] Write Protect is off
[28808.458839] sd 9:0:0:0: [sdg] Mode Sense: 00 12 00 00
[28808.458842] sd 9:0:0:0: [sdg] Assuming drive cache: write through
[28808.458848] sdg:
[28808.462829] sd 9:0:0:0: [sdg] Attached SCSI removable disk


Начал искать в интернете хоть чтонибудь о нем. Нашел несколько форумов из которых следовало что он и под виндами подключается через раз (что не очень то обрадовало).

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


mount /dev/sdg /mnt/flash -t vfat


И очудо!!! он смонтировался. и я увидел файлики на на нем и смог даже залить музыку. Только было пара неприятных глюков когда я заливал 700 метров музыки (а у меня модель с 2Gb), вдруг mc ругнулся на то что нет места на диски. Я проверил, и в правду нет. Отмонтировал, смонтировал и все стало опять в порядке.

Я пологаю что эти глюки изза старой оппаратуры (дом материнка Gigabite под Duron 750).

понедельник, 7 апреля 2008 г.

Установка и настройка Oracle Client 10g (версии 10.2.0.3) и unixodbc в Debian Etch

Для установки на потребуются instantclient-basic-linux32-10.2.0.3-20061115.zip и instantclient-odbc-linux32-10.2.0.3-20061115.zip

Скачать можно по адресу:

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html

создаем дирреторию /usr/lib/oracle/10.2.0.3/client/lib командой

root@grail: ~# mkdir -p /usr/lib/oracle/10.2.0.3/client/lib

Далее из этих двух архивов нам нужены только файлы:

libclntsh.so.10.1
libnnz10.so
libocci.so.10.1
libociei.so
libocijdbc10.so
libsqora.so.10.1
ojdbc14.jar

Копируем эти файлы в /usr/lib/oracle/10.2.0.3/client/lib. Теперь добавляем строку /usr/lib/oracle/10.2.0.3/client/lib в файл /etc/ld.so.conf и выполняем команду:

root@grail: ~# ldconfig 

Теперь создаем tnsnames.ora в каталоге /usr/lib/oracle/10.2.0.3/client/lib и вписываем в него:

ora102 =
(DESCRIPTION =
(ADDRESS=
(PROTOCOL = TCP)(HOST = 10.10.3.49)(PORT=1521)
)
)

Необходимо заменить HOST на IP компьютера где установлена база Oracle10g. Далее выполняем команду:

root@grail: ~# export TNS_ADMIN=/usr/lib/oracle/10.2.0.3/client/lib/

и эту же строку добавить в файл /root/.bashrc

Теперь устанавливаем unixodbc коммандой:

root@grail: ~# aptitude install unixodbc 

Затем правим файлы /etc/odbc.ini (если его нет то просто создать), добавить новую секцию:

[ora102]
Application Attributes = T
Attributes = W
BatchAutocommitMode =
IfAllSuccessful CloseCursor = T
DisableDPM = F
DisableMTS = T
Driver = Oracle_ODBC_Driver_in_ora102
DSN = ora102
EXECSchemaOpt =
EXECSyntax = T
Failover = T
FailoverDelay = 10
FailoverRetryCount = 10
FetchBufferSize = 64000
ForceWCHAR = F
Lobs = T
Longs = T
MetadataIdDefault = F
QueryTimeout = T
ResultSets = T
ServerName = ora102
SQLGetData extensions = F
Translation DLL =
Translation Option = 0
UserID = system

Файл /etc/odbcinst.ini (если его нет то просто создать), добавить новую секции:

[ODBC]
Trace = No
TraceFile = /tmp/sql.log
ForceTrace = No
Pooling = No
UsageCount = 2

[Oracle_ODBC_Driver_in_ora102]
Description = Oracle 10g R2 ODBC driver.
Driver = /usr/lib/oracle/10.2.0.3/client/lib/libsqora.so.10.1
Setup =
FileUsage =
CPTimeout =
CPReuse =
UsageCount = 2

Проверка работы:

root@grail: ~# isql ora102 username PaSwOrD
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select sysdate from dual
+--------------------+
| SYSDATE |
+--------------------+
| 2008-04-02 13:13:57|
+--------------------+
SQLRowCount returns -1 1 rows fetched

PS Да знаю что под root'ом работать нельзя, но это не работа, а настройка системы.

PXE UEFI dnsmasq nginx centos 7

apt-get install dnsmasq nginx /etc/dnsmasq.conf interface=enp1s0.11 domain=yourdomain.com dhcp-range=192.168.36.200,192.16...