Browsed by
Tag: ubuntu

wubi方式安装kubuntu12.04

wubi方式安装kubuntu12.04

wubi是Windows Ubuntu Installerer的缩写,意思就是在windows环境中安装ubuntu,即将ubuntu作为windows系统的一个应用程序对待。这种方式对初学者,以及不希望重新调整windows分区的人比较有用,而且这种情况下ubuntu的速度也很不错, 比虚拟机方式要快。

step1:从ubuntu网站下载kubuntu的iso软件包(例如:kubuntu-12.04.1-desktop-i386.iso),保存到本地,例如d盘。

step2:从该iso文件中,解压出wubi.exe文件,并与上述iso文件保存在同一个目录下。

step3:将上述iso文件更名为installation.iso (这点极为重要,否则wubi.exe会联网从ubuntu网站下载安装文件)。

step4:断开网络连接,运行wubi.exe开始安装。

后续包括重新启动等细节步骤, 不一一累述。

linode-VPS内核升级记录

linode-VPS内核升级记录

由于linode默认的内核(ubuntu10.04)缺省将SIP等协议过滤模块编入了内核,而且linode默认没有采用模块化的方式,因此被迫重新编译内核。linode提供了一篇文档指导如何使用自编译的内核,但是在细节上实际还是有不同,导致按照文档的步骤编译后,系统没办法启动。于此记录一下,以备后续需要。

采用linode的文档编译和配置,往往会出现以下一些错误:

i8042 no controller found
udevd[1077]: failed to create queue file: no such file or directory
udevadm[1816]: error sending message: connection refused.

第一个错误涉及menu.lst,在这个文件中,不能像文档那样,启动时携带’quiet’参数。

第二个错误与Ubuntu版本可能有关,需要人工指定/dev,需要修改/etc/fstab的配置(后续说明细节)。

基本步骤如下:

下载最新的kernel代码并解压:

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.7.6.tar.bz2

将系统原有的config导入到kernel源代码的目录下,同时根据自己的需要修改.config文档:

zcat /proc/config.gz > .config

顺序执行以下命令:

make oldconfig
make -j3 bzImage
make -j3 modules
make
make install
make modules_install

如果成功,应该在/boot目录下看到新生成的内核文件,例如vmlinuz-3.7.6等。

创建/boot/grub/menu.lst文件,添加以下内容:

default 0
timeout 5
title           Custom Compiled, kernel 3.7.6
root            (hd0)
kernel          /boot/vmlinuz-3.7.6 root=/dev/xvda ro

注意,Ubuntu版本可能还需要安装grub软件:

apt-get install grub

修改/etc/fstab目录,添加以下内容:

dev             /dev            devtmpfs        0       0

完成上述步骤后,修改linode中该node的profile,将kernel修改为pv-grub-x86_32,然后重启启动该node即可完成升级。SSH登录系统,使用uname -a命令即可查看新内核版本。

2013-07-19 update:

在编译3.9.x内核时,出现以下错误信息:

/bin/sh: bc not found

此时,安装bc即可:

apt-get install bc

 

mkfifo与select

mkfifo与select

基本上,创建有名管道和平常的文件操作没有太大的差别。在用select对有名管道句柄进行操作时,有些比较奇怪的地方。

例如,我们有两个程序(进程),一个向有名管道写,另一个负责从有名管道读。逻辑很简单,因此我们很自然地在读进程程序中设置read_only,然后用select等待数据。

奇怪的事情发生了,select总是能返回成功,可是read的数据为空。这个问题让我们百思不得其解,结果google后发现,对于只读的有名管道,也需要设置为“读写”模式,否则它对select总是会立刻返回成功。

经过多次测试,对linux下的有名管道,如果采用select判断是否可读,需要设置以下参数:

(1)非阻塞

(2)可读可写

例如以下演示代码:

fd = open(COMMAND_PIPE, O_NONBLOCK | O_RDWR);
... ...
int ret = select(fd+1, &read_set, NULL, NULL, &timeVal);
定时自动备份MySQL数据库

定时自动备份MySQL数据库

网上搜索的一些文章或者脚本, 在Ubuntu/Kubuntu中似乎都有这样或者那样的问题, 经过一番摸索后, 以下方式是可行的.

