Ubuntu

压缩 VirtualBox 下安装 Linux 的 .vdi 虚拟硬盘文件

之前虚拟机里装过一个 Ubuntu, 闲的蛋疼还装了 KDE 等一陀东西, 后来不想玩了折腾把不用的删掉 (主要是 KDE 及其相关, 还有升级内核留下的一堆 linux-image)

删除 KDE 我用的是 http://www.cnblogs.com/wangvsa/archive/2012/07/22/2603626.html 这个帖里提到的方法, 直接复制命令删除就行了, 不过粗看了一眼这一把应该也删掉了不少其他的依赖, 算了, 有要用到的时候再 apt-get install 好了, 另外也有类似 http://os.51cto.com/art/201001/176255.htm 这个帖里提到的用 apt-get --purge remove 移除某个核心库的方法, 但我没试.

删除多余 linux-image 用的是 http://blog.csdn.net/c9h8o4/article/details/6647220 这个帖里提到的方法, 简单实用. 用 dpkg --get-selections | grep linux-image 找到现在安装了哪些版本, 接着用 uname -a 看当前版本, 再通过 apt-get remove 的方式把不用的移除.

把多余的东西删掉后发现虚拟机对应的 .vdi 虚拟硬盘文件还是很大, 查了下说是在允许容量范围内, 动态扩展的 .vdi 容量会一直扩大而不会缩小, 必须手工做压缩. 搜了一堆方法后发现 http://www.kilobug.com/archives/624 这里说的最简单, 用了一下确实, 从之前的 14.1G 压缩到 5.67G (删了一陀东西也有帮助), 简单复述一遍:

1. 在虚拟机里把没用的磁盘空间置零 (这一步耗时比较长, 且没提示. 另外如果有权限问题记得前面加 sudo)

dd if=/dev/zero of=/zero.tmp
rm -f /zep.tmp

2. 关闭虚拟机

3. 执行压缩命令 (宿主机是 Win 或 Linux 都自行找 VboxManager 的路径)

VboxManager modifyhd /PATH_TO_VDI/name.vdi --compact

在搜索过程中发现其他几个看起来靠谱的链接, 记录供他人参考:
虚拟机是 Windows: http://city5.com/space/reannounce.asp?spaceid=344&announceid=517778
Linux 的复杂折腾法: http://cypromet.site90.net/blog/?p=41

Ubuntu 下多网卡配置自动网关

本文纯属转载, 原文: http://yiding-he.javaeye.com/blog/244943

在公司台式机上折腾了个 VirtualBox, 装了个 Ubuntu 9.10 Server, 为了上网同时开了 host-only (主要是可以分配到个固定 IP, 方便主机连), Bridge (方便公司内其他人访问用), NAT (上外网用, 不过现在不用认证了其实这个没啥意义了), 三网卡的壮观就在于经常流量不知道从哪个网卡出去了, 导致访问不到外面, 该死的自动网关…

按上文提到的方法, 直接用个 sudo route add default gw 172.*.*.* (* 处似乎算机密?) 就可以了, 一试果然

修改 Ubuntu-Server 的分辨率

#use hwinfo to find out the mode number for your choice of resolution
sudo apt-get install hwinfo
sudo hwinfo --framebuffer | grep 1440x900

#scroll to the end of /boot/grub/menu.lst
#add ‘vga=SOME_MODE_NUMBER’ to the end of the ‘kernel’ line
kernel /boot/vmlinuz-2.6.15-26-server root=/dev/hda1 ro quiet splash vga=0x0336

#reboot into new config
sudo shutdown -r now

终端下进行 Linux 的 IP 设置和 DNS 设置

最近装 Ubuntu-server, 一开始都是设置网络, 也就是这里麻烦点, 只要网络设置好, 其他的都可以 ssh 上去操作, 很方便. 下面的修改均基于本地, 请根据各人的实际情况修改其中参数值

设置 IP
修改 /etc/network/interfaces
配置文件如下

# 自动启动 lo(loopback, 用于 localhost 和 127.0.0.1)
auto lo
iface lo inet loopback</code>

# 自动启动 eth0
auto eth0
# 设置为静态 IP 地址于 eth0 上
iface eth0 inet static
# IP 地址
address 192.168.5.187
# 子网掩码
netmask 255.255.0.0
# 默认网关
gateway 192.168.5.1 

