灌溉梦想,记录脚步

Ubuntu设置VirtualBox 桥接方式网络

  1、先安装含有建立虚拟网络设备 ( TAP interfaces ) 的工具 uml-utilities 和桥接工具 bridge-utils:
  sudo apt-get install uml-utilities
  sudo apt-get install bridge-utils
  为了使你的虚拟机能够访问网络接口,你必须将运行虚拟主机的用户的用户名(通常是你的ubuntu登录用户名)添加到uml-net用户组(请用你的用户名替换其中的“vboxuser”):
  sudo gpasswd -a vboxuser uml-net
  注意:为了使改动生效,请重新启动电脑。
  2、向你的 ubuntu 操作系统描述你要添加的虚拟网络设备,编辑 /etc/network/interfaces:
  sudo gedit /etc/network/interfaces
  在打开的文件后面添加下面的内容,将虚拟网络接口命名为 "tap0",指定该接口IP配置方法为手动,并指定使用该接口的用户(请用你的用户名替换其中的 "vboxuser"):
  auto tap0
  iface tap0 inet manual
  up ifconfig $IFACE 0.0.0.0 up
  down ifconfig $IFACE down
  tunctl_user vboxuser
  auto br0
  iface br0 inet dhcp
  bridge_ports all tap0
  或:
  auto br0
  iface br0 inet static
  address 192.168.1.57
  netmask 255.255.255.0
  gateway 192.168.1.1
  bridge_ports all tap0
  3、首次使用需要激活刚才建立的虚拟网络接口和网络桥:
  sudo /sbin/ifup tap0
  sudo /sbin/ifup br0
  这个步骤只需要做一次,下次主机重新启动时,这个接口和桥将自动激活。
  4、让 virtualbox 使用这个虚拟网络接口,启动 virtualbox,在主界面上选中要使用刚才建立的虚拟网络接口tap0的虚拟机,点“设置”,在弹出的窗口中选“网络”,选中其中一块网卡(通常为 “网络适配器 0”),选中“启用网络适配器”,“连接到”后面选 "Host Interface",选中“接入网线”,然后在“主机网络界面名称”中填入刚才建立的虚拟网络接口的名字 "tap0",确定。
  5、最后,配置主机和虚拟机的网络,使主机和虚拟机在同一个网段,这样主机和虚拟机就成了局域网中地位相同的两台机器了,可以互相访问了。

linux下制作和使用ISO文件

  Linux下制作iso的方法:
  直接从光盘做成iso可以用下面命令:
  dd if=/dev/cdrom of=~/cd.iso
  cat /dev/cdrom >;~/cd.iso
  cp -r /dev/cdrom cd.iso
  还可以使用复杂一些的 genisoimage 命令,可以提供强大的制作ISO的功能,如将本地文件夹做成ISO等。
  在Linux下使用ISO就更方便了,直接mount就可以了:
  mount -t iso9660 -o loop cd.iso /path

修复ubuntu的grub

  当windows的启动引导程序或者其他程序替换了linux的grub时,可以用下面方法修复:
  1、用一张linux的livecd启动系统,打开终端。
  2、进入grub的命令行:$ sudo grub
  3、修改启动表:hd0表示第一块硬盘,6是包含"/boot/grub/"的分区号,可以挨个试。
  > root (hd0,6)
  > setup (hd0)
  > quit
  4、重启。

linux下用批量改名命令的写法

  问题描述:在一个目录下,有一堆文件,例如 afile.txt bpage.htm csome.jpg …. 想批量进行改名,都统一改为: name1.file name2.file name3.file …
  解决办法:
  $ ls | grep -n '' | sed 's/\([0-9]*\):\(.*\)/\2 name\1.file/g' | xargs -n 2 mv
  用 ls | grep -n '' 可以对文件加上行号,输出结果为:
  1:afile.txt
  2:bpage.htm
  …
  然后通过 sed 进行模式匹配、替换操作,
  最后通过 xargs 构造出 mv 的参数。

