MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
MASTER_SITE_BACKUP?= \
ftp://ftp.byfly.by/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
четверг, 16 декабря 2010 г.
Используем зеркало FreeBSD для установки из портов
Заставляем FreeBSD при установке портов сначала искать их на ближайшем/бесплатном/удобном (нужное подчеркнуть) сервере, а потом только уже на другом (официальном). Для этого в make.conf добавляем следующие строки:
среда, 15 декабря 2010 г.
Установка MySQL 5.5.7 на FreeBSD 8.1
Решил поставить MySQL в свой свеженький джайл. Обновил порты, затем
После установки пробую запустить.
по рекомендациям в самом логе (и еще где-то видел) временно пишем в rc.conf
P.S. Еще вот здесь есть инфа /usr/ports/UPDATING, но не знаю, про этот случай или нет...
[erema15@erema15] /> ssh 192.168.1.101и процесс пошел.
Password:
%su
Password:
jail# portmaster /usr/ports/databases/mysql55-server
После установки пробую запустить.
#/usr/local/share/mysql/mysql.server startа оно мне
Starting MySQL.The server quit without updating PID file (/var/db/mysql/jail.erema15.by.pid).....сразу пошел смотреть логи
jail#cd /var/db/mysql
jail# cat jail.erema15.by.err
101215 11:24:46 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
101215 11:24:46 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/libexec/mysqld: Table 'mysql.plugin' doesn't exist
101215 11:24:46 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
101215 11:24:46 InnoDB: Initializing buffer pool, size = 128.0M
101215 11:24:46 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
101215 11:24:46 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
101215 11:24:46 InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
101215 11:24:46 InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
101215 11:24:46 InnoDB: 1.1.3 started; log sequence number 0
101215 11:24:46 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
101215 11:24:46 mysqld_safe mysqld from pid file /var/db/mysql/jail.erema15.by.pid ended
по рекомендациям в самом логе (и еще где-то видел) временно пишем в rc.conf
jail# ee /etc/rc.confи сейчас должно все запуститься в безопасном режиме
mysql_enable="YES"
mysql_args="--skip-grant-tables --skip-networking"
jail# /usr/local/etc/rc.d/mysql-server startТеперь делаем эти рекомендованное обновление таблиц, в консоли видим такую картину
Starting mysql.
jail# mysql_upgradeтеперь смело возвращаем rc.conf в прежднее состояние (я просто закоментил строку)
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Running 'mysqlcheck with default connection arguments
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.servers OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
Running 'mysql_fix_privilege_tables'...
OK
jail# ee /etc/rc.confи передергиваем сервер
mysql_enable="YES"
#mysql_args="--skip-grant-tables --skip-networking"
jail# /usr/local/etc/rc.d/mysql-server restartвсе отлично, можно юзать.
Stopping mysql.
Waiting for PIDS: 95077.
Starting mysql.
P.S. Еще вот здесь есть инфа /usr/ports/UPDATING, но не знаю, про этот случай или нет...
...
20101110:
AFFECTS: users of databases/mysql55-server
AUTHOR: Alex Dupre
If you are upgrading from a previous MySQL release, the server will exit
during startup after finding that the proxies_priv table is missing.
To create the table, start the server with the --skip-grant-tables
option to cause it to skip the normal grant table checks, then run
mysql_upgrade. Then stop the server and restart it normally.
You can do this by temporarly setting the following line in rc.conf:
mysql_args="--skip-grant-tables --skip-networking"
...
понедельник, 13 декабря 2010 г.
Создание JAIL
Для джайлов рекомендую использовать место на отдельном разделе
Дальше желательно создать /etc/fstab, т.к. некоторые программы будут расстроены, не найдя его(команда выполняется уже в клетке).
Еще нужно установить пароль root'у :
Все! Вроде клетка готова. Теперь в /etc/rc.conf хоста запишем:
У меня были вот такие:
Еще пару слов о некоторых инструментах управления клетками. Существуют утилиты jls и jexec. Первая выводит список всех клеток, запущенных в системе, вторая - позволяет админу хоста выполнить команду в любой запущеной уже клетке, без входа в нее.
# mkdir /mnt/C/jail/jail1Если еще не производилась сборка мира, то делаем :
# cd /usr/srcПосле сборки системы ее нужно установить в подготовленный каталог :
# make buildworld
# make installworld DESTDIR=/mnt/C/jail/jail1Для некоторых программ необходим доступ к некоторым устройствам (терминал, генератор случайных чисел и т.д.):
# make distribution DESTDIR=/mnt/C/jail/jail1
# mount -t devfs devfs /mnt/C/jail/jail1/devНужно не забыть сделать псевдоним IP-адреса(для каждой клетки свой).Итак, в /etc/rc.conf добавим следующее :
ifconfig_re0_alias0="192.168.1.101 netmask 255.255.255.0"После всех этих процедур пробуем войти в клетку и подготовить ее к использованию :
# jail /mnt/C/jail/jail1/ jail.homecomp.by 192.168.1.101 /bin/cshгде
- /mnt/C/jail/jail1/ - расположение клетки
- jail.homecomp.by - присвоение ей имя хоста
- 192.168.1.101 - присвоение ей IP-адреса
- /bin/csh - выполняемая команда(в данном случае нам нужен доступ к шелу)
jail#Можно немного полазить по ней (cd, ls) и заметить, что мы только что установили FreeBSD в минимальном фарше )).
Дальше желательно создать /etc/fstab, т.к. некоторые программы будут расстроены, не найдя его(команда выполняется уже в клетке).
jail# touch /etc/fstabА в /etc/rc.conf клетки напишем следующее:
network_interfaces=""Понятно, доступ к клетке будем получать по сети. А вот сетевой интерфейс настроить мы не сможем, но сценарии загрузки будут спокойны)).
sshd_enable="YES"
Еще нужно установить пароль root'у :
jail# passwdТакже лучше добавить необходимых юзеров:
Changing local password for root
New Password:
Retype New Password:
jail# adduserС помощью tzsetup настраиваем часовой пояс, а с помощью date смотрим на результат
Username: erema15
Full name: Vasya Pupkin
Uid (Leave empty for default):
Login group [erema15]:
Login group is erema15. Invite erema15 into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: csh
Home directory [/home/erema15]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password: ******
Enter password again: ******
Lock out the account after creation? [no]:
Username : erema15
Password : *****
Full Name : Vasya Pupkin
Uid : 1001
Class :
Groups : erema15 wheel
Home : /home/erema15
Home Mode :
Shell : /bin/csh
Locked : no
OK? (yes/no): y
adduser: INFO: Successfully added (erema15) to the user database.
Add another user? (yes/no): n
Goodbye!
Все! Вроде клетка готова. Теперь в /etc/rc.conf хоста запишем:
jail_enable="YES"Тут какбе все понятно должно быть, только останется перенести правила [devfsrules_jail] из /etc/defaults/devfs.rules в /etc/devfs.rules ... или написать свои )))
jail_list="jail1"
jail_jail1_rootdir="/mnt/C/jail/jail1"
jail_jail1_hostname="jail.erema15.by"
jail_jail1_ip="192.168.1.101" #привязываем клетку к IP-адресу (необходимо добавить соответствующий алиас к сетевой карте
jail_jail1_devfs_enable="YES" #дает доступ к devfs
jail_jail1_devfs_ruleset="devfsrules_jail" #применяет правила, обеспечивая доступ только к определенным устройствам
У меня были вот такие:
[devfsrules_jail=4]Запуск и останов клеток делается так:
add include $devfsrules_hide_all
add include $devfsrules_unhide_basic
add include $devfsrules_unhide_login
# /etc/rc.d/jail start - запуск всех клеток
# /etc/rc.d/jail start jail1 - запуск только jail1
# /etc/rc.d/jail stop - останов всех клеток
# /etc/rc.d/jail stop jail1 - останов только jail1
Еще пару слов о некоторых инструментах управления клетками. Существуют утилиты jls и jexec. Первая выводит список всех клеток, запущенных в системе, вторая - позволяет админу хоста выполнить команду в любой запущеной уже клетке, без входа в нее.
# jls
JID IP Address Hostname Path
1 10.1.1.1 erema15 /usr/jails/portjail
2 192.168.1.101 jail.erema15.by /mnt/C/jail/jail1
# jexec 2 uname -prns
FreeBSD jail.erema15.by 8.1-RELEASE i386
Подписаться на:
Сообщения (Atom)