益友网(http://www.1uu2.com) 做linux用户的良师益友、linux操作系统命令教程

在Fedora 9下面配置ISATAP IPV6 tunnel

发表于 2008-07-04 22:25 浏览次数:1,190 次

Fedora 9 终于换成了 2.6.25 kernel,2.6.25 支持 ISATAP 方式的 ipv6 tunnel 接入。于是把自己的机器简单配置了一下支持IPV6

1: 保证 kernel 支持 ipv6

2: 编辑 /etc/sysconfig/network ,增加下面这行

IPV6_DEFAULTGW=your ipv6 gateway

3: 编辑 /etc/sysconfig/network-scripts/ifcfg-sit1, 内容如下

DEVICE=sit1

ONBOOT=yes

IPV6INIT=yes

IPV6TUNNELIPV4=your isatap tunnel IP

IPV6TUNNELIPV4LOCAL=your local ipv4 ip

IPV6ADDR=your ipv6 address

4: ifup sit1

UPDATE: 我还没有试验过这个在 F9 上重启是否有效,但在 centos 5.1 上面不好用,似乎 ifup-sit 不会创建对应的 sit1 设备,先得手动创建以后才有效。
作者:sixth

Ubuntu 8.04(LTS)离线升级包使用教程

发表于 2008-07-04 16:21 浏览次数:683 次

Ubuntu 8.04 LTS的离线升级包方便上不了网的朋友们。离线升级包分为三个部分,分别是base.tar(基础更新包,适用于所有用户)、program.tar(开发包,编程软件)、server.tar(服务器软件包,适用于学习研究服务器设置的朋友使用)具体的软件包列表如下
base.tar:

language-pack-gnome-zh-base language-pack-gnome-zh language-pack-zh language-pack-zh-base language-support-fonts-zh language-support-input-zh language-support-translations-zh language-support-zh language-support-extra-zh im-switch fcitx xpdf-chinese-simplified xpdf-chinese-traditional poppler-data alien build-essential autoconf automake1.9 cvs subversion ubuntu-restricted-extras libxine1-ffmpeg libxine1-all-plugins libxine1-plugins w32codecs gcc-3.3-base libstdc++5 gstreamer0.10-ffmpeg gstreamer0.10-pitfdll gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-esd libdvdnav4 libdvdread3 libdvdcss2 smplayer smplayer-themes mozilla-mplayer gstreamer0.10-fluendo-mpegdemux gstreamer0.10-gnonlin mplayer mencoder totem-xine xine-plugin libxine1-ffmpeg stardict stardict-common stardict-plugin stardict-plugin-espeak stardict-plugin-festival unrar p7zip-full cabextract wine p7zip-rar t-o-r privoxy ethstatus 和 dist-upgrade 的更新包,包括Ooo和内核等。

program.tar:

eclipse eclipse-pydev eclipse-cdt eclipse-jdt eclipse-rcp netbeans sun-java6-jdk openjdk-6-jdk glassfishv2 glassfishv2-bin bouml dia

server.tar:

phpmyadmin squid shorewall apache2 php5 mysql-server php5-mysql libapache2-mod-php5 vsftpd ssh openssh-server postfix dovecot-imapd dovecot-pop3d clamav-daemon spamassassin
下载及使用方法:
第一步、下载
Windows平台,使用迅雷等专用下载工具,不过下载时需要特别配置,以迅雷为例配置。当你点击下载链接时,出现的就是一个对话框,登录到服务器的用户名和密码,你可以访问论坛新闻区得到。
下载地址如下
http://ftp.ubuntu.org.cn/home/oneleaf/hardypack/base.tar 209M

http://ftp.ubuntu.org.cn/home/oneleaf/hardypack/program.tar 328M

http://ftp.ubuntu.org.cn/home/oneleaf/hardypack/server.tar 67M
Linux平台,使用buildpack.sh.zip脚本即可完成下载,首先下载buildpack.sh.zip脚本至自己的主目录。从中解出buildpack.sh。打开终端运行buildpack.sh,命令行如下:
sh buildpack.sh

sh down.sh
这样在你的下载目录之中你会发现base.tar、program.tar和server.tar三个文件。这就是离线升级包。
第二步、安装
打开终端,进入下载目录,如果你是在windows平台下载的离线包,请将它们移动到你自己的主目录之下。Linux平台下载的朋友请移动到下载目录中。我们的安装工作就要开始了。输入命令
sudo mkdir /usr/local/pool

sudo tar xvf base.tar -C /usr/local/pool

sudo tar xvf program.tar -C /usr/local/pool

sudo tar xvf server.tar -C /usr/local/pool
使用gedit修改源列表,命令如下:
sudo gedit /etc/apt/source.list
在source.list后面加入下面的内容
deb file:///usr/local/pool/base hardy main

deb file:///usr/local/pool/program hardy main

deb file:///usr/local/pool/server hardy main
最后我们更新一下系统:
sudo apt-get update
至此离线升级包的安装过程结束,下面你的任务就是从wiki知识库的《Ubutnu 8.04 LTS速配指南》一文的”设置中文环境”一节开始设定你的Ubuntu系统了。

作者:sixth

Linux操作系统下Xmanager工具登录配置

发表于 2008-07-03 22:47 浏览次数:938 次

 修改 /etc/X11/xdm/Xaccess,将下面的行:
#* # any host can get a login window

改为:

* # any host can get a login window
修改/etc/X11/gdm/gdm.conf,找到下面的信息:或Enable=false
修改为:或Enable=true
另外,去掉#Port=177前面的注释
修改/etc/inittab,将
id:3:initdefault:

修改为:

id:5:initdefault:
并将最后一行改为:
确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755(一般系统默认就是这个了)
# ls -l /etc/X11/xdm/Xservers
-r–r–r– 1 root root 487 Jul 12 2006 /etc/X11/xdm/Xservers
# ls -l /etc/X11/xdm/Xsetup_0
-rwxr-xr-x 1 root root 935 Apr 21 2006 /etc/X11/xdm/Xsetup_0
最后,重启一下服务器,再使用xbrowser登录就OK了。 
 
作者:坚果

Ubuntu Linux 8.04下关于字体的配置变化

发表于 2008-07-02 16:07 浏览次数:570 次

原来的修改命令行:

sudo gedit /etc/fonts/language-selector.conf
已经不适用,现在应该是:

cd /etc/fonts/conf.avail

sudo gedit 69-language-selector-zh-cn.conf
字体配置文件中的 替换《》为半角字符《family》fontname《/family》已经变成了《string》fontname《/string》需要修改的朋友要注意格式。
刷新字体缓存:

sudo fc-cache -f -v
之后重启X(ctrl+alt+backspace)

作者:korn  

在Linux操作系统下创建锁文件

发表于 2008-07-02 16:02 浏览次数:577 次

一、概述

Linux提供了多种特性来实现文件锁定。其中最简单的方法就是以原子操作的方式创建锁文件,所谓“原子操作”就是在创建锁文件时,系统将不允许任何其它的事情发生。这就给程序提供了一种确保它所创建的文件是唯一性的方式,且该文件不可能被其它程序在同一时刻创建。

二、方法

锁文件仅仅是充当一个指示器的角色,程序间需要通过相互协作来使用它们。锁文件只是建议性锁,与此对立的是强制性锁。

为创建一个用作指示器的文件,我们使用带O_CREATE和O_EXCL标志的open系统调用。这将使我们以一个原子操作同时完成两项工作:确定文件不存在,然后创建它。

三、实现

//file : lock.c
#i nclude <unistd.h>
#i nclude <stdlib.h>
#i nclude <stdio.h>
#i nclude <fcntl.h>
#i nclude <errno.h>
 
int main()
{
int file_desc;
int save_errno;
 
file_desc = open("/tmp/LockFile.test", O_RDWR | O_CREAT | O_EXCL, 0444);
if (file_desc < 0)
{
save_errno = errno;
printf("Open failed with error is %d\n", save_errno);
}
else {
printf("Open succeeded\n");
}
 
exit(EXIT_SUCCESS);
}

第一次运行程序:

$ lock

输出如下:

Open succeeded

我们再次运行程序:

$ lock

输出如下:

Open failed with error is 17

分析:

第一次运行程序时,由于文件并不存在,所以执行成功。对于后续的执行,因为文件已经存在而失败了。若想程序再次执行成功,必须删除锁文件。

在Linux系统中,通常错误号码17代表的是EEXIST,此错误用以表示一个文件已存在。错误号定义在头文件errno.h或(更常见的)它所包含的头文件中。

Linux系统下设置时钟简单方法

发表于 2008-06-29 22:22 浏览次数:606 次

1.显示时钟
[root@****~]# clock –show

2008年05月06日 星期二 11时21分09秒 -0.223408 seconds
2.设置时钟(clock –set –date=“月/日/年 时:分:秒”)
[root@**** ~]# clock –set –date=”05/06/2008 11:26:00″
3.与硬件时钟同步(默认重启系统就会与硬件时钟同步)
[root@**** ~]# clock –systohc
4.与internet上的时间服务器同步
[root@****~]# rdate time.join.uni-muenster.de 

作者:korn

关键字: , | 分类: Linux常识 | 评论数: 0 | 阅读全文

如何在Linux操作系统下观看电视节目

发表于 2008-06-28 09:44 浏览次数:756 次

下面是一段shell脚本拷贝到path 路径下运行即可,原版本来自何勃亮,我增加了提示功能方便输入.

#! /bin/sh
case $1 in

cctv0 ) mplayer mms://live.cctv.com/livenews > /dev/null & ;;

cctv1 ) mplayer mms://live.cctv.com/live11 > /dev/null & ;;

cctv2 ) mplayer mms://live.cctv.com/live12 > /dev/null & ;;

cctv3 ) mplayer mms://live.cctv.com/live13 > /dev/null & ;;

cctv4 ) mplayer mms://live.cctv.com/live14 > /dev/null & ;;

cctv10 ) mplayer mms://live.cctv.com/live20 > /dev/null & ;;

phtv0 ) mplayer mms://222.47.29.116/litv01 > /dev/null & ;;

phtv1 ) mplayer mms://222.47.29.116/litv03 > /dev/null & ;;

*) echo “please enter ‘tv cctv0′[cctv1 cctv2 cctv3 cctv4 cctv10 phtv0 phtv1] to select differrnt tv channel”

esac 

 来源:51cto    作者:zzy

关键字: , | 分类: Linux常识 | 评论数: 0 | 阅读全文

uClinux操作系统下的shell功能配置方法

发表于 2008-06-27 15:41 浏览次数:1,139 次

uClinux操作系统是标准Linux的一个分支,是专门针对没有MMU(存储管理单元)的CPU而配制的操作系统,并且专为嵌入式系统做了许多小型化的工作。目前uClinux常用的应用程序库是mC-libc和mClibc。