step1: 创建定时任务, 例如在早上1:30备份数据库. 编辑/etc/crontab文件, 添加内容:

30 1    * * *   root    sh  /home/yxh/cronDayBackupMySQL.sh

step2: 创建shell脚本cronDayBackupMySQL.sh. 要非常注意脚本中的标点符号(不得不说, shell脚本是怪折磨人的)

#!/bin/bash
currDateStr=`date +%Y%m%d`
mysqlBackFileName=mysql${currDateStr}
mysqldump -u root -p db_yxh --password=1234 | gzip > /var/backups/$mysqlBackFileName.sql.gz

其中, 数据库是db_yxh, 数据库root用户密码是1234, 备份的sql文件压缩存放在/var/backups目录下.

解压缩gz文件也很简单, 直接试用gzip即可:

gzip -d xxx.gz

 

dpkg-deb常用命令

dpkg-deb常用命令

这个命令主要用于进行deb包的安装和查询等。

build deb包,示例:将/tmp/debian_packages目录下的文件打包成demo.deb文件

dpkg-deb -b /tmp/debian_packages ./demo.deb

查询deb包中的文件内容:

dpkg-deb -c demo.deb

安装deb包

dpkg -i demo.deb
Apache2开启.htaccess的方法

Apache2开启.htaccess的方法

在Ubuntu10.04环境中,安装完Apache2后,缺省没有开启htaccess文件。

修改/etc/apache2/sites-available目录下的default文件,将根目录(指定硬盘路径的那项)的AllowOverride修改为All,即:

AllowOverride All

然后重启Apache2即可。

恢复被删除的Wine菜单

恢复被删除的Wine菜单

进入/home/<user name>/.config/menus目录,修改applications.menu文件。将其中与Wine相关的<Deleted/>删除后,即可恢复。

Linux Deepin,国人最喜爱的linux?

Linux Deepin,国人最喜爱的linux?

看到一篇新闻,大意是推荐一个国人制作的linux发行版本,号称是国人最喜爱的版本。

看完该新闻后,有些疑问:

(1)号称是基于Ubuntu11.04,可是从该版本的整体界面风格看,更像是在linux mint的基础上进行了部分修改。从整体协调性看,不如Mint,与Mac更是相去甚远。

(2)在部分截图中出现原始的GTK界面,这点让人觉得很奇怪。要么是界面没有美化好,要么是某些模块崩溃了导致退回到了GTK界面。

(3)集成了永中Office。这个选择也让人费解,而且居然还作为一个主要卖点宣传。难道作者不知道永中的糗事么?既然集成了WINE,要不干脆集成WPS,或者像其他发行版本一样集成LibreOffice,怎么也比选择永中要好些吧?

作为一款国人制作的发行版本,我们还是应当鼓励。但是我个人觉得它的宣传新闻稿没有把自己的特点凸显出来,一个windows XP风格的软件中心花哨是花哨了,可是和整体风格格格不入,有点不伦不类。这点就不如ylmf,它干脆就整体向XP模仿,至少风格是统一的。

如果向初学者推荐,我仍然会推荐Linux Mint。国人制作的版本已经有很大的进步,不过还任重道远。

中国科技大学开源镜像

中国科技大学开源镜像

站点地址: mirrors.ustc.edu.cn,支持HTTP和FTP访问。

这个站点速度比较快,也比较稳定。基本上我们都在它这下载各个Linux发布版本,如Ubuntu, CentOS等。国内各大学应该向中科大学习。

昨天中科大站点终于出现了传说中的CentOS6,今天下载下来试试。就个人想法而言,我觉得中科大也应该提供Scientific Linux的镜像,毕竟两个版本都是同源,而后者显然更有科研味道。

安装phpmailer

安装phpmailer

phpmailer是一个全功能的发送email的模块,安装很简单:

sudo apt-get install libphp-phpmailer

缺省会安装在/usr/share/php/libphp-phpmailer目录。

还需要设置php.ini文件,将上述目录加入include路径:sudo vi /etc/php5/apache2/php.ini

在该php.ini文件中,找到include_path并修改为:

include_path = “.:/usr/share/php:/usr/share/php/libphp-phpmailer”

完成修改后,重启apache2即可。