最后用执行 /etc/init.d/networking restart 来重启网络应用设置

设置 DNS
修改 /etc/resolv.conf
配置文件如下

# DNS 1 的地址
nameserver 202.114.112.13
# DNS 2 的地址
nameserver 202.114.64.2

配好了后就可以直接在任何地方登录啦, 装好 Ubuntu 后当然是要更新 source.list, 这样才能安装软件和获取更新

sudo vim /etc/apt/source.list, 编辑前可以先备份下, 删掉里面原来所有的内容后加入我用的 ustc 的源:

deb http://debian.ustc.edu.cn/ubuntu/ hardy main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ hardy-backports restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ hardy-proposed main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ hardy-security main restricted universe multiverse
deb http://debian.ustc.edu.cn/ubuntu/ hardy-updates main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ hardy main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-backports main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-proposed main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-security main restricted universe multiverse
deb-src http://debian.ustc.edu.cn/ubuntu/ hardy-updates main restricted universe multiverse

然后更新系统和安装最基本的软件:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install subversion

免费的东西总是因为其获取了某利益或让我们丧失了某权利

首先要说明, 我不是一般的无聊. 下午吃饭回来开电脑, 大脑短路进 Ubuntu 玩(硬盘上原生的, 不是虚拟机里那个), 更新系统, 装 kbs 玩, 发现 QTerm 和 eva 不能用 scim 输入中文, 应该是 SCIM 和 QT 软件的兼容的问题, 把某的地方改成 scim-bridge 还是 xim 就好了, 懒得弄, 刚好记得说 VMWare Server 都免费了, 又下了个番茄花园 3.4 的盘, 于是想了个很 ws 的方法… 在 Ubuntu 下装个 VMWare 虚拟机, 然后装个 WinXP 在里面. 下载 VMWare 花很久, 反正无事, 用这个时间看完了 <魔女宅急送>, 继续赞宫崎骏的电影, 赞啊赞. 后面的折腾环节大概就是下 binary 版, 直接装, 要序列号, 搞好后对里装 XP, 选自动安装(反正我只是玩玩), 继续看电影.

要序列号这个事情… 个人觉得还是有点 ws, 虽然免费, 但是还是要上 VMWare 的网站去 require serial number, 填一堆信息, 天知道想要干吗, 不然没有 serial number 连启动虚拟机都不行, 装好 XP 后装好 VMWare-tools, 准备开装软件, 找共享文件夹, 打算在 Ubuntu 里把 我 Windows 下某 NTFS 盘里的东西共享给虚拟机(这个圈兜的还真不是一般的大, 再次证明吃饱撑得会很无聊 – -), 然后就死活找不到共享的方法… 先是怀疑了下自己的英文能力, 在英文系统下对那个英文的 VMWare 所有能打开的选项都找了一遍, 没发现, 然后看是不是应该有命令或者啥的, Google 之后很无奈的发现, 这个功能确实是被 xx 了(2.0b 里面不知道有没, 反正 1.x 是没)

突然觉得 MSFT 还是很厚道的, 让大家都在用 Windows, 管你怎么弄到的, 当然, 以后大棒落下来就开心了, 还有 Adobe, 把 Adobe Reader 弄免费还到处推广, 但是 Acrobat 就那么贵…

折腾的意义

装 Linux 感觉就是在折腾自己, 不过生命的意义也就在于折腾, 所以折腾的意义也就是活着 :P
 
今天终于换了个关键词搜到了 Compiz 下 smackpad 的实现代码, 兴冲冲的准备晚上搞定, 结果一直编译不过去, 看了一下是缺一个文件, ft, 这到哪里去找? 并且更 fz 的是居然 hdaps 都失效了, 见鬼, 明明上周末还检测了是可用的. 今天看了看一个 howto 教程, 用 Compiz 和 AWN 将 Gnome 改成和 MacOSX 一样, 效果太 cool 了, 周末去折腾吧.
 
