跳至主要内容

FreeBSD ,Linux 共用Swap分区

在一台电脑上安装有FreeBSD和Linux两个系统时,可以让这两个系统使用同一个硬盘分区作为swap区,节省一定的硬盘空间。这里介绍一种实现共享swap区的方法,当然可能有其他方法也可以解决这一问题。这一方法在RedHat Linux release 4.1和4.1(Linux kernel 版本2.0.29 和2.0.30)和FreeBSD2.2.2上通过测试,高版本的系统应该同样可以实现。

首先安装哪个系统都无所谓,只需要注意一下FreeBSD的slice分区的次序。
第一步,安装Linux。
按照正常的步骤安装Linux,注意为安装FreeBSD留出硬盘空间。安装Linux时不必设定swap分区,如果你想加一个swap分区,那么把swap分区放到为FreeBSD留出的硬盘空间上。这样可以删除掉这个swap分区,然后安装FreeBSD。
安装完Linux,必须重新编译内核,加入UFS文件系统支持和BSD disklabel(FreeBSD分区表)支持。
UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y
BSD disklabel (FreeBSD partition tables) support (CONFIG_BSD_DISKLABEL) [N/y/?]
(NEW) y
安装新kernel并重新启动机器。注意如果你设定了swap分区,删除/etc/fstab文件中包含swap的一行。确定你有一张可以启动新内核的启动盘。然后安装FreeBSD。
第二步,安装FreeBSD。
按照正常步骤安装FreeBSD,如果为Linux分配了swap分区,可以用FreeBSD的fdisk删除掉。注意FreeBSD的slice分区的次序,如果使用默认分区,那么第二个分区是FreeBSD的swap分区。完成FreeBSD安装后重新启动到Linux。


第三步,在Linux中设定使用FreeBSD的swap分区。


重新启动到Linux中后,运行dmesg,在输出信息中可以看到如下的信息:
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
这表示/dev/hda4是你的FreeBSD slice,/dev/hda5、/dev/hda6、/dev/hda7、/dev/hda8是FreeBSD的分区。如果FreeBSD的swap分区在这个slice上的第二个分区,那就是/dev/hda6。
那么就把下面一行加入/etc/fstab中:
/dev/hda6 none swap sw 0 0


由于FreeBSD可以使用任何形式的分区作为swap分区。而Linux需要在swap分区上设定一个特殊标识。这个标识是是用mkswap生成的。FreeBSD在使用swap分区时破坏了这个标识。所以在每次启动Linux时都要运行mkswap来重新设定这个标识。为自动完成这个工作,找到启动时执行swapon的script文件。在RedHat Linux中这个文件是/etc/rc.d/rc.sysinit,将下面一行加在swapon -a 的前面。
awk -- '/swap/ && ( !~ /#/) { system("mkswap """) }' /etc/fstab


这样在每次启动Linux时就会在/etc/fstab中设定的swap分区上运行mkswap。
好了,完成了设定,可以重新启动到FreeBSD看看swap分区是否工作,再重新启动到Linux看看是否工作。但愿你能顺利的设定完成。

评论

此博客中的热门博文

使用StrongSwan搭建 IKEv1 IKEv2 VPN服务器

#2016-01-04 决定将本文作废,因我要另再写新版本的配置。这篇作于 2013年,而strongswan已经更新很多版本。 #本文需要有独立的VPS,如果你需要一台速度快,每月30元的左右的VPS,可以使用我的邀请注册 http://www.vultr.com/?ref=6813064 并且在注册时使用 SSDVPS 可以送 $20(或者 $10 不等)。一定要选日本线路,这个到国内延迟约40ms ~ 100ms ,一般是 80ms 左右,非常快非常稳定,一个月32元,可以和几个人合租了。 #LOG:2014-04-30 对ipsec.conf进行修改,增加了android手机的兼容,现在可以支持完整支持android 自带的VPN设置啦~~~~ #LOG:2013-0609 对ipsec.conf进行修改,加入清楚DPD代码,防止IP 地址池不正确占用 #LOG: 2013-0519 删除ipsec.conf 中多余的conn iOS一节,这本是我一年前调试用的,时间不起作用; 删除了 %default中的 rightsubnet ,如果不删除,在定义了多段IP路由的情况下会导致账号无法上网(只有一段IP没这个bug),感谢  JackWindows  ‏ @ JackWindows #LOG 2013-05-12 修正bug,原配置文件会导致一个ID不可以同时多次登陆。得蒙  @ KhaosT   指点,对  strongswan.conf 加入duplicheck.enable = no ,对 ipsec.conf 加如 uniqueids=never #完成度100% 在我们生活的周围,通常要用到很多种VPN: PPTP, L2TP/IPSec, Cisco IPSec, IKEv2, 这些不同类型的VPN覆盖了目前我们常见的所有手机或者电脑平台,比如 iOS, Blackberry OS, BB10, Android, WebOS, Windows XP, Windows Vista/7/8, Unix/Unix-like。 (*如果你正在找blackberry 翻墙方法、ios ipsec vpn、windows IKEv2 VPN、Blackberry...

简易 APN Proxy (APN代理)的搭建

2012年2月1日 ,新增加了一种方案,请看 《 搭建增强型代理服务器(APN Proxy) 》 2012-01-03 更新 3proxy 及 监控进程脚本,分别见 B 3) 和 曾经在twitter被封锁的时候,我在长城宽带干过一件事,那就是将twitter的请求和通讯使用SSH,让全网用户可以无阻访问,不过也因此付出了代价,略不去说了。 后来得厨神 @paveo 的创意,何不将其用在手机等移动设备上?厨神的APN现在已经很成熟并在免费有限量专供中。我今天这里写得,是如何搭建自己的APN Proxy(APN 代理),但在阅读下面内容之前,需要一个刚性要求:一台在国内的Unix-Like的主机(可以是Linux/FreeBSD/Mac Osx Server/Solaris等等)并且是公网IP地址以及在国外的VPS主机(Unix类)。这个要求可以看出成本比较高,所以我看到淘宝上已经有人开始出售APN代理了,这个可以理解。 第一部分 原理 原理图1 如上图所示,我们要实现的功能原理是,将上网请求先发送到“国内VPS”,再由“国内VPS”通过SSH隧道转送到国外,最终实现无阻上网。点击查看大图可以看出,主要配置是在“国内VPS”上,包括配置SSH -D、Squid、Privoxy或者Polipo(socks代理程序你可以选自己喜欢的)。 第二 配置 1 国外VPS 国外VPS上,你需要有一个SSH帐户,并且请注意,使用密钥方式登录你的SSH而非密码,之所以如此,是为了下一步建立长久的SSH以及断线自动重连做准备,这个很重要。关于“SSH 免密码 密钥 登录”请使用google看一下。 这里有一个小插曲,部分centos 上如果默认的话,SSH帐户会报错,大约 是adminitstatly close之类,这有可能是 openfile数目问题,可以轻松解决。我非Linux爱好者,所以是临时google,并没有记录下来,你只要记得如果遇到同样问题,5分钟之内就可以google解决。 2 国内VPS 这一节将会是我们的主战场,基本上,我将会按下面的逻辑图来进行配置,这其中会涉及很多文件的配置,需要你注意哦,最后部分我会提供部分配置文档下载,由于我使用的是FreeBSD,因此会有少量差...

搭建增强型代理服务器(APN Proxy)

我在上一篇博文中已经写了如何搭建简单APN代理,这一个月中我一直在测试(苦逼的IT男,别人过年带老婆回家,我是带着ipad+ssh 在家测试),于是推翻掉上一篇文章中的方案,使用本文的方案。 本篇原理与上一篇相仿,不同的实现则是使用 Ziproxy+Privoxy(上一篇是使用Squid+Privox/3Proxy/polipo),我的系统是 FreeBSD 8.2-Release ,你可以选用你喜欢的Unix-Like主机。使用Squdi实现的好处是在访问时可以有缓存:由于让PC(或者手持设备---以下统称装置)加快网速,以抵消由于使用代理带来的网速慢,因此比使用VPN绝对是要快多了。 本文假定你有两台主机,国内主机使用SSH连接到国外主机,事实上如果你只有一台国外主机,则可以直接使用Ziproxy而无需Privoxy,但是请务必注意,在只有一台国外主机的情况下,请将Ziproxy的端口改成一组特殊端口,抱歉,不能直说是哪几个端口,但是聪明的你应该可以猜到,实在不想猜,就直接到twitter上问吧 我想多数人在装置应该使用过Opera浏览器,当我们打开一个网页的时候,Opera用自己的OperaTurbo技术加速打开,实际上大家也发现了,用它打开网页后图像变的模糊了,这是因为被服务器压缩过。而我们今天使用的这个方案就是采用压缩方式来达到节约流量和提高网速。 Ziproxy的主要作用是压缩HTTP请求和优化精简图片,它可以把JS,CSS,HTML和JPEG,PNG,GIF都压缩,然后再传递给你的装置使用,更好玩的是,它还可以区分用户,比如你想给手机用户使用代理,那么创建一个针对手机的配置,把图片压缩的重一点;而想把代理给ipad或者电脑用,就创建一个针对电脑的配置,把图片压缩的轻一点;两个配置的端口只要不同就OK了。 Privoxy在这个方案中有两个作用:1 将SSH的 socks5 代理转化为HTTP代理然后给ziproxy使用 ,这是因为 Ziproxy只支持http的父代理。2 区分网站。Privoxy会将被 某国家 屏蔽的网站转发到SSH 代理上,而将没有屏蔽的直接走你的国内主机线路。 方案开始实施: 1 建立到国外主机的连接( SSH -D) 我是使用autossh的,建立你也使用这个工具,它会监视你的ssh连接,在断线时可...