常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

转:快速建立jail虚拟机(无须make world)

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
Scct
半仙


注册时间: 2012-08-21
文章: 3

文章发表于: Tue 2012-08-21 17:06:10    发表主题: 转:快速建立jail虚拟机(无须make world) 引用并回复

转一篇我在xxxunix上首发的关于建立jail虚拟机的文章



快速建立jail虚拟机

### 参照FreeBSD手册来建立jail是非常麻烦的,并要求make buildworld,实在是令人痛苦;
### 另:网络上的多数的介绍用ezjail来建立jail也要求make buildworld。呼呼...
### 本文介绍用ezjail来建立jail的方法及操作过程,免除make buildwold这个漫长又痛苦的编译过程。
### 一些约定:
### 本文的内容,以#开头为说明性文字;
### 以美元符号$开头的是命令;
### 无#、$打头的为相关配置文件的内容。



0、

### 首先安装ezjail

$cd /usr/ports/sysutils/ezjail
$make install clean

### 修改配置文件,使ezjail可用

$ee /etc/rc.conf
ezjail_enable="YES"



1、

### 安装world & kernel

$ezjail-admin install -h ftp.tw.freebsd.org

### 不到4分钟下载完成,See this: 54107736 bytes received in 03:54 (225.48 KiB/s)。
### 国内ftp.cn.freebsd.org下载速度约50KB。
### ftp.cs.nctu.edu.tw 台湾交通大学资讯工程学系。
### 宿主机kernel已经更新至9.0-RELEASE-p4(uname -r可查看系统版本),但FTP服务器上没有9.0-RELEASE-p4。
### 按提示输入9.0-RELEASE,先安装9.0-RELEASE。
### 然后使用ezjail-admin update -u命令将系统更新至最新版:9.0-RELEASE-p4。






2、

### 更新

$ezjail-admin update -u
### 更新过程中会有以下提示,表示将会更新至最新版:9.0-RELEASE-p4。
### See this: The following files will be updated as part of updating to 9.0-RELEASE-p4:


3、

### 配置IP,在/etc/rc.conf加入以下内容:
### 参考手册的《虚拟主机》部分:
### http://www.freebsd.org/doc/zh_CN ... -virtual-hosts.html

$ee /etc/rc.conf

### IP Address for Jails
ifconfig_em0_alias0="inet 192.168.1.25 netmask 255.255.255.255"
ifconfig_em0_alias1="inet 192.168.1.26 netmask 255.255.255.255"
ifconfig_em0_alias2="inet 192.168.1.27 netmask 255.255.255.255"
ifconfig_em0_alias3="inet 192.168.1.28 netmask 255.255.255.255"

4、

### 创建虚jail拟机实例:mysql

$ezjail-admin create myslq.jail.com 192.168.1.25

### 将会在/usr/jails目录下用虚拟机名字创建虚拟机实例的根目录mysql.jail.com
### /usr/jails/mysql.jail.com

### 或:指定虚拟机根目录名

$ezjail-admin create -r mysql myslq.jail.com 192.168.1.25

### /usr/jails/mysql


5、

### 允许在jail虚拟机里访问网络

$sysctl security.jail.allow_raw_sockets=1
$ee /etc/sysctl.conf
security.jail.allow_raw_sockets=1


6、

### 从freebsd.org网站下载最新的ports树,注意是大写字母P。

$ezjail-admin update -P


7、

### 启动jail虚拟机实例

/usr/local/etc/rc.d/ezjail start mysql.jail.com


8、
### 停止jail虚拟机实例

$/usr/local/etc/rc.d/ezjail stop mysql.jail.com


9、

### 列出jail虚拟实例

$ezjail-admin list

### 显示如下:
STA JID IP Hostname Root Directory
--- ---- --------------- ------------------------------ ------------------------
DS N/A 192.168.1.27 php-fpm.jail.com /usr/jails/php-fpm
DR 2 192.168.1.26 nginx.jail.com /usr/jails/nginx
DR 3 192.168.1.25 mysql.jail.com /usr/jails/mysql



### 说明:list出的JID为数字的表示该jail虚拟机实例已经启动;
### JID为N/A的表示该jail虚拟机实例没有启动。




10、

### 从宿主机登入jail虚拟机

$jexec 1 sh


### jexec为FreeBSD自带的jail命令,不属于ezjail;
### 数字1为jail虚拟机实例JID;
### sh表示进入jail虚拟机后的shell是sh,亦可改用其它shell,如:tcsh。





### 以上均是在宿主机上操作。

#########################################################################################

### 以下均是在jail虚拟机里操作。




11、

### 退出jail虚拟机,在宿主执行jexec 1 sh命令登入jail虚拟机后若要退出,执行以下命令即可。

$exit


12、

### 修改虚拟机root口令

$passwd root


13、

### 在虚拟机中添加用户scct

$mkdir /home
$pw group add admins
$pw user add scct -m -g admins -G admins,wheel
$passwd scct

### 关于用pw添加用户的说明

### 首先建立在根目录下添加/home目录
### 添加管理组admins
### 添加用户scct
###
### 添加用户命令各参数的解释
### -m 表示在/home目录下建立用户个人目录,如:/home/scct
### -g admins表示用户scct主要隶属于管理组admins
### -G admins,wheel表示将用户scct加入到wheel系统组,以使其可su到root用户;
### 此处重复一次admins的意义是:当你用pw group show admins命令查看admins成员时可以看到scct,否则的话看不到admins组下面有scct成员的。





14、

### 启动虚拟机的sshd

$ee /etc/rc.conf
sshd_enable="YES"

$/etc/rc.d/sshd start

### 若不启动虚拟的sshd,用ssh客户端软件登入以上IP:192.168.1.25的话,连接的将是宿主机
### 用hostname命令可查看当前登入的机器是宿主机或者jail虚拟机。


15、

### 在虚拟机里添加DNS
$ee /etc/resolv.conf
nameserver 192.168.1.1


16、

### 在虚拟机里添加网关地址

$ee /etc/rc.conf
defaultroute="192.168.1.1"





17、

### 安装多线程ftp下载工具axel

$cd /usr/ports/ftp/axel
$make install clean

### 修改配置以使安装ports软件包时用axel代替系统自带的fetch

$ee /etc/make.conf
#############################################################
## AXEL for ports to download pkg with multi-thread.
FETCH_CMD=/usr/local/bin/axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
ftp://ftp.tw.freebsd.org/${DIST_SUBDIR}/


18、

### 安装软件包,如:MySQL

$cd /usr/ports/databases/mysql55-server
$make install clean






写于2012.08.17

By C.Y. Jiang
返回页首
阅览会员资料 发送站内信件
syh
老妖


注册时间: 2010-05-02
文章: 1617
来自: 卡拉赞

文章发表于: Tue 2012-08-21 17:19:42    发表主题: 引用并回复

除了make就是bin,官网wine的wiki里就有提及。
_________________
又要毕业了。应该是最后一次。
-------------
audio/mous
ports-mgmt/pkg-rmleaf
Buffer Hint: http://www.vim.org/scripts/script.php?script_id=5272
返回页首
阅览会员资料 发送站内信件
Scct
半仙


注册时间: 2012-08-21
文章: 3

文章发表于: Tue 2012-08-21 17:32:00    发表主题: 引用并回复

麻烦给个链接,等我去看看。
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标