通过make menuconfig来配置uClinux时,可以看到,这里可供选择的Shell有:sash、minix -shell、nwsh、bash、Other。
其中 sash对应的代码为uClinux-Samsung/user/sash,minix-shell对应的代码为uClinux-Samsung /user/sh,nwsh对应的代码为uClinux-Samsung/user/nwsh,bash对应的代码为uClinux-Samsung /user/bash,Other则表示可选择其它的Shell,主要是指Busybox里面的几个Shell。
其中:

minix-shell在mC- libc和mClibc下都可以编译通过,且都可以较好地使用,但功能不是很强;nwsh在mC-libc和mClibc下都可以编译通过,但都工作不正常,无法进入命令行提示符;bash则无论在mC-libc还是mClibc下都无法编译通过,其结构不适合uClinux。本文主要讨论如何使用 Busybox中的Shell。
Busybox中的shell

Busybox最早为Debian Linux的安装盘所写,并将大量Linux下的工具集成到一个可执行文件中。目前Busybox提供了100多个命令的功能,但它的可执行文件只有几百 KB,为嵌入式系统提供了一个比较完整而且体积较小的POSIX运行环境。不过这些命令的参数选项要比原来完整的GNU命令少。
Busybox中集成进去的Shell有以下几个。

①Lash:很小,加起来有10k,非常适合执行命令,支持管道和重定向,但不支持Bourne Shell语法,无法解释脚本。
②Hush:也非常小, 18k左右,支持Bourne Shell语法,能够很好地处理if/then/else/fi结构语句,但是处理不了像for/do/done或者case/esac等循环语句。
③Msh:加起来有30k左右,能够处理for/do/done、case/esac等循环语句。只要是Bourne shell能够做的,Msh一般都能做到,它的语法与Bourne Shell语法可能不完全相同,但大多数Bourne Shell语法都能被Msh解释。Msh是用vfork来创建新进程的,所以适于uClinux操作系统。
④Ash:在默认配置下大约有60k左右,是 Busybox里最完整的Shell,但无法在uClinux 上编译通过。
综上所述,Busybox里的Msh是目前uClinux下最好的Shell。
移植:

make menuconfig,重新配置uClinux内核。配置时选掉sash,然后选中以下几项:
BusyBox

shell

msh: Minix shell
MSH is /bin/sh

去掉sash后,就必须在Busybox里面把原来sash下常用的一些内部命令编译进来,例如ls、cp 等基本命令,这些原来是sash的内部命令,现在换了Shell,就必须选用Busybox里面的命令作为独立的小应用程序来使用。本文中选择了以下的常用命令:clear、mkdir、ping、cat、cp、ln、ls、ifconfig等,其中的ls和ifconfig命令下面的几项功能需要全部选择。
编译的时候有个错误,是指msh.c中没有_NSIG这个定义,须在msh.c中加上这样一句:#define _NSIG 255,之后可编译通过。
编译后,在uClinux-Samsung\user\busybox目录下编译出一个单个的独立执行程序,叫做 busybox.exe。将编译后的busybox.exe拷贝到uClinux-Samsung\romfs\home目录下,重新编译内核(不用再配置内核)。将编译好的uClinux操作系统内核下载运行,使用Busybox中的Msh Shell及各种命令。使用Busybox 也很简单,只要建一个符号链接就可以了。但是由于uClinux操作系统默认的根文件系统romfs是只读的,只有/tmp和/var两个目录下是以虚拟ram盘的方法实现的可读写目录(系统掉电后,里边保存的内容全丢失),故在进行符号链接时必须链接到这两个可读写的目录下,例如 ln -s /bin/busybox /tmp/ls,那么,执行/tmp/ls的时候,Busybox 就会执行 ls 的功能,也会按照 ls 的方式处理命令行参数。
运行成功后,可以发现这个Shell不同于原来的sash,它的提示符为#,支持上下键翻查命令,但还不支持Tab键补齐功能。
再找到uClinux-dist/config/config.in文件进行编辑,将该文件中的
bool ‘sh: tab completion’ CONFIG_USER_BUSYBOX_TAB_ COMPLETION

bool ‘sh: username completion’ CONFIG_USER_BUSYBOX_USER NAME_COMPLETION

改为:

bool ‘sh: tab completion’ CONFIG_USER_BUSYBOX_COMMAND_ TAB_COMPLETION

bool ‘sh: username completion’ CONFIG_USER_BUSYBOX_COM MAND_USERNAME_COMPLETION
然后再make menuconfig,选择Busybox的Shell特性后重新编译,再下载运行,就可以实现Tab键补齐功能了。
另外还可以增加Msh Shell的其它功能,比如ls命令的以彩色显示不同属性文件的功能等,这里不再详述。

来源:linuxidc    作者:oklinux


返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |