*************************************************************************
Portage相关
*************************************************************************
使用以下命令同步更新Portage树
#emerge --sync
查看安装软件的依赖树
#emerge -pv xxx
#emerge -pvt xxx(以树的形式)
查找名字包含pdf的软件包--search (-S)
#emerge -S xxx
查找与xxx相关的软件包 --searchdesc
#emerge --searchdesc xxx
安装自己下载的package
先查看相关的依赖包 找到相应的版本号
然后
#emerge xxx
查看要从哪里下载源码
#emerge -pf xxx
只下载源代码包 不安装--fetchonly (-f)
#emerge -f xxx
从系统中删除xxx --unmerge (-C)
#emerge -C xxx
尝试强行编译安装包:
#emerge --nodeps xxx
假装删除软件看看会删除什么依赖的包:
#emerge --pretend unmerge xxx
更新系统 --update --ask (-ua)
#emerge --update --ask world
Portage树更新后,可以用emerge --update world命令来更新系统 --ask将会询问是否真的更新
执行完整更新--update --deep --newuse (-uDN)
#emerge -uDN world
模拟系统升级
#emerge -uDNpv world
查询XXX包用了什么USE
#equery uses XXX (请先 emerge gentoolkit)
*************************************************************************
gentoo服务相关
*************************************************************************
default 是 gentoo 启动用的 runlevel,类似一般系统的 runlevel 3。
往 default runlevel 里边加入 XXX 服务 (add)
#rc-update -a XXX default
从 default runlevel 里边删除 XXX 服务 (delete)
#rc-update -d XXX default
列出 default runlevel 所有的服务 (show)
#rc-update -s default
*************************************************************************
设置主机名和域名
*************************************************************************
livecd / # cd /etc
livecd etc # echo "127.0.0.1 ergal.cic.tsinghua ergal localhost" > hosts
livecd etc # sed -i -e 's/HOSTNAME.*/HOSTNAME="ergal"/' conf.d/hostname
(使用指定的主机名并检查)
livecd etc # hostname ergal
livecd etc # hostname -f
*************************************************************************
Gentoo的初始化脚本
*************************************************************************
简单总结
1 启动过程
init 进程通过/etc/inittab来决定启动的顺序和工作流程 init会执行所有/etc/runlevels/boot目录下的符号链接所指向的/etc/init.d目录下的脚本, 当/etc/runlevels/boot目录所引用的脚本都执行完毕后,将继续运行/etc/runlevels/default目录下的符号链接所指向的脚本
相关说明
在inittab有运行级别的定义
l1:S1:wait:/sbin/rc single
l2:2:wait:/sbin/rc nonetwork
l3:3:wait:/sbin/rc default
l4:4:wait:/sbin/rc default
l5:5:wait:/sbin/rc default
l6:6:wait:/sbin/rc reboot
下面的定义
si::sysinit:/sbin/rc sysinit
这是init进程将初始化交给rc 由/sbin/rc sysinit来初始化系统,/sbin/rc脚本是负责系统初始化的
在rc::bootwait:/sbin/rc boot中
rc脚本的参数(boot)和要用的/etc/runlevels的子目录是一样的。
rc 执行完了以后 init将会决定哪些虚拟终端需要被激活以及每个终端需要运行什么样的命令:
在inittab中有以下定义
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
c3:12345:respawn:/sbin/agetty 38400 tty3 linux
c4:12345:respawn:/sbin/agetty 38400 tty4 linux
c5:12345:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux
这段代码定义了当运行在某个运行级别上的时候哪些虚拟终端需要被激活以及每个终端需要运行什么样的命令
2 启动服务和调整
/etc/init.d/xxxx status 查看服务运行状态
/etc/init.d/xxxx zap 手动把信息设置为停止
/etc/init.d/xxxx ineed 查看依赖服务
/etc/init.d/xxxx needsme哪些服务需要这个服务(needsme)或者哪些服务可以使用这个服务(usesme)
rc-update add xxx default 添加服务到default 级别
rc-update del xxx default 删除服务
rc-update -v show 命令将会显示出所有已存在的初始化脚本,并列出它们在哪个运行级别中运行
增加独立的额外配置 这样做的好处是重装某个软件后不会覆盖自己的配置
gentoo的配置是在/etc/conf.d
gentoo官方文档的参考
www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
首先,你的引导程序会把你在引导程序配置文件中定义的内核镜像加载到内存中,之后它就告诉CPU可以运行内核了。当内核被加载且运行后,内核会初始化所有内核专有的结构体和任务,并开启init进程。
然后,这个进程确保所有的文件系统(在/etc/fstab中定义的)都已被挂载且能使用。接着,该进程会执行位于/etc/init.d下的一些脚本,这些脚本会启动一些你需要的服务,以使你能获得一个成功启动的系统。
最终,当所有的脚本执行完毕,init将激活终端(大多情况下只是激活虚拟终端,可以使用Alt-F1、Alt-F2等来访问),并把一个叫agetty的特殊进程附于其上。这个进程会确保你可以通过运行login从这些终端登录到你的系统中。
gentoo不会随机的执行/etc/init.d下的脚本。甚至,它不会运行/etc/init.d下所有的脚本,只会去执行/etc/runlevels 下的
init会运行所有/etc/runlevels/boot目录下的符号链接所指向的/etc/init.d目录下的脚本。通常,它会按照字母顺序执行这些脚本,但是有些脚本中含有依赖关系,意味着系统要在执行另一个脚本之后才能运行此脚本。
当/etc/runlevels/boot目录所引用的脚本都执行完毕后,init将继续运行/etc/runlevels/default目录下的符号链接所指向的脚本。同样它们会按照字母顺序执行这些脚本,除非一个脚本有依赖关系,那样的话现有次序就会被改变以使启动顺序更加合理。
当然init自己不会决定所有的启动顺序。它需要一个配置文件来指定它的工作流程。这个配置文件就是/etc/inittab。
如果你还记得我们刚刚描述的启动顺序,你会记得init首先做的是挂载所有的文件系统。这个功能其实是在/etc/inittab这个配置文件中定义好的。如下:
si::sysinit:/sbin/rc sysinit
这一行告诉init必须运行/sbin/rc sysinit来初始化系统。/sbin/rc脚本是负责系统初始化的,所以你可能会说init它本身并没做太多的事情——它只是把初始化系统任务交给了另一个进程。
接下来,init会执行所有在/etc/runlevels/boot目录下的具有符号链接的脚本。这是由下面这行定义的:
rc::bootwait:/sbin/rc boot
什么是运行级别
已经看到init使用一种数字的方式来决定需要激活的运行级别。运行级别表示你系统运行的状态,它包含了你进入或退出一个运行级别时需要执行的一组脚本(运行级别脚本或者初始化脚本)。
在Gentoo中定义了七种运行级别:三个内部运行级别和四个用户自定义运行级别。这些内部运行级别分别叫做sysinit、shutdown和reboot,它们所做的就如同像它们的名字那样:初始化系统、关闭系统和重启系统。
用户定义的运行级别都在/etc/runlevels目录下有同名的子目录:boot、default、nonetwork和single。运行级别boot会启动所有其他运行级别必须要使用到的系统服务。其余的三个运行级别的不同之处主要在于它们要启动的服务:default是用来日常工作用的;nonetwork是在无网络的情况下使用的;还有single是用户修复系统时用的。
使用初始化脚本
实际上rc进程调用的脚本都称为初始化脚本。每个在/etc/init.d下的脚本都可以在执行时带上以下参数,如:start、stop、restart、pause、zap、status、ineed、iuse、needsme、usesme或者broken。
要启动、停止或者重启一个服务(和所有依赖于它的服务),应该用参数
start
、
stop
和
restart
。
如果状态信息告诉你服务正在运行,但是你知道它实际上没有运行,这种情况下你可以使用参数zap将状态信息重设为“停止”
Gentoo的初始化系统使用依赖关系树(dependency-tree)来决定什么服务会首先被启动。因为这是个很乏味的工作,我们不想让我们的用户去手动来完成它,所以我们创建了简化运行级别和初始化脚本的管理工具(rc-update)。
使用rc-update你可以从一个运行级别中添加或删除初始化脚本。rc-update工具会自动调用/sbin/depscan.sh脚本来重新创建依赖关系树。
添加和删除服务
在Gentoo的安装过程中你已经添加初始化脚本到“default”运行级别。那时你可能还不清楚“default”是干什么的,但是现在你应该知道了。rc-update脚本需要由第二个参数来决定其行为:add、del或者是show。
要添加或删除一个初始化脚本,只需要给rc-update add或者del参数,并随后跟上初始化脚本和运行级别。如下:
代码 2.1: 从default级别中删除Postfix服务
|
# rc-update del postfix default
|
rc-update -v show命令将会显示出所有已存在的初始化脚本,并列出它们在哪个运行级别中运行:
代码 2.2: 获得初始化脚本的信息
|
# rc-update -v show
|
你也可以运行rc-update show(没有-v参数)来只查看已经启用的初始化脚本和他们的运行级别。
*************************************************************************
启动时挂载设备 文件系统
*************************************************************************
/etc/fstab
一个例子说明
/dev/sda1 /boot ext3 defaults 1 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 defaults 0 1
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
1. 需要挂载的设备或者文件系统
The first field, (fs_spec), describes the block special device or remote filesystem to be mounted.
For ordinary mounts it will hold (a link to) a block special
device node (as created by mknod(8)) for the device to be mounted,
like `/dev/cdrom' or `/dev/sdb7'. For NFS mounts one will have
<host>:<dir>, e.g., `knuth.aeb.nl:/'. For procfs, use
`proc'.
2. 没啥说的挂载点 注意swap等
The second field, (fs_file), describes the mount point for the
filesystem. For swap partitions, this field should be specified as
`none'. If the name of the mount point contains spaces these can be
escaped as `\040'.
3. 文件系统的格式
The third field,
(fs_vfstype), describes the type of the filesystem. Linux supports
lots of filesystem types, such as adfs, affs, autofs, coda,
coher-ent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs,
minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs,
sysv, tmpfs, udf, ufs,umsdos, vfat, xenix, xfs, and possibly others.
For more details, see mount(8). For the filesystems currently
supported by the running kernel, see /proc/filesystems. An
entry swap denotes a file or partition to be used for swapping, cf.
swapon(8). An entry ignore causes the line to be ignored.This is
useful to show disk partitions which are currently unused.
4. 挂载之后的访问状态
The fourth field, (fs_mntops), describes the mount options associated with the filesystem.
It is formatted as a
comma separated list of options. It contains at least the type of
mount plus any additional options appropriate to the filesystem
type. For documentation on the available options for non-nfs file
systems, see mount(8). For documentation on all nfs-specific options
have a look at nfs(5). Common for all types of file system are the
options ``noauto'' (do not mount when "mount -a" is given, e.g., at
boot time), ``user'' (allow a user to mount), and ``owner''
(allow device owner to mount), and ``comment'' (e.g., for use by
fstab-maintaining programs). The ``owner'' and ``com-ment'' options
are Linux-specific. For more details, see mount(8).
5. 提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
The fifth field,
(fs_freq), is used for these filesystems by the dump(8) command to
determine which filesystems need to be dumped. If the fifth field is
not present, a value of zero is returned and dump will assume that the
filesystem does not need to be dumped.
6. 设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0
The sixth field,
(fs_passno), is used by the fsck(8) program to determine the order
in which filesystem checks are done at reboot time. The root
filesystem should be specified with a fs_passno of 1, and other
filesystems should have a fs_passno of 2. Filesystems within a drive
will be checked sequentially, but filesystems on different drives
will be checked at the same time to utilize parallelism available in
the hardware. If the sixth field is not present or zero, a value of
zero is returned and fsck will assume that the filesystem does not need
to be checked.
分享到:
相关推荐
3. **分区与格式化**:根据需要对硬盘进行分区,并格式化用于安装Gentoo的分区(如使用ext4文件系统)。 4. **配置环境变量**:编辑`/etc/make.conf`文件来设定编译参数,例如使用`CFLAGS`和`CXXFLAGS`来指定编译器...
Gentoo推荐使用LVM(逻辑卷管理)或者Btrfs这样的高级文件系统,以提供更灵活的磁盘管理。 5. **挂载文件系统**: 挂载你的分区,通常包括根目录(/)、交换分区(/swap)以及可能的其他挂载点,如/home和/var。 6....
- **安装方式概述**:手册详细介绍了多种安装Gentoo的方法,特别强调了使用最小安装光盘进行安装的过程。这为用户提供了一个灵活的选择范围,以适应不同的硬件配置和个人偏好。 - **网络配置**: - **网络设置**...
在使用Gentoo时,你需要掌握Portage的使用: 1. **Portage入门**:了解如何更新软件包、安装新软件以及管理依赖关系。 2. **USE标记**:USE标记是Gentoo的一大特色,它控制软件包的编译选项,影响系统行为。 3. *...
### Gentoo Linux 安装与使用详解 #### 一、Gentoo Linux 安装步骤概览 **Gentoo Linux** 是一款高度可定制化的 Linux 发行版,以其强大的包管理系统 **Portage** 而闻名。对于新用户而言,安装过程可能会显得有些...
gengoo linux硬盘安装的详细文档,安装windows xp和gentoo linux双系统,无需光驱,只要将ISO文件解压到C盘根目录,C可以是NTFS分区
这一步是安装 Gentoo 的基础,确保所使用的介质能正常启动计算机。 2. **检查硬件配置** 使用 `lspci` 命令来查看系统的硬件设备配置情况,包括 CPU、硬盘、内存等。如果需要加载新硬件(如网卡),可以通过 `...
要为笔记使用Nextcloud / ownCloud获得更多功能,例如版本控制和访问已删除笔记,您可能还希望在Nextcloud / ownCloud服务器上安装QOwnNotesAPI。要从移动设备访问Nextcloud / ownCloud笔记,您可能需要获取以下应用...
1. **Portage**:Gentoo的包管理系统,类似于其他Linux发行版的APT或YUM,但Portage使用ebuild脚本从源代码编译软件,提供高度的可定制性。用户可以调整编译选项以优化性能或适应特定硬件。 2. **Stage系统**:...
Gentoo 文档日语翻译库该存储库是 Gentoo 官方文档的日语翻译存储库。我们正在这个存储库中进行翻译。本文档描述了以下项目:开始翻译翻译笔记翻译审核提交翻译翻译更新如果您发现翻译错误如果您有任何问题开始翻译...
要为笔记使用Nextcloud / ownCloud获得更多功能,例如版本控制和访问已删除笔记,您可能还希望在Nextcloud / ownCloud服务器上安装QOwnNotesAPI。要从移动设备访问Nextcloud / ownCloud笔记,您可能需要获取以下应用...
谷歌师兄的leetcode刷题笔记mrpdaemon Gentoo 覆盖 请注意,此项目不再维护。 这是我的 Gentoo 覆盖,包含以下包: 我用来维护我的 Gentoo 系统的脚本 (mrpdaemon-gentoo-scripts) 用于 CUPS 的 Brother HL-2270DW ...
MacBook Gentoo笔记内核配置文件: /usr/src/linux/.config 复制文件cd /usr/src/linux ,然后make && make modules_install && make install 。 不要生成initramfs genkernel --lvm --mdadm --install --bootloader...
标题中的“x220-gentoo-foo”可能指的是一个特定的项目或者代码库,它专注于在联想ThinkPad X220笔记本上配置Gentoo Linux操作系统,并使用i3窗口管理器。Gentoo Linux是一款高度自定制的源代码型Linux发行版,用户...
笔记这些安装说明和内核配置已为我和我的计算机(Lenovo G580)配置。 它可以为您工作,但不必这样做。 请随意遵循我的说明,但是请记住,您可能必须在内核配置时添加一些驱动程序,并在/etc/portage/make.conf使用...
LXD封装测试在干净的gentoo上使用lxd测试软件包安装LXD 我已经使用以下使用标志安装了LXD [ebuild R ~] app-emulation/lxd-4.0.1::gentoo USE="ipv6 nls"LXC与LXD的超级快速笔记命令除了有关其方法的所有技术术语外...
标题“pymol学习笔记”告诉我们,这份资料是关于如何学习和使用pymol软件的。Pymol是一款用于分子三维结构显示的开源软件,尤其适合处理生物大分子,如蛋白质的三维结构。由于其广泛的运用和重要性,在科学研究尤其...
NoteCase 又叫 Outliner(大纲),它是一个按照树状结构来组织文档内容的笔记管理程序,使用 C++ 与 Gtk+ 开发。该程序可以帮助你管理生活、学习笔记。 NoteCase 可以在 Linux/Unix 和 Windows 平台运行,采用 BSD ...
### Ubuntu Linux 实用学习笔记知识点概览 #### 一、Ubuntu简介 - **定义与适用范围**:Ubuntu是...以上内容涵盖了Ubuntu学习笔记中的关键知识点,旨在帮助初学者快速入门并深入了解Ubuntu系统的核心功能和使用技巧。
Gentoo强调自由和选择的原则,并且使用一种名为Portage的技术,允许用户根据需求打造适合自己的系统,无论是在安全性、性能,还是在作为服务器、工作站、桌面系统或嵌入式解决方案方面。 Debian是Linux社区的一个...