ubuntu 配置 vnc server

  通过将服务器配置成VNC SERVER,可以让其他主机使用图形方式登录这台服务器。
  在ubuntu下配置vnc server很简单,方法如下:
  服务器端:
  1、先安装VNC服务程序:
  $ sudo apt-get install vnc4-common vnc4server
  2、给当前用户设置vnc登录密码:
  $ vncpasswd
  3、修改vnc的默认设置,使启动时运行gnome作为X的桌面(如果不设置,vnc将使用twm,你可以试试,相信你会很不习惯的):
  $ vncserver :1
  $ vncserver -kill :1
  注意:里面的":1"代表display号,客户登录的时候得写相同的display号才能登录(见后面客户端部分)。
  修改~/.vnc/xstartup文件:(红字是修改和增加的东西)
  #!/bin/sh
  # Uncomment the following two lines for normal desktop:
  # unset SESSION_MANAGER
  # exec /etc/X11/xinit/xinitrc
  [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
  [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  xsetroot -solid grey
  vncconfig -iconic &
  xterm -geometry 80×24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  # twm &
  gnome-session &
  上面修改的意思是将默认启动的twm程序改为gnome,如果想用KDE作为桌面的,可以改为:startkde &
  然后再次启动VNC SERVER:
  $ vncserver :1
  客户端:
  1、安装VNC客户程序:
  $ sudo apt-get install vnc4-common xvnc4viewer
  2、然后你就通过Terminal Server Client登录了:Applications -> Internet -> Terminal Server Client;Computer为:服务器IP:display#,例如:12.34.56.78:1;protocol选择:VNC。

国产Linux发行版 CDLinux

CDlinux 是一种小型的迷你 GNU/Linux 发行版,其名称取自英文的 “Compact Distro Linux“。CDlinux 的体形小巧,功能却挺强大。

CDlinux 包含了最新的 Linux 内核,Xorg 图形界面,XFce 窗口管理器,和许多其它流行软件,如 Firefox 浏览器,Pidgin 即时通讯程序等等。并且 CDlinux 发行版中还包含了各种重要的、常用的库文件,用户可以很方便地按自己的需要扩展 CDlinux。

CDlinux 能很好地支持国际化(i18n)和各种语言、locale,目前对简体中文(zh_CN)、传统中文(zh_TW)和英文(en_US)提供全面支持。用户也可以很方便地定制 CDlinux 以支持他们自己的语言、locale。

CDlinux 能自动检测出自己被安装在什么设备上。你可以把 CDlinux 安装到 CD、DoC、Flash、HD 或者 MD 等类型的驱动器上,这些驱动器可以连接在 ATA、SATA、SCSI、USB 或者 IEEE1394 等总线上。在绝大多数情况下,CDlinux 都能自动识别这些设备并找到自己。

CDlinux 支持多种文件系统,你可以把它安装到 ext2、ext3、jfs、reiserfs、xfs、isofs、udf 及 hfs、hfsplus、fat、ntfs 等等分区上,CDlinux 都能自动挂载它们、找到自己并正常启动。

CDlinux 是高度灵活、可定制的。你可以拿它作为一个功能强大的系统修复、维护工具;你也可以加上自己需要的软件把它扩展成一个功能全面的桌面操作系统;还可以去掉 自己不需要的功能,把 CDlinux 裁减成一个嵌入式系统。完全可以按需定制你自己的 CDlinux。

svn库中添加、删除、提交文件的脚本

#!/bin/bash
COUNT=`svn status | grep '^?' |wc -l`
until [ $COUNT -lt "1" ]
do
CURRENT=`svn status | grep '^?' |awk {'print $2'} | head -$COUNT | tail -1`
echo "Do you want to add $CURRENT? (y/n): "
read ANS
if [ $ANS = "y" ]
then
svn add $CURRENT
echo "$CURRENT added to repository"
COUNT=`expr $COUNT – 1 `
elif [ $ANS = "n" ]
then
COUNT=`expr $COUNT – 1 `
fi
done

COUNT=`svn status | grep '^!' |wc -l`
until [ $COUNT -lt "1" ]
do
CURRENT=`svn status | grep '^!' |awk {'print $2'} | head -$COUNT | tail -1`
echo "Do you want to delete $CURRENT? (y/n): "
read ANS
if [ $ANS = "y" ]
then
svn delete $CURRENT
echo "$CURRENT added to repository"
COUNT=`expr $COUNT – 1 `
elif [ $ANS = "n" ]
then
COUNT=`expr $COUNT – 1 `
fi
done

echo "Enter a commit message: "
read MSG
svn commit -m "$MSG"