LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: maxzhongcn

Gentoo Tips 备忘录

[复制链接]
发表于 2004-4-25 22:59:19 | 显示全部楼层
最初由 penny 发表
ln -sf /usr/src/linux-$(uname -r) /usr/src/linux

这个-f重要吗?rm /usr/src/linux 不是已经删掉了原有的链接了吗?:ask
发表于 2004-4-27 06:41:31 | 显示全部楼层
假设我挂载了一个分区:
$ 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)

后来想卸载:
$ umount /unix/freebsd
umount: /unix/freebsd: device is busy

相信很多人都遇到过类似的情况吧。这时候可以:
$ fuser -kivm /unix/freebsd/

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

或者:
$ fuser -kivm /dev/hda4

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

然后就应该可以卸载了。
发表于 2004-5-1 21:15:09 | 显示全部楼层
我试过了,好像不行吧
,不好意思,我还没有弄好过progress bar(silent起不来),
只是有些疑问,如果下面有说错,请高手莫怪..
你说的lived CD下有好几个initrd,不过文中所说的 initrd.1024可以
moun的t(mount -o loop  initrd.1024 /mnt/cdrom),然后cd进去发现里面是一个
很小的可启动的gentoo,有/usr/、/bin等目录,
如果你用file命令查看这些几个initrd文件,发现是不同的类型,
是不是搞错了,我是指不是这个initrd.1024文件,其它的initrd我试过,
但本来我就没弄好progress bar,所以:说服性=无,;)
还有我也不确定是不是我的lived CD不同你的lived CD版本的问题.
最初由 maxzhongcn 发表
实现 Boot Progress Bar 的最简单方法。
配置好了 Framebuffer,还想要一个漂亮的 Progress bar 吗?如果不想自己制作 progress bar,那么只要有一张 Gentoo LiveCD,你就可以最快地实现 progress bar:

挂上你的 livecd


  1. cd /mnt/cdrom/isolinux
  2. cp initrd.1024 /boot
复制代码


修改 grub.conf 如下:

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


重启后你就会看到与 LiveCD 启动时看到的一样的 progress bar 了
发表于 2004-5-2 21:39:31 | 显示全部楼层
忘了root密码怎么办:

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

2.用liveCD启动
挂载gentoo的根分区:
#mount /dev/hdaX /mnt/gentoo
编辑/etc/passwd文件:
#nano -w /mnt/gentoo/etc/passwd
修改该root那行:
root:x:0:0:root:/root:/bin/bash
把第一个和第二个':'之间的x删了:
root::0:0:root:/root:/bin/bash
卸载分区:
#umount /mnt/gentoo
#reboot
取出liveCD并正常启动后,以root的身份登入,系统不会问你要密码的,然后当然是:
#passwd
发表于 2004-5-16 16:50:48 | 显示全部楼层
  1. >>> No outdated packages were found on your system.


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

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

  1. #
  2. # dispatch-conf.conf
  3. #

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

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

  9. # Diff for display
  10. diff="diff -Nau %s %s"

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

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

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

  19. # Automerge files that the user hasn't modified
  20. # (yes or no)
  21. replace-unmodified=yes
复制代码

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

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

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

  1. ed:     Edit then use both versions, each decorated with a header.
  2. eb:     Edit then use both versions.
  3. el:     Edit then use the left version.
  4. er:     Edit then use the right version.
  5. e:      Edit a new version.
  6. l:      Use the left version.
  7. r:      Use the right version.
  8. s:      Silently include common lines.
  9. v:      Verbosely include common lines.
  10. 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雷同,至于用哪个工具,使用者自己决定吧。
发表于 2004-9-1 09:55:34 | 显示全部楼层
延迟截图:

  1. sleep 5 && import -quality 90 myimage.jpg
复制代码

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

很多时候在终端里执行import后,都会立即进行region截图,但这样灵活性不够,因为可能屏幕要截图的区域被终端的窗口覆盖了。用sleep进行自定义的延时,可以调整桌面后进行截图,质量90的jpeg体积小效果好。
发表于 2004-9-22 10:34:36 | 显示全部楼层
相信大家以前肯定有遇过这样一种情况,在普通用户下,su为根用户执行X程序时出现错误,比如说安装内核时make gconfig。
gentoo官方手册曾经提及过sux,这种解决方案很不安全,因为它不是pam-aware,而且现在也没有必要了。

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

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

  1. session    optional     /lib/security/pam_xauth.so
复制代码

比如说,直接su - xpdf即可。
发表于 2005-10-31 19:57:38 | 显示全部楼层
haha,这个帖子好张经验!我是菜鸟但还是要顶一下,希望有更多的好东西贴上来:)
回复 支持 反对

使用道具 举报

发表于 2006-8-6 13:00:50 | 显示全部楼层
“小指一顶” :—)
回复 支持 反对

使用道具 举报

发表于 2006-8-6 14:05:39 | 显示全部楼层
干嘛学人家说话?讨厌
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表