Monthly Archives: 七月 2009
假如一小时后我的系统崩溃..
[本文 参加了 @XDash 发起的 同步控客座征文活动 ] 假如一小时后我的系统崩溃.. 主要想说的其实就是灾难恢复,因为我没有那么多羊来买足够的设备.号称”双硬盘”那其实是真的号称的.因为偶虽然有两块硬盘,但是大小是不一样的.一块是本本自带的120G日立,另一块是后来买的希捷250G垂直记录.250GB的买来之后是被换到机器上,而120G日立只好和刀锋一起变成了移动硬盘了.最近因为自己脑子总是昏昏的,常常丢数据.丢的数据形成了很多空间,所以加大了备份力度, 第一部分 Linux 机器上和系统有关的是三个大小都是10GB的主分区. sda1为32bit的ArchLinux,sda2为64bit的ArchLinux,sda3为sda1的dd备份. 移动硬盘上是4个主分区,分别为5GB的sdz1,5GB的sdz2,10GB的sdz3,剩余空间为弹性空间,内容和本文无关. 移动硬盘上的sdz1为特意安装的64bit的ArchLinux,label也取为了rescue,上面是相当齐全的Linxu维护工具,sdz2是过去机器上带了win的时候留下来备份win的分区,sdz3是sda3的dd备份. 这样.我的主Linux有两个备份,周备份sda3和月备份sdz3,而且有个带了相当齐全装备的ArchLinux做维护用.相当于win时代的WinPE. 1.如果主系统崩溃的话.启用位于sda2上的64bitArchLinux系统chroot进行修复,若修复失败转入2 2.启用位于sda2上的64bitArchLinux系统,将dd备份的sda3上的内容dd回sda1,若修复失败转入3 3.启用位于sda2上的64bitArchLinux系统,将dd备份的sdz3上的内容dd回sda1,暂时用sda2上的系统作为热备使用 优点: 1.主系统崩溃后可以使用sda2上的另一系统立刻接替工作,待空闲时再修复. 2.周备份和月备份,由于备份通常在吃饭时间进行,不会影响正常工作. 3.若是硬盘上的两个系统以及一个备份都崩溃,依然可以使用移动硬盘上的rescue系统进行接替工作或是恢复工作. 第二部分 Win 再说说之前win下遗留的备份问题吧.之前的win安装在sda3处,用grub接管的mbr. 1.安装系统,复制文件阶段后立马进行备份之[ghost,取后缀名ghown,意为WithNothing的ghost镜像] 2.继续安装,驱动装完后基本调整完成后,立马备份之[ghost,取后缀名ghowd,意为WithDriver的ghost镜像] 3.继续安装基本软件,并记录为soft.list,全部安装完成后,立马备份之[文件名为日期,后缀名ghost] 这三个ghost文件,各有各的好处[对我来说]: 第一个只复制了文件的,可以恢复到虚拟机,或者是给别人用 第二个可以在软件有很大更新,也就是说第三个ghost文件内容很陈旧的时候使用. 第三个就是快速恢复用,假如系统崩溃了,而且现在必须马上继续工作,那么可以将装过软件的备份恢复,立刻接替工作. 第三部分 用户数据 用户数据对于我主要就是Linux下的配置文件,以及firefox和zotero还有历史遗留的scrapbook数据. 1.Linux下的配置文件,我这里和大多数周围的童鞋都是使用的Git方式来管理,然后push到GitHub的方法. 2.firfeox数据是通过修改firefox的profile.ini文件指定profile目录的位置来实现,所以不用备份, 3.zotero以及scrapbook都提供了修改保存位置的选项,这个就设置到非系统所在就可以了. PS:个人方案,仅供参考.希望能改大家带来些灵感,找到更好的方案.
ArchLinux中的uvesafb不折腾
ArchLinux的uvesafb真的一点也折腾耶 1.pacman -S v86d 2.编辑/etc/modprobe.d/uvesafb.conf mode_option=后面为自己的分辨率-色深,我的是1280×800-32 3.编辑/etc/mkinitcpio.conf HOOKS段中添加v86d 重新生成一下initrd.img就ok了 记得把之前grub的menu.lst的vga参数去掉.. 重启就可以体验宽屏控制台了. 实话说也没什么特别的,而且在加载v86d之前都是很丑的大字版.这一点还不如普通的fb呢. 看来找个时间来折腾一下KMS才能比较完美
通过rdesktop远程连接VBoxHeadless模式
[基本上又是翻译的VBox文档] 7.4. 远程虚拟机 (VRDP支持) VirtualBox的图形界面内建了虚拟机远程桌面协议(VRDP).这个功能允许用户远程监控并控制虚拟机.这种方式中,虚拟机好像是一台远程的机器. VRDP是微软的远程桌面协议(RDP)的兼容扩展.当键盘和鼠标事件发送到远程机器的同时,图形和音频信息也从远程机器上发送到客户端.你可以使用任何一种标准的远程桌面(RDP)查看器. Windows:微软视窗系统附带的(你可以通过附件–联系–远程桌面连接来找到微软的远程桌面连接器) Linux:任何一种开源的标准远程桌面连接器.如本文使用的rdesktop 连接的时候需要使用主机的IP地址来作为远程地址.VRDP服务器默认监听标准的RDP TCP端口3389.此端口可以通过图形界面的虚拟机设定或者是VBoxManage modifyvm命令的–vrdpport参数修改.要注意的是一台机器的端口不能重用.也就是说Windows主机上默认的RDP端口(3389)一般都被Windows远程桌面服务霸占掉了,那么你就不得不为你的虚拟机另选端口了. VirtualBox中建立的虚拟机默认情况下VRDP服务是被禁用的,但是可以通过图形界面或是VBoxManage很方便地启用.但是如果你是通过VBoxHeadless命令来启动的虚拟机,那么VRDP服务已经被打开. 上面写了这么多概念性的东西.下面就来实际的了..根据上面所说,可以不用打开设置,而使用VBoxHeadless来启动虚拟机,获得内建的VRDP支持. VBoxHeadless -startvm “ArchStation” 上面命令中双引号中是虚拟机的名称,请对号填入.[运行之后不要关掉终端哦] 现在就来远程连接我们的虚拟机.用16色的色深连接[不写这个参数的话,就是当前桌面的默认色深].要注意后面的IP地址是我们主机的IP地址 rdesktop -a 16 10.0.0.13 几乎执行命令的瞬间就能看到连接上的虚拟机画面. 呃.还要说的是VBox的Headless模式还有很多可玩的地方..比如加密连接,加密认证,远程使用USB,多客户端同时连接虚拟机并共享鼠标指针和键盘焦点等..大家可以自己探索一下.. ————————————— PS0:恩..picasa出事了..没法上图..就算了.. PS1:最近上了qingy做tty程序,真的很惊艳[这个词都被媒体用滥了],可惜也有个键盘问题.而且现在qingy也不够稳定.
配置NAT的端口转发
[直接翻译自VirtualBox的手册] 6.4.1. 配置NAT的端口转发 当VirtualBox中的客户机通过NAT与主机连接时,客户机是对主机不可见的,客户机上的网络服务对于主机或者是同一网络的其他机器是不可访问的.然而,VirtualBox能通过使用端口转发来是所选的网络服务对外部可用.这意味着VirtualBox能够监听主机上确定端口并且重发所有到达这些端口的数据包至客户机上开启了端口转发功能的某些端口. 对于一个主机上的应用程序或者是同一网络的实体(或虚拟)机器来说,看起来访问服务好像是通过主机上确实运行的代理(注意:这也意味着你将不能在主机上再在这些端口上开启某些服务).然而,你依然会体会到在虚拟机中运行服务的好处–举个例子来说, 客户机上某些服务的漏洞或者缺陷不会危害到主机上的服务或者其他的虚拟机或是使他们崩溃,并且服务可以运行在不同的操作系统中. 你可以通过使用命令行工具VBoxManage来设置客户机上要代理的服务.你需要知道客户机上的哪些端口会被服务使用到,这样你才能决定主机上的哪些端口(一般来讲,你不会在主机和客户机上使用相同的端口).你可以使用没有被主机上服务锁占用的任意端口.下面是一个示例,通过三条命令来设置主机和同网络的外部机器访问客户机的ssh服务: VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol” TCP VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort” 22 VBoxManage setextradata “Linux Guest” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort” 2222 上述示例假定使用的是PCNet虚拟网卡;如果你配置的客户机使用的是PRO/1000,请把上述命令中的”pcnet”换成”e1000″.类似的,如果你想要配置不同的网卡可以相应地修改掉pcnet或者e1000后的数字. 一方面,pcnet和e1000是完全隔离开的,但是这两种类型都是从0开始数的. guestssh这个名字是为转发配置随意取的. 配置生效后,主机上所有2222端口的TCP连接将会被转发到客户机的22端口.协议可以是TCP也可以是UDP(大小写敏感).要删除这项映射,使用同样的命令,但是将设置的值留空(在这里是TCP, 22以及2222). 虚拟机运行着的时候是没有办法配置端口转发的.然而你可以修改暂停保存或者关机后的虚拟机的此项设定. 下面是我自己的示例: 我的客户机叫ArchStation,配置的是intel pro网卡在第一槽内.我要添加客户机80端口上运行的http服务到主机的7080端口. VBoxManage setextradata “ArchStation” “VBoxInternal/Devices/e1000/0/LUN#0/Config/http/Protocol” TCP VBoxManage setextradata “ArchStation” “VBoxInternal/Devices/e1000/0/LUN#0/Config/http/GuestPort” 80 VBoxManage setextradata “ArchStation” “VBoxInternal/Devices/e1000/0/LUN#0/Config/http/HostPort” 7080
VirtualBox里ArchLinux降级Kernel26
最近因需要装了个ArchLinux在VirtualBox中.. 结果更新的时候忘了VirtualBox和kernel26.30有不兼容的问题..反而导致了虚拟机直接无法启动.. 这时便想起了chroot这个常常用到工具..且不谈论此工具的常用与强大..就凭功能就直接可以看作瑞士军刀一把..可惜怎么才能chroot到VBox里的Arch呢?这个还没解决..但是我们有Arch的安装介质阿.. 装入ArchLinux的core版iso,先挂载上根目录,然后挂载上/dev,/sys,/proc这几个目录. mount /dev /mnt/dev –bind mount /sys /mnt/sys –bind mount /proc /mnt/proc –bind 在iso的/src/core/pkg目录里找到kernel26的包包..这个包貌似是kernel26.28的.记不清了.复制到/mnt里 接着就是强制安装了kernel26包..等安装脚本执行完毕就可以重启..这下就能进可爱的ArchLinux了
为Arch的Shiretoko安装GoogleGears
之前就一直纳闷GoogleGears不是支持Firefox么..怎么到官方主页上就说我不支持呢?也在推特上提过.但是被推优们无情的信息流冲走了.之后呢,当然就是遇到Firefox更新到3.5版本了.这下Gears就真的不支持了..但是今天Gears更新,并支持到了Firefox3.5. 我突然想到是User-Agent这东西搞的鬼..晕死.这样就可以在我的Firefox上装上Gears喽. 思路是通过插件改浏览器反馈给网页的User-Agent,然后装上Gears. 先启用平时都禁用的User Agent Switcher插件,打开Google的Gears网站,提示当前环境不满足要求. 更改User-Agent信息为 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1) Gecko/20090703 Firefox/3.5 并取名为 Firefox(Archlinux fake) 打开Gears站点,安装按钮就显现出来了.点安装,同意协议就可以开始下载安装了. +++++++++++++++++++++++++++++++++++分割+++++++++++++++++++++++++++++++ 谷歌Gears官网上说Gears暂不支持64位..但是早些时候,在AUR发现了gears的PKGBUILD,名叫google-gears-svn,我看了下上面的ARCH参数赫然写道x86_64..看来gears的开发版本已经能用于64位系统了,不过我没有测试过. 附上GoogleGears : gears.google.com


在
在