分类 gentoo 下的文章

在常规的网络环境中,大量使用DHCP,比如我们家用的路由器,办公网络的无限AP,我们在这样的网络环境中,仅需将网卡配置为动态获取IP地址即可。而在生产环境,我们需要将IP地址分配到特定的资源,以便让环境的使用保持固定,这样我们就需要配置服务器的固定IP地址。因为Windows环境基于图形操作相对较简单,这里我们介绍下 Linux 各个发行版本的网卡配置流程。

实验环境准备了一台虚拟机,有两个网卡enp0s3/enp0s8, 这里我们选择 enp0s8 作为我们的实验网卡来操作, 在配置网卡之前, 我们还要知道网络的一些信息,我这里的网络网段是 192.168.56.0/24, 可分配的IP地址范围为 192.168.56.2~192.168.56.254, 去掉头尾网关地址和广播地址, 网络的掩码地址为 255.255.255.0, 网关为 192.168.56.1, 我们从可用IP范围中选择 192.168.56.10 作为我们的虚拟机的网卡 IP 地址, 目标配置的网卡为 enp0s8.

REHL/CentOS

REHL/CentOS 的网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s8, 该文件如果不存在, 创建该文件即可.

- 阅读剩余部分 -

维基百科 Filesystem Hierarchy Standard 有一段介绍 /run 和 /var/run 目录的说明

Modern Linux distributions include a /run directory as a temporary filesystem (tmpfs) which stores volatile runtime data, following the FHS version 3.0. According to the FHS version 2.3, such data were stored in /var/run but this was a problem in some cases because this directory is not always available at early boot. As a result, these programs have had to resort to trickery, such as using /dev/.udev, /dev/.mdadm, /dev/.systemd or /dev/.mount directories, even though the device directory isn't intended for such data.[23] Among other advantages, this makes the system easier to use normally with the root filesystem mounted read-only. For example, below are the changes Debian made in its 2013 Wheezy release:[24]

/run 目录是一个临时文件系统, 存储是启动以来的信息.当系统重启时,这个目录下的文件应该被删掉或清除.如果你的系统上有/var/run目录,应该让它指向run.

- 阅读剩余部分 -

准确的计时已成为现代软件部署的关键组成部分。无论是确保以正确的顺序记录日志还是正确应用数据库更新,不同步的时间都可能导致错误,数据损坏和其他难以调试的问题。

最新基于systemd的发行版本都有内置的时间同步功能,由systemd-timesyncd服务接管。下面是一些相关的操作,帮助我们快速解决时间同步问题。

设置时区(timezone)

通过date命令我们可以快速查看服务器的时间信息,这里现实的是UTC(Coordinated Universal Time)时间,当您的基础架构跨越多个时区时,一致地使用UTC时间可以减少系统交互之间的混乱。

date

Tue Sep  4 17:51:49 UTC 2018

- 阅读剩余部分 -

我个人电脑使用的是Gentoo Linux, 其他Linux发行版本同样适用下面的方法.

在我们开始备份之前,我们需要对备份的环境做一些说明,开源社区一般都建议将Linux系统做如下分区:

  • /boot 使用独立分区也可以不分区(分区的好处是根分区有问题的话, 内核相关的启动代码不会丢失)
  • / 根分区使用独立分区
  • /opt 使用独立分区
  • /home 使用独立分区
  • /var使用独立分区

使用社区建议能最大限度保存你环境, 做好备份的话, 能很快恢复系统, 即使硬盘有坏道的情况下.

- 阅读剩余部分 -

很长时间没有升级Gentoo Linux了, 手痒执行了一次全系统更新, 发现比以前的升级编译的时间长了非常多.

看了下log, 花时间最多的地方在gcc/mesa/llvm这三个包, 顺带研究了下gcc/llvm的关系,又使用equery 检查了下llvm包的依赖关系, 整个系统只有mesa一个包直接依赖llvm,对于个人用户, 建议还是果断将 -llvm use 标记添加到/etc/portage/make.conf, 减少升级编译的时间.除非你的工作确实需要llvm.以下是我优化后的mesa包的use标记列表:

下面是我的/etc/portage/make.conf中的USE变量配置的内容,我比较喜欢mate的简单,所以qt/kde等等都被移除了.

USE="${USE} systemd -samba ipv6 -cups -qt4 -ldap -gnome -kde jpeg jpeg2k tk -llvm"

- 阅读剩余部分 -

有时候我们想使用下远端的Linux环境的图形工具,这时候就需要SSH的 X11 Forward功能了, 开启该功能之前需要安装相关软件.

yum -y install ssh xauth xorg

或者

apt -y install ssh xauth xorg

接下来需要配置下 ssh server 文件 /etc/ssh/sshd_config, 开启 X11Forwarding 选项.

X11Forwarding yes

- 阅读剩余部分 -

我们虚拟机之前的网卡配置是交给 init的 networking 服务来管理的, 具体配置不同系统系统可能不一样。 比如 Debian/Ubuntu系列操作系统配置在 /etc/network/interfaces文件中, 而Redhat/CentOS系列操作系统配置在 /etc/sysconfig/network-scripts/ifcfg-XXX 网卡配置中。

但是如果我们希望所有网卡通过 DHCP 动态获取IP地址, 那我们就需要在对应的网卡配置中, 配置动态获取功能。 例如 Ubuntu

# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

- 阅读剩余部分 -