Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
小心得, 大集合!
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index 中文 (Chinese)
View previous topic :: View next topic  
Author Message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Tue Jan 18, 2005 3:13 am    Post subject: 小心得, 大集合! Reply with quote

各位兔兔用户注意啦, 使用兔兔的过程中你一定积累了不少小心得小经验小技巧吧! 有时你的一句提示, 对一个新手而言可能就有醍醐灌顶之奇效! 为了让大家的兔兔跑得更加欢快, 兄弟姐妹们赶紧把你们的心得技巧都跟帖贡献出来吧 :)

唯一的要求: 小! 说好了是小技巧/小心得/小经验, 请控制在两三句话以内 (如果实在有很多话要说, 那就开自己的帖子, 写成详细的 Howto 之类的 ;) )

好东西拿出来分享啦! 记得, 随时有心得随时跟帖!

edit:
为方便大家查看使用, 置顶之 ;)
- Eric
_________________
- http://nkbit.com
- http://twitter.com/xuyihua


Last edited by EricHsu on Sun May 29, 2005 6:13 am; edited 2 times in total
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Tue Jan 18, 2005 3:23 am    Post subject: Reply with quote

噢, 刚想到一个:

. xfce 4.2 里如何使用 iconbox 而不要 taskbar?

  1. 在 xfce 4.2 里 "运行程序", 启动 xfce4-iconbox
  2. "杀死" 运行中的 taskbar - 终端里运行 pkill xftaskbar4
  3. 退出系统时, 选择保存会话 (session)! 搞定~

_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Tue Jan 18, 2005 3:39 am    Post subject: Reply with quote

又想到一个, 昨天 rebuild 内核时的小心得 (纯粹个人意见):

. 内核编译: 编成模块还是编入内核?

  • 赖以启动系统 (如 ext3支持) 或不可拆卸的硬件 (如声卡/网卡) 的驱动, 一律编入内核.
  • 可 "插/拔/加载/移去" 的东西 (如 usb 支持, iptable 模块) 则编成模块


参考链接: Kernel: Compiled-In or Modular?

edit: 删掉显卡驱动编入内核的说法. 由于现在大部分人都用如 ATI, Nvidia 提供的预编译好的驱动模块, 所以, 如果把内核提供的驱动编入内核的话, 反而会使得官方驱动模块无法加载. 我自己用的也是 nvidia 的驱动模块, 当时一时手快, 写多了个显卡, 非常感谢 lanb 的指正:)

另外, to lanb: glxgears 只能证明你的机器是否具有 glx 支持了. 不具备测试性能的意义:) 比如我用了 morph-sources 之后, glxgears 现在只有 400 fps 左右 (之前使用 gentoo-dev-sources 或 nitro-sources 都是 3,000 fps 以上), 但是, 在 quake3 里, 则无论 morph-sources, gentoo-dev-sources 或是 nitro-sources, 都有 125 fps. 说明 glxgears 不足以测试 X 的性能:)
_________________
- http://nkbit.com
- http://twitter.com/xuyihua


Last edited by EricHsu on Thu Jan 20, 2005 11:38 am; edited 1 time in total
Back to top
View user's profile Send private message
tecehux
n00b
n00b


Joined: 01 Nov 2004
Posts: 46
Location: Germany

PostPosted: Tue Jan 18, 2005 11:42 am    Post subject: Reply with quote

前两天重装gentoo时遇到的问题:若dns设置不对的话emacs要等好长时间才会启动。倘若不知道的话真是郁闷得很!所以遇到这种情况就检查一下dns设置吧
Back to top
View user's profile Send private message
kohno
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2004
Posts: 112

PostPosted: Tue Jan 18, 2005 1:56 pm    Post subject: Reply with quote

这儿有些现成的:Gentoo Tips 备忘录
Back to top
View user's profile Send private message
MACHINE
Tux's lil' helper
Tux's lil' helper


Joined: 30 Mar 2004
Posts: 141
Location: Earth

PostPosted: Tue Jan 18, 2005 3:46 pm    Post subject: Reply with quote

kohno wrote:
这儿有些现成的:Gentoo Tips 备忘录


国外有些地方连不上www.linuxsir.org。gentoo官方中文论坛是为全球华人的吧。
_________________
Hi, Gentoo men!!
Back to top
View user's profile Send private message
MACHINE
Tux's lil' helper
Tux's lil' helper


Joined: 30 Mar 2004
Posts: 141
Location: Earth

PostPosted: Tue Jan 18, 2005 3:51 pm    Post subject: Reply with quote

把/tmp和/var/log mount作tmpfs,对硬盘速度不高但内存足够的个人机器或许有帮助。而且不用经常手动清除日志。

如果拥有2G以上内存的电脑,配上4G交换文件,还可以把/usr/tmp mount作tmpfs。编译速度会加快。
_________________
Hi, Gentoo men!!
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Wed Jan 19, 2005 3:07 am    Post subject: Reply with quote

做 stage4 系统备份时, 如下目录里的内容 (目录本身建议备份!) 可以不用备份:

  • /dev
  • /proc
  • /sys
  • /tmp
  • /var/tmp

即, 在 tar 时, 使用 --exclude=/dev/* --exclude=/proc/* 这样的参数.

另, /var/tmp 里面的内容可以定期清空, 都是一些 portage 使用的临时文件而已, 清空了对系统没有任何影响.
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Wed Jan 19, 2005 3:35 am    Post subject: Reply with quote

在升级了内核之后, 你也许想清除掉旧版本的内核源码, 在 emerge -C 之前, 请先进入到旧版本的内核源码的目录里, 运行 make mrproper 以清除掉在编译内核时产生的未被 portage 记录的文件, 然后再 emerge -C 该版本的内核源码, 这样就可以把它彻底清除干净.

这时还可以 mount /boot, 把 /boot 下相应的旧版本的内核也删去 -
!!! 注意 !!! - 在清除旧版本内核前请确认当前新版本的内核工作正常 (或者至少保留一个工作正常的内核!)

另外, 清除掉旧版本的内核源码之后, 其相应的在 /lib/modules 下以内核版本命名的模块目录也可以删除.
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
Hauser
l33t
l33t


Joined: 27 Dec 2003
Posts: 650
Location: 4-dimensional hyperplane

PostPosted: Wed Jan 19, 2005 3:34 pm    Post subject: Reply with quote

Here's how I backup my system:Original post at Gentoo Taiwan Forum.

大家都知道要做資料備份及設定檔的備份。但有沒有想過做整個系統的備份呢?例如自己不小心rm -rf或是chmod -R 777敲得太快後面打了/ 之後還沒來得及打目錄就按了Enter;系統被入侵;斷電導致整個硬碟完蛋;又或是系統被自己莫名其妙地搞壞了最終都不懂怎麼修復等等。這時候似乎只有重裝了,但Gentoo重裝可不是一件輕鬆的事喔!如果你做了整個系統的備份就不用怕了!Windows裡有Ghost,linux下有Partimage和Mondorescue,但始終我還是覺得unix常見的工具反而是最具靈活性的。

用LiveCD或Knoppix開機,並將根分區掛好:/mnt/gentoo。如果你的/boot,/usr用的是獨立的分區或硬碟,你必須把它們分別掛到/mnt/gentoo/boot ,/mnt/gentoo/usr等目錄裡。然後:
Code:
# cd /mnt/gentoo
# tar -cz --exclude-from /mnt/gentoo/root/exclude-list -pivO * | split -a 1 -b 700m - /path/to/mybackup.tar.gz-

這樣會產生好幾個包mybackup.tar.gz-a, mybackup.tar.gz-b等等,每個最大700m(方便燒碟)。exclude-list可以事先寫好,類似這樣:
usr/portage/distfiles
var/tmp/portage
home/yourusername/music
home/yourusername/video

並放到你的gentoo分區的/root裡。
注意存放備份包的地方要有足夠的空間,如果在不同的分區,事先要掛好。
還原的時候,先要在有關的分區上重建檔案系統,並象以上所說的那樣掛載好,然後:
Code:
# cd /mnt/gentoo
# cat /path/to/mybackup.tar.gz-* | tar xzvpf -

為什麼要用LiveCD啟動呢?這是因為運行中的系統並非靜態,不應該簡單地去tar根目錄;有的程序如partimage甚至要求卸載備份的分區。當然也有可以在運行中的系統做完全備份的程序啦,Mondorescue就是一個例子;這些程序都頗為複雜,不過有興趣的朋友可以自己試試。

我自己有個分區裝了個後備系統。這樣每當其他系統出了問題,我不至於沒機子用。這個後備系統我平時很少用,更不會去瞎調;但我機子的grub是從這裡裝的,備份或搶修其他分區也是在這裡做的。這個後備系統本來是Knoppix的硬碟安裝(因為現在Knoppix硬碟安裝實在是太容易了),不過我已經把它換成了gentoo了(已經有了備份就什麼都不用怕了)!
_________________
AMD Athlon XP 2600+; 512M RAM;
nVidia FX5700LE; Hitachi 120Gb
2.6.9-nitro4, reiser4, linux26-headers+nptl

Do I like to compile everything?
Positive definite!
Back to top
View user's profile Send private message
akar
Bodhisattva
Bodhisattva


Joined: 03 Dec 2004
Posts: 348
Location: HKSAR,China

PostPosted: Thu Jan 20, 2005 1:34 am    Post subject: Reply with quote

系統備份腳本

本來是想在系統內核編成支持 reiser4後,再把整個系統搬到新的reiser4分區上,結果reiser4支持有問題而放棄了,反而這系統備份腳本就出來了:



原本的英文腳本在這裏
發在LinuxSir上,在:這裏

腳本下載 (中文 utf-8編碼)
大家指教一下。
_________________
AKar
Back to top
View user's profile Send private message
lanb
n00b
n00b


Joined: 14 Dec 2004
Posts: 5

PostPosted: Thu Jan 20, 2005 3:18 am    Post subject: Reply with quote

EricHsu wrote:
又想到一个, 昨天 rebuild 内核时的小心得 (纯粹个人意见):

. 内核编译: 编成模块还是编入内核?

  • 赖以启动系统 (如 ext3支持) 或不可拆卸的硬件 (如显卡/声卡/网卡) 的驱动, 一律编入内核.
  • 可 "插/拔/加载/移去" 的东西 (如 usb 支持, iptable 模块) 则编成模块


参考链接: Kernel: Compiled-In or Modular?



这个不是特别正确的!我的i855的主板,intel extrme的显卡,你试试看把i830编译近kernel和编译成module有什么区别?我的glxgear差了有600!!!
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Thu Jan 20, 2005 11:39 am    Post subject: Reply with quote

lanb wrote:

这个不是特别正确的!我的i855的主板,intel extrme的显卡,你试试看把i830编译近kernel和编译成module有什么区别?我的glxgear差了有600!!!


已更正, 请看原贴:)
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
lanb
n00b
n00b


Joined: 14 Dec 2004
Posts: 5

PostPosted: Fri Jan 21, 2005 5:18 am    Post subject: Reply with quote

我也怀疑glxgear的准确性,但是有时候说编成模块一定好,有点太绝对,当然,有一些东西,比如IDE的驱动是应该直接编译进kernel里面!
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sun Jan 23, 2005 3:04 am    Post subject: Reply with quote

. ext2: 拯救被删的文件

昨晚删掉一部电影, gf 听我简介后说她想看, 于是以如下步骤恢复之:

  1. 第一时间将要拯救的 ext2 分区 (比如我的是挂到 /mnt/entertain 的 /dev/hda9) 挂载为只读模式:
    Code:

    # umount /mnt/entertain
    # mount /dev/hda9 /mnt/entertain -o ro

  2. 运行 debugfs 里的 lsdel 获取最近被删的文件列表 (lsdel 命令运行会需要一点时间, 请耐心等等):
    Code:

    # debugfs /dev/hda9
    debugfs 1.35 (28-Feb-2004)
    debugfs: lsdel

  3. 根据 lsdel 给出的列表中的时间, 想想自己是在什么时候删的, 这样可以找到相应的被删文件的 inode, 例如我是在昨晚 (01 月 22 日) 8 点多删的那个电影, 于是在 lsdel 列表里找到对应的这几个记录:
    Code:

    311298   1000 100644   1136    1/   1 Sat Jan 22 20:24:50 2005
    311299   1000 100644     62    1/   1 Sat Jan 22 20:24:51 2005
    311300   1000 100644 730628096 178552/178552 Sat Jan 22 20:24:51 2005
    311297   1000  40755      0    1/   1 Sat Jan 22 20:24:52 2005

  4. 使用 dump 命令恢复数据到另一分区. 很明显, 这几项记录就是被我删掉的那个电影 (包括它的文件夹, 它的两个文本信息文件, 它自己 (第三行, 大小为 730628096 那个)). 我只需要电影本身, 于是查到它的 inode 值 (第一列) 为 311300, 接着在 debugfs 的提示符里使用 dump 命令将它拯救到另一个分区里 (比如我的 /mnt/share/dump)
    Code:

    # debugfs /dev/hda9
    debugfs 1.35 (28-Feb-2004)
    debugfs: lsdel
    debugfs: dump <311300> /mnt/share/dump/movie.avi

    留心括起 inode 值 311300 的那俩尖括号 <>, 这是必须的, 否则 debugfs 会告诉你找不到文件.
  5. 重复 dump <inode_number> /path/to/file 命令一个个恢复你还想拯救的文件


参考: Deleted files recovery howto
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sun Jan 23, 2005 3:55 am    Post subject: Reply with quote

以下小心得整理自 linuxsir.orgGentoo Tips 备忘录, 非常感谢原帖的每一个作者! :D

另外, 有些 tips 我没试过也无法一一验证, 因此也无法保证其准确性/时效性, 如果你发现有问题的地方, 请一定回帖告知以便订正, 非常感谢! :D


  1. maxzhongcn:

    • 一个小巧的 X 截屏工具
      Code:

      emerge scrot


      使用很简单:
      Code:

      scrot -d 5 -q 100 -t 40 ~/screenshot.png

      上面的意思是5秒钟后截取屏幕到 ~/screenshot.png ,图形质量 100,同时生成 40% 缩略图。
    • 实现 Boot Progress Bar 的最简单方法。
      配置好了 Framebuffer,还想要一个漂亮的 Progress bar 吗?如果不想自己制作 progress bar,那么只要有一张 Gentoo LiveCD,你就可以最快地实现 progress bar:

      挂上你的 livecd
      Code:

      cd /mnt/cdrom/isolinux
      cp initrd.1024 /boot


      修改 grub.conf 如下:
      Code:

      # For booting Gentoo Linux 1.4 RC4
      title Gentoo Linux 1.4 RC4
      root (hd0,8)
      kernel (hd0,6)/vmlinuz-2.6.3-rc2-gentoo ro video=vesa:1024x768@80 vga=0x317 splash=silent
      initrd (hd0,6)/initrd.1024  // 加上这一行

      重启后你就会看到与 LiveCD 启动时看到的一样的 progress bar 了

    • 选择不同的 wm 启动 X:
      建立 ~/.xinitrc 脚本如下:
      Code:

      #!/bin/bash
      #
      # .xsession/.xinitrc
      #
      # choose a window manager
      #
      # 这里可以设置一些环境变量:
      export LANG=en_US
      export LC_CTYPE=zh_CN
      export XMODIFIERS="@im=fcitx"

      defaultwm=kde  # 指定如果没有提供启动 wm 参数,默认为启动 KDE。
      windowmgr=${1:-$defaultwm}
      #根据参数不同启动不同的 wm
      case ${windowmgr} in
      kde|kwm|kdestart)
      WINDOWMANAGER=startkde
      ;;
      flux|fluxbox)
      WINDOWMANAGER=fluxbox
      exec spaceclock &  # 这里我加入了两个程序随 fluxbox 启动
      exec xidesk &
      ;;
      gnome)
      WINDOWMANAGER=gnome-session
      ;;
      xfce4|xfce)
      WINDOWMANAGER=startxfce4
      ;;
      *) WINDOWMANAGER=windowmgr
      esac

      exec xpad &  # 在启动 wm 之前可以放进一些喜欢的程序随 wm 启动
      exec fcitx &
      exec gkrellm2 &
      exec $WINDOWMANAGER

      启动的时候键入:
      Code:

      startx   # 启动 kde
      startx flux # 启动 fluxbox
      startx xfce # 启动 xfce4
      startx gnome # 启动 gnome2


    • 你是否遇到过在输入密码的时候打错了字,结果只能回车再来一遍?其实没必要,当你注意到打错了密码,只要键入 CTRL+u 然后再重新输入就行了,CTRL+u 可以清除你输入的字符,对大多数 Unix/Linux 系统都有效。


  2. sd44:

    • 曾为在Gentoo卸载软件的依赖关系烦恼过~后来发现了
      Code:

      qpkg -q package -I

      查询已安装软件中依赖于package的包
      然后再emerge unmerge 这几个包就成了

    • python-updater(/usr/sbin)
      liberperl-rebuilder(在/usr/portage/dev-lang/perl/files)
      要善用啊,昨天用后者的时候发现一些perl包都没更新并且是归属于perl 5.8.0

      在python升级后不运行python-updater,是滋生BUG的温床 ^_^~

      抛砖引玉!!


  3. 阿罗:
    使用kernel-2.6以上,如果普通用户在X中不能登陆terminal:
    Code:

    root# cd /usr/src/linux
    # make menuconfig
    选择Device Drivers --> Character Device -->Unix98 PTY suppurt
    选择File Systems --> Pseudo filesSystems --> /dev/pts file system for Unix98 PTYs
    #make
    #mount /boot
    #cp arch/i386/boot/bzImage /boot/kernel-2.6.3-r3 (just an example)

    大概2/3分钟即可搞定。

  4. meteo
    我来一个吧,在gentoo的控制台下,键盘上的windows键和菜单键有特殊的用途
    菜单键可以用来迅速转到Xwindow,
    windows键可以用来在控制台之间进行切换,左边的windows键是由大到小,右边是由小到大,如果是第一个控制台,按左边的windows键效果和按Ctrl+Alt+F12相同
    不过用windows键切换控制台的时候,如果切换到了Xwindow下,就切换不了了,我想是因为窗口管理器截获了键盘输入的原因

    • lucida
      这个是需要配置的,在这里
      vi /etc/rc.conf
      Code:

      # Should we first load the 'windowkeys' console keymap?  Most x86 users will
      # say "yes" here.  Note that non-x86 users should leave it as "no".

      SET_WINDOWKEYS="yes"



  5. Hauser:

    • 将man和info转存为文字档:
      Code:

      $ man df |col -b >df-man.txt
      $ info df -o df-info.txt -s

      用个editor打开df-man.txt和df-info.txt看看!

    • 查看系统信息
      Code:

      $ cat /proc/cpuinfo (CPU信息)
      $ cat /proc/interrupts (中断)
      $ cat /proc/ioports (IO端口)
      $ cat /proc/meminfo (内存)
      $ cat /proc/partitions (分区)
      $ cat /proc/pci (PCI设备)
      $ cat /proc/swaps (swap分区)
      $ cat /proc/version (相当于 '$ uname -r')


    • 经常换kernel?如果想确保/usr/src/linux总是指向运行中的kernel,可以在/etc/conf.d/local.start里加上这两行:
      Code:

      rm /usr/src/linux

      ln -s /usr/src/linux-$(uname -r) /usr/src/linux


    • 假设我挂载了一个分区:
      Code:

      $ mount /unix/freebsd
      $ mount
      /dev/hda12 on / type reiserfs (rw,noatime,notail)
      none on /proc type proc (rw)
      none on /sys type sysfs (rw)
      none on /dev type devfs (rw)
      none on /dev/pts type devpts (rw)
      none on /dev/shm type tmpfs (rw)
      none on /proc/bus/usb type usbfs (rw)
      /dev/hda4 on /unix/freebsd type ufs (ro,noexec,nosuid,nodev,ufstype=44bsd)

      后来想卸载:
      Code:

      $ umount /unix/freebsd
      umount: /unix/freebsd: device is busy

      相信很多人都遇到过类似的情况吧。这时候可以:
      Code:

      $ fuser -kivm /unix/freebsd/

      USER PID ACCESS COMMAND
      /unix/freebsd/ lt 25015 f.... kdeinit
      Kill process 25015 ? (y/n) y

      或者:
      Code:

      $ fuser -kivm /dev/hda4

      USER PID ACCESS COMMAND
      /dev/hda4 lt 2510 f.... kdeinit
      Kill process 2510 ? (y/n) y

      然后就应该可以卸载了。

    • 忘了root密码怎么办:
      1.进入单用户模式:
      进入grub选单后,选了gentoo那项后按'e'(如果你为grub设置了密码,先按'p',并输入密码)。然后选kernel那行再按'e'进行编辑;在最后面加入'single'一词, 回车后按'b'启动。进入系统后你会看到root的提示符,然后:
      Code:

      #passwd

      重新设置root的密码。

      2.用liveCD启动
      挂载gentoo的根分区:
      Code:

      #mount /dev/hdaX /mnt/gentoo

      编辑/etc/passwd文件:
      Code:

      #nano -w /mnt/gentoo/etc/passwd

      修改该root那行:
      Code:

      root:x:0:0:root:/root:/bin/bash

      把第一个和第二个':'之间的x删了:
      Code:

      root::0:0:root:/root:/bin/bash

      卸载分区:
      Code:

      #umount /mnt/gentoo
      #reboot

      取出liveCD并正常启动后,以root的身份登入,系统不会问你要密码的,然后当然是:
      Code:

      #passwd


    • Code:

      >>> No outdated packages were found on your system.

       * GNU info directory index is up-to-date.
       * IMPORTANT: 37 config files in /etc need updating.
       * IMPORTANT: 5 config files in /usr/kde/3.2/share/config need updating.
       * Type emerge --help config to learn how to update config files.

      象这样的信息相信大家都见过了吧。要update这些config文件,可以用etc-update,不过我这儿想介绍一个类似的工具,dispatch-conf。这是我的配置档/etc/dispatch-conf.conf:
      Code:

      #
      # dispatch-conf.conf
      #

      # Directory to archive replaced configs
      archive-dir=/etc/config-archive

      # Use rcs for storing files in the archive directory?
      # (yes or no)
      use-rcs=yes

      # Diff for display
      diff="diff -Nau %s %s"

      # Pager for diff display
      pager="less --no-init --QUIT-AT-EOF"

      # Automerge files comprising only CVS interpolations (e.g. Header or Id)
      # (yes or no)
      replace-cvs=yes

      # Automerge files comprising only whitespace and/or comments
      # (yes or no)
      replace-wscomments=yes

      # Automerge files that the user hasn't modified
      # (yes or no)
      replace-unmodified=yes

      如果要使用rcs,首先要:
      Code:

      # emerge rcs

      当然还要:
      Code:

      # mkdir /etc/config-archive

      用dispatch-conf来更新config文件很简单,运行:
      Code:

      # dispatch-conf

      首先dispatch-conf会将要update的config文件在/etc/config-archive里做个备份,然后会一个个显示需要处理的文件。你会看到文件里(look-merge)有些行前面有+或-的符号(diff的显示),这代表automerge会将这些行加入或删减 (按空格键翻页,如果文件太长,按‘q’退出),你会看到类似这样的信息:
      Code:

      >> (1 of 33) -- /etc/DIR_COLORS
      >> q quit, h help, n next, e edit-new, z zap-new, u use-new
         m merge, t toggle-merge, l look-merge:

      如果按m进行merge,你会看到/etc/DIR_COLORS和/etc/._cfg0000_DIR_COLORS并列出现,旧的在左边,新的在右边。
      然后可以按以下的命令进行merge:
      Code:

      ed:     Edit then use both versions, each decorated with a header.
      eb:     Edit then use both versions.
      el:     Edit then use the left version.
      er:     Edit then use the right version.
      e:      Edit a new version.
      l:      Use the left version.
      r:      Use the right version.
      s:      Silently include common lines.
      v:      Verbosely include common lines.
      q:      Quit.

      完成后,会显示新的将会变更的内容;按’q‘退出,然后按e(edit-new)做最后的编辑。接着就可以按’u‘启用新的文件了(/etc/._cfg0000_DIR_COLORS当然会给删掉了)。
      以上是人手作merge的一个例子,实际上很多文件都可以直接按’u‘采用新版,尤其是/etc/init.d/里的那些脚本及一些你从不会去改的文件(以上的/etc/DIR_COLORS便是一例)。Gentoo特有的东西,象make.conf这样的,最好是人手merge一下;象fstab这样的标准linux配置文件则可以直接zap-new,即删了._cfg0000_fstab然后继续。

      PS 以上有些步骤与etc-update雷同,至于用哪个工具,使用者自己决定吧。


  6. home_king:

    • 延迟截图:
      Code:

      sleep 5 && import -quality 90 myimage.jpg

      相比scrot,import的好处在于它可以进行交互region截图。

      很多时候在终端里执行import后,都会立即进行region截图,但这样灵活性不够,因为可能屏幕要截图的区域被终端的窗口覆盖了。用sleep进行自定义的延时,可以调整桌面后进行截图,质量90的jpeg体积小效果好。

    • 相信大家以前肯定有遇过这样一种情况,在普通用户下,su为根用户执行X程序时出现错误,比如说安装内核时make gconfig。
      gentoo官方手册曾经提及过sux,这种解决方案很不安全,因为它不是pam-aware,而且现在也没有必要了。

      现在pam_xauth模块帮我们安全地实现了这点。

      注意到这个session模块栈的optional条目:
      Code:

      session    optional     /lib/security/pam_xauth.so

      比如说,直接su - xpdf即可。


_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
feilfly
n00b
n00b


Joined: 24 Mar 2005
Posts: 10

PostPosted: Mon May 09, 2005 5:06 am    Post subject: Reply with quote

我现在刚接触xfce4,它自带的terminal好像不支持中文,应如何设置呢?
_________________
MSN:bemention@hotmail.com
QQ:34381470
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Mon May 09, 2005 5:21 am    Post subject: Reply with quote

feilfly wrote:
我现在刚接触xfce4,它自带的terminal好像不支持中文,应如何设置呢?


咦? 支持吧, 我记得只是它的界面还是英文而已, 而在显示中文 (中文文件/目录/编辑中文内容) 时和 gnome-terminal 没什么差别噢.
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
bookstack
Apprentice
Apprentice


Joined: 27 Feb 2004
Posts: 245

PostPosted: Mon May 09, 2005 9:53 pm    Post subject: Reply with quote

你可以试试urxvt, supports utf8 encoding.
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sat May 28, 2005 7:34 am    Post subject: Reply with quote

响应 Fleta 的要求, 把下面内容搜集到这里:)
以后大家发现哪里有好的小心得小技巧或者你觉得值得收集得东东, 都可以自己回复到这个帖子里噢 ;)

akar wrote:
如果要修改ebuild的話, lucida有一系列教程:

[转] gentoo ebuild FUQ :-) --lucida

_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
ts
Tux's lil' helper
Tux's lil' helper


Joined: 15 Dec 2004
Posts: 97

PostPosted: Sat May 28, 2005 1:20 pm    Post subject: Reply with quote

建议把这个帖子设为 sticky 。:D
Back to top
View user's profile Send private message
akar
Bodhisattva
Bodhisattva


Joined: 03 Dec 2004
Posts: 348
Location: HKSAR,China

PostPosted: Mon Jul 25, 2005 2:26 am    Post subject: Reply with quote

  買了新PC,Dell 4700c,配置了1GB內存,但由於散熱不好,就所以就在這頭疼。於是找來以下的方法: http://gentoo-wiki.com/TIP_Speeding_up_portage_with_tmpfs

  原理: 用內存虚擬硬盘,來暫存編譯時的臨時文件。

好處:
1. 快;
2. 硬盘少轉幾圈,熱量減少些(環保,保謢地球 --就看你有沒有看到這個帖了 8) );


使用:
0. 把下面的腳本於在/usr/bin/temerge;
1. chmod u+x temerge;
2. 以前用emerge 的,現在全用 temerge;

Code:

#!/bin/bash
MEMSIZE=850M
mounted=false
 
. /sbin/functions.sh
 
mounttmpfs() {
     mount -t tmpfs tmpfs -o size=$MEMSIZE /var/tmp/portage
     mounted="true"
}

compile() {
     ebegin "emerging ${*}"
          emerge ${*}
     eend $?
}

unmount() {
     ebegin "unmounting tmpfs"
          umount -f /var/tmp/portage
     eend $?
}

ebegin "Mounting $MEMSIZE of memory to /var/tmp/portage"
if [ -z "$(mount | grep /var/tmp/portage)" ]
then
     mounttmpfs
else
     eerror "tmpfs already mounted!"
     exit 0
fi
eend $?

compile ${*}
 
if [ -n "$mounted" ]
then
     unmount
fi

_________________
AKar
Back to top
View user's profile Send private message
Zer4tul
n00b
n00b


Joined: 07 Jul 2005
Posts: 21
Location: Chongqing, China

PostPosted: Mon Jul 25, 2005 4:51 am    Post subject: Reply with quote

帮楼上的补充一句,这个东西比较耗内存,所以只建议大内存用户(>=1G)使用。1G以下的有点玄
Back to top
View user's profile Send private message
EricHsu
Bodhisattva
Bodhisattva


Joined: 03 May 2004
Posts: 591
Location: Aragon Consulting Group, Beijing, China

PostPosted: Sun Aug 21, 2005 7:54 am    Post subject: Reply with quote

* 如何检查硬盘里的坏块

1. umount 你要检查的分区
2. 看看这个分区所用文件系统的块大小 (block size)

- reiserfs:
Code:

# debugreiserfs /dev/[分区] | grep 'Blocksize'
debugreiserfs 3.6.19 (2003 www.namesys.com)

Blocksize: 4096


- ext2/ext3:
Code:

# dumpe2fs /dev/[分区] | grep 'Block size'
dumpe2fs 1.38 (30-Jun-2005)
Block size:               1024


3. 检查分区上有没有坏块:
Code:

# badblocks -b [之前得到的 block size 值] /dev/[设备] -o badblocks.log


这将把检查到的坏块记录到 badblocks.log 文件中 :)
_________________
- http://nkbit.com
- http://twitter.com/xuyihua
Back to top
View user's profile Send private message
fcicq
n00b
n00b


Joined: 11 May 2006
Posts: 6

PostPosted: Thu May 11, 2006 2:03 pm    Post subject: Reply with quote

核心编译中:
Kernel debugging 偶推荐选上里面的sysrq,搜索一下就知道做什么用,死机帮手
具体用法看看sys/Documentation/sysrq.txt
最简短的一句话:死机了,按Alt+sysrq+S,U,B就能重启动,还能保全数据。
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index 中文 (Chinese) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum