问题1.安装的上不能查看分区表
(chroot)Gentoo-20121221 / # fdisk -l
cannotopen /proc/partitions
解决方法:在livecd上执行命令
mount-t proc none /mnt/gentoo/proc
问题2.安装完以后不能正常引导。grub
cannotopen root device "sda7" or unknown-block(0,0): error-6
pleaseappend a correct root boot option here are the available partitions
kernelpanic - not syncing :vfs:unable to mount root fs onunknown-block(0,0)
不能引导不能打开识别。很有可能是grub菜单辩解的问题双系统启动
vi/boot/grub/grub.conf
default0
timeout5
splashimage=(hd0,6)/boot/grub/splash.xpm.gz
titleWindows 7
rootnoverify(hd0,0) 0 ,0是第一块盘的第一个分区。
makeactive
chainloader+1
titleGentoo Linux 3.7.10-gentoo
root(hd0,6) 6是boot分区,对应的是sda7, sda9 是主分区,根就挂载在sda9上面
kernel/boot/vmlinuz-3.7.10-gentoo ro root=/dev/sda9 quiet
问题3.config_devtmpfs=yis required in your kernel configuration
编译内核的时候没有选上。
cannotstart udev as udev ud-mount not start 没有默认启动。
重新编译内核找到相关选项
DeviceDrivers --->
GenericDriver Options --->
(/sbin/hotplug)path to uevent helper
[*]Maintain a devtmpfs filesystem to mount at /dev
[*]Automount devtmpfs at /dev, after the kernel mounted the rootfs
问题4.Gentoo安装后,无法联网,但Ping地址错误,检查/etc/resolv.conf发现没设置nameserver,但设置之后重启,resolv.conf又会变成原来的样子。
解决方法:在/etc/conf.d/net加上一行,“dns_servers_eht0=xxx.xxx.xxx.xxx",重启之后正常。
问题5.显卡的问题。编译是一般不用编译显卡。使用桌面时,编译安装驱动即可。
Nvidiafb:Unkonwnna_arch
试编译kernel去掉nvidiaframebuffer支持,我编译把nvidia和vesa都加上,结果无论如何分辨率上不去,dmesg看了一下,kernel好像是先加载nvidiaframebufer,于是我去掉nvidiaframebuffer结果就行了。\
I810does no support smp
Unableto mount root fs on unkonwn-block(0,0)
问题6.低级问题有连个make.conf 合并一下就ok
!!!Found 2 make.conf files, using both '/etc/make.conf' and'/etc/portage/make.conf'
Calculatingdependencies... done!
默认是寻找/etc/portage/make.conf里面的内容,'把/etc/make.conf合并到/etc/portage/make.conf 里面。
问题Endtarce do_early_param内核编译有问题。
问题6需要升级升级整个系统emerge-avuD world
configfile '/etc/conf.d/xdm' needs updating.?
etc-update //升级一下配置文件
问题7建完用户后没有自己的家目录。(useradd-m user1,就是因为没有添加m这个参数导致)
localhostskel # cd /home/
localhosthome # mkdir user1
localhosthome # chown user1:user1 user1
localhosthome # cd /etc/skel/
localhostskel # cp -R .[a-z]* /home/dg/
localhostskel # ls -a /home/dg
再次登录就可以有自己的家目录了。
问题8 时间问题:
ln-sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后修改/etc/conf.d/hwclock中的clock="local"
Linux下编译工程时,有时候需要修改代码文件时间,命令行上采用find+touch可修改为当前时间。
find . -exec touch {} \;
问题9 关于emerge安装软件修改默认安装路径的问题。
指定emerge安装路径比如安装bind服务
EXTRA_ECONF="--prefix=/test"emerge -av bind
Net.eth0网络不能启动和关闭
(chroot)livecd / # /etc/init.d/net.eth0 stop
*ERROR: net.eth0 stopped by something else
Dothis;
/etc/init.d/net.eth0stop
-verify the interface is down, if its not maybe just 'ifconfig eth0down' it
/etc/init.d/net.eth0 zap /etc/init.d/net.eth0start
不能使用root进行ssh登陆
问题10 不能使用root ssh登陆,修改如下。
[root@dns~]# vim /etc/ssh/sshd_config
PermitRootLogin yes
把no改为yes,重起一下sshd就ok,为安全起见不建议修改,可以添加一个用户把用户user1加入到wheel组里面。通过user1ssh上去,然后再切换到root.
问题11重要问题没有eth1eth0 ,编译内核时候网卡驱动没有选上
interfaceeth1 does not exist ensure that you have loaded the correct kernel
DeviceDrivers --->
[*]Network device support --->
[*] Ethernet (10 or 100Mbit) --->
<*> PCI NE2000 and clones support (see help)
问题12挂载/proc和/dev 切换环境
#mount -t proc none /mnt/gentoo/proc
#mount -o bind /dev/ /mnt/gentoo/dev
切换安装环境
mount-t proc none /mnt/gentoo/proc
mount-o bind /dev /mnt/gentoo/dev
chroot/mnt/gentoo / /bin/bash
env-update&& source /etc/profile
exportPS1=”(chroot) $PS1”
问题13.Gentoo改密码
例如:/etc/passwd关于root的登记项如下:
root:hjkkjsdfjkdsf:0:0:root:/bin/bash
我们只需要将他修改成:root::0:0:root:/bin/bash,就可以了。
重新启动系统,现在的root已经没有口令了。
进入none模式可以在内核里面改的none--》dg,KernelInit=/bin/bash
问题14iptables没有raw表编辑内核设置拒绝跟踪连接。
[*]Networking support --->
Networkingoptions --->
[*]Network packet filtering framework (Netfilter) --->
IP:Netfilter Configuration -->Raw table support (required for notrack/track)
问题15ptables:No chain/target/match by that name.
Networkpacket filtering framework (Netfilter) 把防火墙相关的选项选成模块。
问题16emerge-avuND world
(see"package.use" in the portage(5) man page for more details)
#required by sys-apps/portage-2.1.11.62[-build,python3]
#required by @selected
#required by @world (argument)
在vim/etc/portage/package.use
加入sys-apps/portagepython3 build
问题17查看内存信息
dnschroot # dmidecode -t memory | grep MB
SMBIOS2.5 present.
Size:2048 MB
Size:2048 MB
问题18iptables-nvL --line-numbers
删除内核的时候显示红色表示删除绿色表示保留
emerge-Cq gentoo-sources:3.7.10-r1
dns~ # qlist -Iv oo-s //显示所有内核
app-vim/gentoo-syntax-20120109
sys-kernel/gentoo-sources-3.7.10-r1
sys-kernel/gentoo-sources-3.9.2
问题19.Dmesg-c 查看网卡是千兆还是百兆网
问题20问题查看内核支持的分区表类型
要从GPT磁盘启动,主板的芯片组必须支持UEFI,仅把GPT磁盘用作数据盘则无此限制
windows7的GPT似乎本身就是以4KB的扇区进行分区的,所以要想默认4K对齐,直接用GPT比较好.
注意:对于D版windows通过模拟BIOS激活的,最好不要轻易尝试,因为模拟BIOS激活一般是通过替换MBR代码来达到激活的效果,在GPT里面,由于不存在MBR,这种方法可能会破坏分区表,导致无法引导。
Enablethe block layer --》PartitionTypes
[*] EFI GUID Partition support添加按H可以发现帮助。
关于utf8 Securityoptions ---> Native language support-->(utf8) Default NLS Option
问题21 升级perl
checking for XML::Parser… configure: error: XML::Parser perl module is required for intltool
这样的错误。
解决办法是emerge一个 perl-cleaner,然后执行:perl-cleaner --all
把perl相关的模块和文件都检查并修正一遍。
问题22. 安装bind报错 尝试从新编译系统解决问题
# emerge --update --deep --newuse world //重新构建你的系统
然后运行Portage的depclean来移除已经安装到你的旧系统里但是在新USE标记中被废除的条件依赖关系。
警告: 运行emerge --depclean是一项危险的操作,必须小心。请反复检查要删除的包的列表里确定没有你仍然需要的包。下面这个例子里,我们添加了-p选项来depclean──只列出这些包而不删除他们。
# emerge -p --depclean //删除不需要的包
depclean完成之后,运行revdep-rebuild来重新构建那些动态链接到由可能已经删除的包提供的公共对象的程序。revdep-rebuild是gentoolkit包的一部分,不要忘了先emerge它。
#运行revdep-rebuild //重建
安装bind注意添加参数。
#vim /usr/portage/net-dns/bind/bind-9.9.2_p2.ebuild
加入这一行。 local myconf="--enable-epoll --enable-fixed-rrset"
再次安装 一下bind
出错使用如下命令
ebuild /usr/portage/net-dns/bind/bind-9.9.3_p2.ebuild manifest
问题23.网卡识别为 enp2s1,想让其变成eth0
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
使用新的网卡名字
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
# rm /etc/init.d/net.enp2s1
# rc-update del net.enp2s1 default
#rc-update add net.eth0 default
#rc-update add net.eth1 default
修改 vim /etc/conf.d/net
config_eth0="192.168.10.234/24"
config_eth0="192.168.1.234/24"
routes_eth1="default via 192.168.1.1"
问题24. iptables重启后丢失
#/var/lib/iptables $ ls
rules-save 把规则放到这里面
25.问题查看安装码包的源
#/usr/portage/distfiles ls
Archive-Tar-1.90.tar.gz git-manpages-1.8.1.5.tar.gz
Authen-SASL-2.16.tar.gz git-manpages-1.8.3.2.tar.gz
问题26. 已经安装了哪些包。
$ cat /var/lib/portage/world
app-portage/layman
dev-tcltk/expect
net-analyzer/traceroute
net-dns/bind-tools
net-dns/dnstop
net-misc/rdesktop
net-misc/sipcalc
sys-apps/xinetd
sys-process/atop
virtual/ssh
问题27.bind fix问题。
vim /usr/portage/net-dns/bind/bind-9.9.2_p2.ebuild
加入这一行。 local myconf="--enable-epoll --enable-fixed-rrset"
再次安装 一下bind
出错使用如下命令
ebuild /usr/portage/net-dns/bind/bind-9.9.3_p2.ebuild manifest
28.删除首行/行尾空格
空格:\s
行末空格:\s\+$
行首空格:^\s\+
删除行尾多个空格 : %s/\s\+$//g
删除行首多个空格 : %s/^ \s\+//g
29.gentoo LANG的问题
gentoo ~ # locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
解决方法
gentoo# locale-gen
* Generating 4 locales (this might take a while) with 1 jobs
* (1/4) Generating en_US.ISO-8859-1 ... [ ok ]
* (2/4) Generating en_US.UTF-8 ... [ ok ]
* (3/4) Generating de_DE.ISO-8859-1 ... [ ok ]
* (4/4) Generating de_DE.ISO-8859-15@euro ... [ ok ]
* Generation complete
设置为 zh_TW.UTF-8
#locale-gen --lang zh_TW.UTF-8
Generating locales...
zh_TW.UTF-8... doneGeneration complete.
grub2-install 使用
grub2-install --no-floppy /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg
29./dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
对比其他服务器,发现
crw-rw-rw- 1 root root 1, 3 Oct 17 09:43 /dev/null
文件不对,重新删除后创建,删除前在自己的虚拟机测试过了,不影响系统
rm -rf /dev/null && mknod -m 0666 /dev/null c 1 3
然后再登陆测试或者用winscp都恢复正常了。