今天 zouyu 发消息说周六徐家汇有魔方聚会, 嗯, 不错, 可以去玩, 反正周末在公司也是闲着. 圣诞节前争取进 1min 吧, 我那两个倒霉的魔方终于退回到北京了, 看什么时候给我重新发到上海来吧 :(

一个周末都花在了 Ubuntu 7.10 上

其实也用不了这么久的, 其实也还是做了点事的. 记录一下过程, 中间确实很郁闷
下载 alternate 版的 7.10 iso 文件, 一切正常, 只是无线貌似被限速了, 100k 不到的速度爬了两个小时终于下来了, 然后就很开心的找网络上说的不刻盘直接用 grub for dos 直接装的方法. 这里犯了一个也谈不上错误的错误…(什么逻辑), 网络上一般都是很开心的指导说去下载 vmlinuz 和 initrd.gz, 而我看一般提供的那个下载点太慢, 同时看到另外某个老版本的指导上说是可以直接从 iso 文件里弄出来的, 试了果然有, 然后很 happy 的解压到 C 盘根目录, 开始装. 结果每次都是说无法加载光驱(其实是虚拟光驱上的 iso 文件), 重启了无数次, 把 7.10 那个 iso 放在各种教程上写的地方试过都无效后终于开始怀疑那两个文件了, 搜半天找到一个还不算慢的地方弄下来, 一对比, 果然 initrd.gz 那个文件不一致, ft, Ubuntu 的一群人渣, alternate 的 iso 里文件都不行. 后面的就没什么特别的啦, 一路安下去, 然后找源, sudo apt-get update, sudo apt-get upgrade, 晚上的时候看看还要两个小时, 然后就很开心的过去打了个电话回家, 跟老妈聊了半天, 回来一看预计结束时间更久了, 汗, 看来还是应该去选台湾的源而不是 lupaworld 的那个. 看看时间不早, 索性回去吧, 周六就这样结束了. 周日过来后就开始看 compiz 的效果, 死活打不开, 继续搜, 搜了无数用 ATI 显卡以及 T60 机器的问题出来, 挨个试, 后来也不知道怎么好的… 因为做过的操作太多了, 据说是只要装好驱动和 xglserver 就行了的, 我的貌似是驱动启动有点问题所以我 disable 又 enable 再重启后就好了. 接着就是在整 SCIM 的输入法和 emerald 的主题, 主题倒是很快弄好了, 还顺带优化了一下字体, 但是那个该死的 SCIM 怎么也不好, 崩溃啊, 几乎所有能试的方法都试过了, 最后在某个很诡异的地方看到一个很诡异的解答, 说在语言支持里把某个框去掉, Apply, 再选上, 再 Apply, 然后重启 X 就好了, 对着做后果然好了… ft. 这都什么系统什么毛病啊. 期间还有一个很诡异的 vim 的毛病, 居然不能写 syntax on 进 .vimrc, 并且 help syntax 等都不能用, 后来想是否需要重装一下, 直接 vim 看是 7.1, 但是 help 后即使 6.4, 直接崩溃, 并且在 Synapitic 里看也都装了, 不管了, 重装了一大堆跟 vim 有关的东西后终于一切正常了(继续感慨这都什么破玩意儿啊), 把自己喜欢的配置写好, 真爽.
目前系统运行貌似都还好, compiz 能用(就是为了这个才装的 7.10), SCIM 能用, 其他设置也都还好, 主题不难看, 就是字体还有改进空间(某些应用程序下中文显示不是特别好看或者很多显示不出来?).

崩溃

从上周四开始我就在折腾系统, 一直到现在, 期间装了两次Solaris, 一次失败, 然后发现不会用也不好用(我要能快速上手), 用虚拟机装Fedora Coer 6, 编译系统的时候因为libtool的问题无法继续(怀疑是1.3.x跟1.4.x/1.5.x的兼容问题), 放弃后用Ubuntu, 与Ubuntu奇怪的更新方式斗争了n久之后搞定Apache和php, 编译系统的时候gcc版本问题(4.0的要求更严格), 重新定义到3.4, 现在的问题是为灭一个leonlux不需要编译的东西我要编译… cashcat写的那个用户排名的程序, extrafun.c, 引用的bbs.h在那个目录下根本找不到, 并且从那个目录的名字fb2k2smth来看, 似乎也是老系统的东西, 就卡在这里动不了了, ll也不理我了 :(

今天中午接到通知, 开始准备入党的材料, 一份2000字的申请, 一份5000字的自传, 四份1500字的思想汇报, 以及其他种种材料若干, 初步估算我要写15000字, 现在完成的只有自传, 就差最后一点了. 要求下个周二交… omg