共 7 页, « 1 [2] 3 4 5 » ... 最后一页 »
前几天的这篇文章被 fcicq同学挑毛病,建议不要使用内核自带的ntfs, 而是使用ntfs-3g+fuse。查了一下,ntfs-3g可以完美支持ntfs分区的读写操作, 的确要比内核自带的ntfs好得多。
试试看。安装方法不难,直接emerge即可,它会自动安装 sys-fs/fuse:
# emerge ntfs-3g
我用的是gentoo 2007.0,内核版本2.6.23-gentoo-r8,还需要编译内核的FUSE支持:
# cd /usr/src/linux # make menuconfig 勾选 File systems ---> <M> Filesystem in Userspace support # make modules_install # modprobe fuse
之后当然可以再打开 /etc/modules.autoload.d/kernel-2.6,把fuse加进去。
然后就可以mount ntfs分区了:
# mount -t ntfs-3g -o locale=zh_CN.UTF-8,silent /dev/sda6 /mnt/wine
进入分区后试试读写,均没有问题。
后来看了看ntfs-3g的官方主页的FAQ, 发现竟然允许大小写不同的同名文件,还有特殊字符(如\、?等Windows中不允许的字符)。 作者的理由是NTFS支持POSIX风格的文件名,也支持DOS、Windows格式的文件名, 为保持最大的兼容性,ntfs-3g就选择了POSIX——所以就出现上面这种现象了。 尝试者建立 ABC、abc、ab?c、abc\d等文件,均建立成功,重新启动到windows下试图打开这几个文件, 结果出现了问题:ABC正常打开,但一旦保存,ABC就会丢失,只剩下abc(因为同名),估计有可能需要chkdsk了; ab?c、abc\d文件无法保存、改名和删除。只能回到linux下面操作。
看来作者又是一个十足的协议派……为保险起见,还是先ro吧。
最后的/etc/fstab为:
/dev/sda6 /mnt/wine ntfs-3g auto,ro,locale=zh_CN.UTF-8,silent 0 0
今天在配置nvidia的显卡时出现了一个很头疼的问题。
按照官方网站上的文章, 一步步地顺利地安装好了显卡驱动:
# 先配置内核,详情参考官方文档,省略 # USE=gtk emerge nvidia-drivers # modprobe nvidia # update-modules # eselect opengl set nvidia # 然后修改xorg.conf,略 # startx
结果startx时出现了这样的错误:
Backtrace: 0: X(xf86SigHandler+0x84) [0x80cca34] 1: [0xffffe420] 2: X(main+0x2af) [0x807067f] 3: /lib/libc.so.6(__libc_start_main+0xd8) [0xb7db5838] 4: X(FontFileCompleteXLFD+0xa1) [0x806fb81] Fatal server error: Caught signal 11. Server aborting
查了半天资料未得到结果,后来想起我曾经安装过nVidia官方网站提供的驱动, 会不会是和portage的驱动冲突呢?于是卸载掉官方驱动:
# sh NVIDIA-Linux-x86-169.09-pkg1.run --uninstall
然后重新emerge:
# emerge nvidia-drivers
这样就可以顺利地启动X了。
首先安装前端 scim:
# emerge scim
常见的日文输入法是服务器/客户端模型的,Canna就不错(可内嵌在SCIM中)。安装方法也很简单:
# emerge canna # /etc/init.d/canna start # rc-update add canna default
然后安装scim的Canna支持:
# emerge scim-canna
最后启动scim,从输入法语言中选择日语即可。
注意:当初我认为要装FreeWnn,装上后发现关机时老是死掉,查了半天发现原来是 /etc/init.d/freewnn stop时死掉了。 后来发现不要freewnn也能正常输入日文。
最近重新安装了一遍gentoo,发现第一次安装时好多调查过的经验都没有记录下来,这次还得重新去找,麻烦…… 记下来供下次安装时使用吧。
按照手册上安装时,按照以下方法设置网卡(/etc/conf.d/net):
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" ) routes_eth0=( "default via 192.168.0.1" ) dns_servers_eth0=( "DNS1的IP地址" "DNS2的IP地址" )
chroot之后首先上ccache以提高编译速度:
# emerge ccache
然后编辑 /etc/make.conf 加上:
FEATURES="ccache parallel-fetch" CCACHE_SIZE="2G"
接下来安装必要的软件:
# emerge vim
升级portage:
# emerge portage
编译内核时别忘了打开framebuffer(高分辨率命令行用),还有Device Drivers->Sound->Advanced Linux Sound Architecture(声音驱动,参考 这里)。 当然也别忘了在 PCI Devices中选择你声卡的型号。
如果你使用SATA硬盘,注意设置grub.conf时别弄错了硬盘编号。
如何mount Windows XP的硬盘分区:首先保证内核中编译了ntfs支持,然后参考下面的结果来写mount参数:
/dev/sda6 on /mnt/wine type ntfs (ro,noexec,nosuid,nodev,nls=utf8,umask=0) /dev/sda5 on /mnt/wind type vfat (ro,noexec,nosuid,nodev,codepage=936,iocharset=utf8,umask=0)
重新起动后安装xorg,修改make.conf:
USE="alsa bash-completion bzip2 gtk jpeg opengl ruby xscreensaver X -gnome -ipv6 -kde -qt3 -qt4" INPUT_DEVICES="keyboard mouse" VIDEO_CARDS="nvidia"
然后运行:
# emerge xorg-x11
装好后运行 xorgconfig 配置图形界面:
# xorgconfig
接下来是xfce4。修改/etc/make.conf:
LINGUAS="zh_CN ja" # for xfdesktop
然后:
# emerge xfce4
还有中文输入法:
# emerge scim scim-pinyin
安装好后退回普通用户,编辑.xinitrc设置启动xfce4:
exec scim & exec startxfce4
最后别忘了将语言设置为中文:
$ vi .bashrc export LANG=zh_CN.UTF-8
启动之后应该能看到小老鼠的桌面,按Ctrl+Space应该能出输入法了。
装firefox:
# emerge mozilla-firefox # emerge netscape-flash
装完后自己上网找插件去。
另外,Firefox默认安装之后,在快速滚动滚轮时页面会沿着历史记录前进/后退,十分不爽。 在about:config将mousewheel.horizscroll.withnokey.action改成0即可解决该问题。
即时通讯,使用pidgin,基于gtk,支持GTalk和MSN:
# emerge pidgin
默认的字体比较难看,从微软那里借用一些过来吧。
# emerge mkfontdir mkfontscale # mkdir /mnt/winc # mount -t vfat /dev/sda1 /mnt/winc # cd /mnt/winc/windows/Fonts # mkdir /usr/share/fonts/TTF # cp sim* msgothic.ttc msmincho.ttc msyh* meiryo* verdana* tahoma* /usr/share/fonts/TTF # cd /usr/share/fonts/TTF # mkfontdir # mkfontscale
然后重启xfce4后即可设置字体。
另外,在编译xfwm4时加上USE=xcomposite,即可打开窗口混色开关,这样就可以在窗口管理器中设置窗口的透明度了。 另外 http://www.xfce-look.org/ 这个网站不错,可以下载到许多xfce4用的主题。
时钟有可能会不正确,可以修改 /etc/conf.d/clock,将 CLOCK="UTC" 改成 CLOCK="local"。
板载AC97声卡的配置,参考官方文档即可。
安装mplayer:
USE="aac cddb dvd encode gif mmxext mp2 mp3 png \
quicktime rar real samba srt vorbis \
win32codecs x264 xv xvid" emerge mplayer
安装Open Office:
# LINGUAS="zh_CN" emerge openoffice-bin
exaile是一个基于GTK+的媒体播放器, 类似于KDE下的Amarok。在gentoo下可以很方便地安装:
# emerge exaile
但试图播放mp3时,会报告这样的错误:
You do not have the appropriate Gstreamer plugin installed to play this file:
google之后才知道,播放mp3需要安装gstreamer的插件 gst-plugins-mad。 你可以用下面的命令查看已经装了哪些插件:
# emerge -s gst-plugins
安装完 exaile 之后,gst-plugins-base、gst-plugins-bad、gst-plugins-good三项 应该是已安装好的。执行下面的命令:
# emerge gst-plugins-mad
装好后重新启动exaile,这样就可以播放mp3了。
gentoo xeffects项目主要是研究如何在gentoo下使用compiz和compiz fusion,xgl的ebuild文件就来自xeffects layout。 但是最近(2008/1/6前后),xeffects项目的开发者声明他们决定中止该项目的开发。(文章末尾引用了他们的官方声明。)
官方网站gentoo-xeffects.org的域名也已经停止使用,在gentoo下通过 layman -a xeffects 会说找不到域名。 不过好在xeffects作者公开了他们的开发成果,你可以通过git下载。
# emerge dev-util/git $ git clone git://git.overlays.gentoo.org/dev/jmbsvicetto.git
最后附上开发者的官方声明。
lex (nesl247) and I decided we no longer were interested in keep running the gentoo-xeffects server and agreed to not renew its subscription after the end of December. Thus, the gentoo-xeffects overlay is no longer available. I've put all the ebuilds in the xeffects overlay under my git dev overlay on http://git.overlays.gentoo.org/gitweb/ where I plan to keep them for at least the next 15 days. If you want to get any of the ebuilds, you can use the gitweb interface to get it or you can clone the overlay with git clone git://git.overlays.gentoo.org/dev/jmbsvicetto.git. I have a local copy of all files that were available under http://distfiles.gentoo-xeffects.org so if someone is interested, drop me a note here, on IRC or through any of my contacts.
So, what's next? I didn't wanted to keep the server running because I wasn't available to keep the financial commitment, but I'm still interested in compiz, compiz-fusion and related packages. As such, I'm starting a new overlay with Ingmar Vanhassel (ingmar/ingmarv) and Wulf C. Krueger (philantrop) that will be named desktop-effects and will also be available from http://git.overlays.gentoo.org/. As indicated by its new name, this overlay will have a different scope and will start with a subset of the xeffects ebuilds. Expect more details to follow in the US forum and or in the #gentoo-xeffects irc channel.
I want to thank everyone that worked on the coffee_buzz / gentoo-xeffects overlay for their hard work. In particular, I want to thank coffee_buzz, nesl247 and roderick. Without you and your work, the rest of us wouldn't had / be having so much fun with compiz / compiz-quinnstorm / beryl / compcomm / compiz-fusion and friends.
昨天在fcicq的推荐下安装了gentoo。安装过程没什么好说的,按照gentoo手册一步步来, 都挺顺利,但在最后安装grub时出了点问题。
我的机器有两块硬盘,一块是SATA的(/dev/sda), 一块是IDE的(/dev/hdb),gentoo的/boot装在了 /dev/sda8,/装在了/dev/sda10上。 grub使用hd0、hd1等方式来指定硬盘,但同时有SATA和IDE的情况下就很难分辨谁是hd0谁是hd1了。 所以我先启动grub然后通过它的命令行补齐功能,查明hdb -> hd0, sda -> hd1, 于是就按照这个设置写好了grub.conf,并加上了splashimage。
但是重新起动后grub说找不到分区,并且屏幕变花,几乎什么都看不见。 在菜单里按e然后c进入命令行,想通过命令行补齐来启动系统,但由于看不见显示而失败了。
没办法再次使用gentoo安装盘启动系统。猜测可能是由于splashimage找不到导致花屏, 于是编辑grub.conf去掉了splash,重启,这次能看到错误信息了。进入grub的命令行尝试补齐, 发现sda居然是hd0!
这下情况明朗了,通过命令行指定好正确的root和kernel,启动系统后修改grub.conf,重启,成功。
为什么安装时和启动时的硬盘编号不一致?后来看到手册上说,硬盘编号一般是先IDE再SCSI(SATA), 但当BIOS设置从SCSI启动时,SCSI设备会变成hd0。原来如此,安装时由于是从光盘启动, 所以IDE优先于SATA成了hd0;但重启系统后由于从SATA启动,所以SATA就变成了hd0。
最后建议在配置grub.conf时,不要一开始就加上splashimage,应当等全部调试通过之后再添加,避免出现花屏问题影响调试。
最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。 想起以前写过的一篇其实Linux这样用更简单, 发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里还有非常多的命令, 可以作为参考。
系统
# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程 # top # 实时显示进程状态
用户
# w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务 # chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
感谢fcicq,他的new 30 days系列为我们带来了不少好文章。
今天想分析的是这篇Bash Pitfalls, 介绍了一些bash编程中的经典错误。fcicq说可能不适合初学者,而我认为, 正是bash编程的初学者才应该好好阅读一下这篇文章。
下面就逐个分析一下这篇文章中提到的错误。不是完全的翻译,有些没用的话就略过了, 有些地方则加了些注释。
阅读全文 »最近工作中用到的一些Linux小技巧,比较零散,所以没有分类整理,可能看起来比较麻烦。
查询某个RPM包依赖的包。-qR这么有用的参数rpm --help里面居然没有写!(仅写了长格式 --requires )
rpm -qR coreutils
创建RPM包时的两个有用的设置:
# 防止创建带调试信息的RPM包
%define debug_package %{nil}
# 打包之前不要对目标文件做strip(如打包脚本时没必要strip)
%define __os_install_post %{nil}
# 禁止自动搜索依赖关系
Autoreq: no
Autoprov: no
关于sed:sed正则表达式中的 . 符号匹配对象并不是“任意字符”而是“任意可显示的英文字符”, 包括英文字母、数字、特殊符号、空白等,但不包括0-31的控制字符和127以后的特殊字符。 因此在匹配非英文字符时要当心,虽然多语言版能匹配绝大部分的非英文字符,但也有特例。 目前发现 euc-jp 编码下的日文字符大部分都不能被匹配。例如:
$ cat japanese テスト test 添付ファイル $ sed -e 's/.*/__&__/' < japanese ____テスト __test 添__付ファイル
另一个使用sed的简单脚本,实现类似grep的功能,但它将匹配的行用特殊颜色显示:
# cat mgrep #!/bin/sh sed -e "/$1/s/.*/\x1b[0;30;43m&\x1b[m/"
如何将文件比较结果直接输出到vim中(因为vim有语法高亮):
$ diff foo bar | vi -
另外Fenng最近提到的一篇关于防止 rm -rf / 的文章也很有参考价值。
