开始使用gentoo linux——gentoo安装笔记(下)
gentoo安装笔记(下)
上一章,已经对操作系统安装做了充分准备,并且已经从livecd(u盘系统)切换进入了gentoo安装环境中。
不过现在才是真正的开始!打起精神!这可不是在装ubuntu!
配置Portage
安装Portage快照
一个用来告诉Portage哪些软件标题可用于安装、哪些配置文件可以由管理员选择等等的文件集合。
emerge-webrsync
在这个操作中,emerge-webrsync可能会报找不到/usr/portage/位置。这是预期内的并且不用担心——这个工具将会创建这个位置。
需要一点时间,可以泡杯热coffee,等一会~
可选:更新Portage数据库
Portage数据库可以更新到最新版本
假设需要最新更新的包(gentoo protage发布的1小时以内的新包裹)
emerge --sync
选择配置文件
eselect profile list
正常作为PC机使用的话,建议使用desktop一项的,所以我选择3
eselect profile set 3
初始化选择环境
emerge --ask --update --deep --newuse @world
此过程快慢根据上面选择的profile,一般名字越长(包越多)则时间越久
第一个default/linux/amd64/13.0是最快的,带有desktop的profile都比较慢,因为要下载桌面环境,如果把kde,gnome,systemed什么的一起加进来就更加可怕了!
这个过程非常之慢,我这儿显示173包下载或更新,足够把刚刚泡的咖啡喝掉在看会ruby编程了!
好吧,他编译了一下午多,我回来了!(毕竟平时写代码编译只是一个小程序,这是编译一个系统啊)
设定时区
选择的时区是Asia/Shanghai:
echo "Asia/Shanghai" > /etc/timezone
基于/etc/timezone条目更新/etc/localtime文件。
/etc/localtime文件用于让系统的C类库知道系统在什么时区
root #emerge --config sys-libs/timezone-data
设置地区
此项工作是本地化,设置语言、编码、日期格式等等
下一步是运行locale-gen。它将生成/etc/locale.gen文件中指定的所有地区。
nano -w /etc/locale.gen
由于没有了vi,只能使用nano,ctrl-O保存,ctrl-X退出,如下添加进去,使用中文和英语
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN GBK
zh_CN.UTF-8 UTF-8
验证所选择的地区当前可用,运行locale -a
通过eselect locale set VALUE可以设定正确的地区:
eselect locale set 8
现在重新加载环境:
env-update && source /etc/profile && export PS1="(chroot) $PS1"
选择一个合适的内核并使用emerge来安装它。
emerge --ask sys-kernel/gentoo-sources
此命令会自动检测当前环境依赖,找到合适的linux kernel,内核是linux系统发行版的核心
编译和安装kernel
编译gentoo的linux内核有两种方式:
- 手动配置并生成内核。
- 一个叫作genkernel的工具用来自动化生成并安装Linux内核。
第一个是纯手工编译,需要对硬件有一定了解,缺少了模块都可能会导致设备无法正常工作
所以我使用第二种genkernel方案,虽然这不是官方推荐,也不利于学习linux内核编译,但是,之前我手动编译无论如何都找不到wlan设备,导致笔记本的无线无法正常使用,这一次,我决定使用自动化编译
nano -w /etc/fstab
添加如下一行:
/dev/sda2 /boot ext2 defaults 0 2
其他地方都不要动!
下载安装genkernel
emerge --ask sys-kernel/genkernel
编译并安装
genkernel all
注意:这将又是一个漫长等待的时间,而且没有任何屏幕输出的编译等过程,这一次我睡了一觉,明早继续
早上好,看看电脑,已经编译好了
结束后输入
ls /boot/kernel* /boot/initramfs*
显示如下
(chroot)livecd / # ls /boot/kernel* /boot/initramfs*
/boot/initramfs-genkernel-x86_64-4.9.16-gentoo
/boot/kernel-genkernel-x86_64-4.9.16-gentoo
表明这一觉,电脑已经自动完成了内核模块的编译和安装
安装固件
emerge --ask sys-kernel/linux-firmware
一些驱动需要先在系统上安装附加的固件才能工作。这经常用于网络接口,特别是无线网络接口。非常多的固件都打包在sys-kernel/linux-firmware里
配置系统
fstab
在Linux系统下,系统所用到的所有分区都必须在 /etc/fstab文件中指明。这个文件包含了这些分区的挂载点(在系统目录树中的位置)、挂载方法和特殊挂载选项(是否自动挂载,是否某个用户可以挂载它等)。
建议在这之前,先安装一个vim编辑器(如果你是vim党),这样会使得后面编辑配置文件更加快速,你不喜欢vim,可以继续使用nano编辑器或者安转emacs
安装vim:
emerge app-editors/vim
安装是通过源码编译的,需要稍作等待......
好了,有vim用了
vim /etc/fstab
如果和我一样,分区有/,/home,/boot分区,就按照以下配置即可
提示:
- 前三项都能肯定,从第四个开始,noatime性能最高,禁用了“文件操作记录时间戳”
- 后面除了/分区为0 1,其他都要用0 2即可
主机名、域名信息
vim /etc/conf.d/hostname
如果你需要一个域名,在/etc/conf.d/net中设定(文件需要创建)
我作为桌面用户,不需要,所以还要修改下面文件:
如果你选择不设定域名,你可以去掉登录界面上的这条信息:“This is hostname.(none)”。你只需要修改/etc/issue ,把字符串.\O从该文件里删掉即可。
启用PCMCIA
笔记本电脑有个pci扩展坞,如果想启用就安装此项,如果不需要,就跳过
PCMCIA用户首先应该安装sys-apps/pcmciautils软件包。
emerge --ask sys-apps/pcmciautils
root密码
passwd
输入新的密码
安装系统工具
系统日志工具
安装系统日志工具,选择初学者专用的sysklogd
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
cron守护进程
emerge --ask sys-process/cronie
rc-update add cronie default
文件索引 locate
可以使用locate命令搜索文件
emerge --ask sys-apps/mlocate
远程访问 ssh
自动开启远程服务
rc-update add sshd default
安装网络工具
这些操作非常重要,这决定了你之后能不能连接到网络,如果不能连接互联网,就连emerge命令都没用,到时候会发现许多的命令没有,包括网络连接命令!而没有网络,emerge又不能把它们下载下来,不能emerge安装网络工具,又不好连上网,这就进入了一个恶性循环,虽然还有别的办法比如有线网络,路由器等等,还是先把这些工具都装上,方便我们进入系统后进一步配置和emerge更多的包!
安装dhcpd客户端
emerge --ask net-misc/dhcpcd
安装PPPoE客户端
emerge --ask net-dialup/ppp
安装无线网连接工具
对于笔记本电脑这些非常重要(否则在命令行中无法连接wifi)!!!官方没有特别说明
试着使用iwconfig,你会发现没有这条命令!说明这个程序没有安装,与此同时iw命令也没有!
emerge --ask net-wireless/wireless-tools
emerge --ask net-wireless/iw
安装wpa支持,让gentoo可连接wpa路由器,就像之前我们livecd安装gentoo时
emerge --ask net-wireless/wpa_supplicant
配置引导
linux引导
linux常用的引导有三个:grub(1-2),LILO,efibootmgr
选择grub2即可,相对传统而且灵活
LILO之前在slackware linux上我使用过
efibootmgr是比较新的专门用于引导uefi系统,而grub2亦可做到
安装grub2
emerge --ask --verbose sys-boot/grub:2
将grub安装到sda设备上,就是我们的硬盘。如果是多块硬盘设备,安装到系统硬盘(主硬盘)
grub-install /dev/sda
要生成最终的GRUB2配置,运行grub-mkconfig命令:
grub-mkconfig -o /boot/grub/grub.cfg
开始使用gentoo linux
到达此处,gentoo的安装已经结束!
输入:
reboot
重新载入系统(以root身份登录)
连上wifi:按照上一章wpa_supplicant或者iw,iwconfig连接wifi的用法即可
连上之后会自动设置ip,如果没有,使用以下语句:
dhcpcd
dhcp就是动态获取ip地址
ping一下网络,如果已经进入互联网
开始emerge,就像ubuntu的apt-get!
现在开始使用gentoo linux吧!
开始使用gentoo linux——gentoo安装笔记(下)的更多相关文章
- 开始使用gentoo linux——gentoo安装笔记(上)
gentoo linux安装笔记(上) 家里有一台破旧的富士通笔记本,08年至今质量依然杠杠的,但是性能已经不能和现代超极本同日而语,装上了ubuntu更是不敢恭维,别提gnome和kde的linux ...
- Linux:Gentoo系统的安装笔记(三)
这期笔记将是gentoo安装的最后一期了,虽然已经配置内核了,但是也要完成剩下的安装步骤,这离安装完成已经不远了,继续加油!!! 如果中断了安装,请看第二期的笔记进行恢复安装,但请重新编译一次内核,否 ...
- Linux:Gentoo系统的安装笔记(一)
这次我选择安装Gentoo,用来做我学习的笔记.这次我是使用虚拟机安装Gentoo,一是方便操作,二是可以看着手册,一边看一边操作,严格按照手册上的步骤执行,一般是不会出现问题的. 查看手册最好学会看 ...
- Linux:Gentoo系统的安装笔记(四)
本来以为结束,谁知离正常的系统还是比较远,不过不放弃,这期的笔记我敢肯定是最后一期了,写了那么多我也觉得烦,被gentoo折磨烦了. 安装KDE桌面 选择正确的配置文件 先获取root权限来安装桌面环 ...
- Linux:Gentoo系统的安装笔记(二)
这期笔记继续安装Gentoo,上期我们已经到了可以进入新环境了,这意味着就是将原来的安装CD或其它介质改为硬盘上安装系统了,话不多说,马上开始! 恢复安装 由于我已经中断了安装,对于已经可以进入新环境 ...
- CENTOS6 下MATLAB2014b的安装和破解(Matlab_R2014b linux版 安装笔记)
参考:http://www.jianshu.com/p/f0cefc737dda ①在下载matlab linux版.iso, ②在windows下用ULTRAISO软件提取 ③用crack中的ins ...
- 轻量级linux CRUX安装笔记
感谢hrdd的分享,原文出处:http://wxdhrdd.blog.163.com/blog/static/120500564200952592240867/ 以下是对原文进行补充 crux的安装: ...
- Gentoo Linux 学习笔记1
Gentoo Linux是一个基于portage进行包管理的Linux发行版,最早版本始于2002年.其官方官网为http://www.gentoo.org 目前,Gentoo Linux已 ...
- Linux菜鸟起飞之路【一】基本知识与Linux的安装
一.操作系统基本常识 1.操作系统的定义:操作系统是用来协调.管理和控制计算机硬件与软件资源的系统程序,介于硬件与应用程序之间. 2.操作系统内核的定义:操作系统内核是一个管理和控制程序,负责管理计算 ...
随机推荐
- HTML5初步了解
一.使用HTML5的十大原因 你难道还没有考虑使用HTML5? 当然我猜想你可能有自己的原因:它现在还没有被广泛的支持,在IE中不好使,或者你就是喜欢写比较严格的XHTML代码.HTML5是w ...
- SignalR指定用户推送消息
一.首先,在MVC项目中安装SingalR包(SingalR2.0需要.net4.5以上,VS2010可以安装1.1.3版本,本例为VS2010+SignalR1.1.3). 打开工具-NuGet程序 ...
- go-common-pool设计原理分析
common-pool: 对于一些对象的频繁创建会带来很大的系统开销,并且需要对对象数量进行控制来降低资源消耗,比如数据库连接,线程等 common-pool采用了缓存思想来解决这个问题,预先把一些对 ...
- RAC OCR盘故障导致的集群重启恢复
一.事故说明 最近出现了一次OCR盘的故障导致Oracle集群件宕机的事故,后以独占模式启动集群,并使用ocr备份恢复了OCR文件以及重新设置了vote disk,然后关闭集群,重启成功. 因此在此处 ...
- cuda学习笔记——deviceQuery
main(int argc, char **argv):argc是参数个数,**argv具体的参数,第0个是程序全名 cudaError_t类型:记录cuda错误,值为cudaSuccess则正确执行 ...
- iOS开发之Copy & MutableCopy及深复制 & 浅复制
1.使用copy或mutableCopy方法可以创建一个对象的副本. copy: (1)需要实现NSCoppying协议 (2)创建的是不可变副本(如NSString.NSArray.NSDictio ...
- [Python]获取子线程异常信息
起因 今天在写东西的时候,用到了多线程.遇到了个问题: 子线程的异常,在父线程中无法捕获. 解决 问题代码 问题代码示例代码如下: import threading class SampleThrea ...
- 自己写的一个 java swing 的闹钟
上一周新入职,把代码down下来之后,领导和我讲了一些大概的业务以及代码流程(领导是技术出身),领导让我自己先看看代码,然后我看了两天,觉得已经完全可以接任务了,但是领导却迟迟没有分配任务给我,虽然他 ...
- 手机自动化测试:appium源码分析之bootstrap九
手机自动化测试:appium源码分析之bootstrap九 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣, ...
- 【Ubuntu】您没有查看“sf_VirtualDisk”的内容所需的权限。
原文链接:http://www.crifan.com/can_not_access_share_folder_in_ubuntu_virtualbox/ [问题] 之前已经搞定可以自动共享文件夹了: ...