[步骤] MacBook Air (2017) openSUSE Leap 15.1 的安装

硬件准备:

制作一个 openSUSE Leap 15.1 安装 U 盘, openSUSE Leap 15.1 系统景象下载地址:

https://www.opensuse.org/

软件准备:

在第三方 openSUSE Leap 15.1 软件源上下载无线网卡驱动 broadcom-wl 和无线网卡驱动的依赖软件 broadcom-wl-kmp:

https://mirrors.aliyun.com/packman/openSUSE_Leap_15.1/Essentials/x86_64/

正文:

步骤一:在 MacBook Air(2017)上安装 openSUSE Leap 15.1 的前期工作

1.1 将 openSUSE 的安装 U 盘插在 MacBook Air(2017)上

(步骤略)

(注意:U 盘需要是 ufi 模式)

1.2 在 MacBook Air(2017)上插入一根无驱动版 Linux 可识别的网线转 usb 网卡,并连接互联网

(步骤略)

1.3 按 MacBook Air(2017)的开机键后立刻按住 option 键

(步骤略)

1.4 选择从 U 盘进入系统

(步骤略)

步骤二:在 MacBook Air(2017)上安装 openSUSE Leap 15.1版本的 Linux 操作系统

2.1 进入 U 盘界面后选择 “Installation” 并回车

(图:1)

2.2 直接点击 “Next”

(图:2)

2.3 当出现 “Activate online repositories now?” 时直接点击 “No”

(图:3)

2.4 选择 “Server” 并点击 “Next”

(图:4)

2.5 点击 “Guided Setup”

(图:5)

2.6 不设置硬盘密码,直接点击 “Next”

(图:6)

2.7 按图:7 对硬盘进行设置

(图:7)

2.8 点击 “Expert Partitioner” 下的 “Start with Current Proposal”

(图:8)

2.9 按图:9 对硬盘进行分区并点击 “Accept”

(图:9)


补充:
1) 要分出一部分硬盘空间用作系统启动
2) 系统分区不设置硬盘加密否则系统开机时会需要输入两次硬盘加密密码
3) 数据分区可以设置硬盘加密
4) 交换分区和内存设置的大小相同
5) 在左侧选择 “Hard Disks”,再在右侧选择对应的分区,再点击 “Delete” 可以将对应的分区删除
6) 在左侧选择 “Hard Disks”,再在右侧选择对应的硬盘,再点击 “Partitions” 可以创建、删除和修改分区

2.10 点击 “Next”

(图:10)

2.11 点击对应的地区选择对应的日期并点击 “Next”

(图:11)

2.12 选择 “Skip User Creation” 并点击 “Next”

(图:12)

2.13 给 root 用户设置密码并点击 “Next”

(图:13)

2.14 按图:14 对即将安装的系统进行设置并点击 “Install”

(图:14)


补充:
1) 在 “Security” 下开启 “Firewall”
2) 在 “Security” 下关闭 “SSH service”
3) 在 “Security” 下锁住 “SSH port”
4) 在 “Network Configuration” 下使用 “NetworkManager”

2.15 此时系统便开始安装,等待系统安装完成

(步骤略)

步骤三:对 openSUSE Leap 15.1 操作系统进行配置

3.1 系统安装完成后使用 root 用户登录系统

(图:15)

3.2 修改电脑名称

# hostnamectl set-hostname linux

3.3 安装无线网卡驱动

3.3.1 安装无线网卡驱动依赖包
# zypper in broadcom-wl-kmp-default-6.30.223.271_k4.12.14_lp151.28.36-pm151.11.61.x86_64.rpm
3.3.2 安装无线网卡驱动
# zypper in broadcom-wl-6.30.223.271-pm151.11.61.x86_64.rpm

3.4 使用 openSUSE Leap 15.1 官方的软件源

3.4.1 进入 yast

# yast

3.4.2 选择 “Software” 下的 “Software Repositoies” 并回车
(图:16)
3.4.3 按图:17 设置系统软件源,之后选择 OK 并回车
(图:17)


补充:
1) Enabled “Main Repository”
2) Enabled “Main Update Repository”
3) Enabled “Non-OSS Repository”
4) Enabled “Update Repository(Non-Oss)”
5) 确保其他的软件源没有被 Enabled

3.4.4 选择 “Quit” 并回车
(图:18)

3.5 给系统安装最新的补丁

# zypper -n update

3.6 安装中文包

3.6.1 进入 yast
# yast
3.6.2 选择 “System” 下的 “Language” 并回车
(图:19)
3.6.3 在 “Secondary Languages” 下选择 “Simplified Chinese” ,再选择 “OK” 并回车
(图:20)
3.6.4 选择 “Quit” 并回车
(图:21)

3.7 让电脑支持 exfat 格式的 U 盘

# zypper -n install fuse-exfat exfat-utils

3.8 安装虚拟机环境和管理软件

# zypper in -t pattern kvm_server
# zypper in -t pattern kvm_tools

3.9 安装图形化桌面

3.9.1 安装 Gnome 图形桌面
# zypper -n in -t pattern gnome
3.9.2 将系统默认的图形桌面设置为 Gnome 图形桌面
# zypper -n in -t pattern gnome
......
DISPLAYMANAGER_XSERVER="Xorg"

修改为:

......
DISPLAYMANAGER_XSERVER="gdm"
3.9.3 设置系统开机进入图形桌面
# systemctl set-default graphical.target
3.9.4 立刻进入图形桌面
# init 5
3.9.5 输入 root 用户
(图:22)
3.9.6 输入 root 用户的密码
(图:23)
3.9.7 此时便进入图形桌面
(图:24)

3.10 设置中文输入法

3.10.1 点击左上角的 “Activites” 再点击 “Settings”
(图:25)
3.10.2 点击 “Region & Language”
(图:26)
3.10.3 点击 “Input Sources” 下面的 “+” 将 “English(US)” 换成 “Chinese (Intelligent Pinyin)”
(图:27)
(图:28)
(图:29)
(图:30)
3.10.4 点击右上角的 “×” 以退出此界面

(步骤略)

3.11 添加新用户

3.11.1 点击右上角 “root” 下的 “Account Settings”
(图:31)
3.11.2 点击右上角的 “Add User…”
(图:32)
3.11.3 按图:32 设置用户和用户密码并点击 “Add”
(图:33)


补充:
1) 设置 “Full Name”
2) 设置 “Username”
3) 选择 “Set a password now”
4) 设置 “Password”

3.11.4 关闭此界面
(图:34)

3.12 此时 openSUSE 操作系统配置完成

补充一:使用 VPN 的方法

# sslocal -s <server IP address> -p <server port> -l <local port> -k <server VPN password> -t 600 -m <server VPN encryption method>


补充:
1) 服务器的 IP 地址、服务器的端口号、服务器的 VPN 密码和服务器的 VPN 加密方法由服务端设置
2) 本地端口号可自行设置

(注意:这里的“本地端口号”要与刚刚在 /etc/proxychains.conf 里设置的 “socks5 127.0.0.1 1000” 中的 “1000” 一致)


# proxychains4 <application which need use VPN>

补充二:使用虚拟机环境和管理器的方法

2.1 启用虚拟机环境

# systemctl start libvirtd

2.2 启动虚拟机管理器

# virt-manager 

[步骤] KVM 虚拟机模板的创建 (CentOS Linux 8 版)

注意:

在创建 KVM 虚拟机之前要先安装 KVM 并创建 KVM 虚拟网络

软件准备:

在 CentOS 官网上下载安装系统所需要的镜像:

https://centos.org/download/

正文:

步骤一:理解创建 KVM 虚拟机模板的目的

主要用于批量克隆出新的 KVM 机器,节约创建新虚拟机的时间

步骤二:为这个虚拟机创建硬盘文件

2.1 创建硬盘文件

(只在真机上执行以下步骤)

# qemu-img create -f qcow2 /var/lib/libvirt/images/template_centos_8_10g.qcow2 10G

(补充:这里以创建 10G 大小的 template_centos_8_10g.qcow2 硬盘文件为例)

2.2 确认硬盘文件已创建

(只在真机上执行以下步骤)

# ls /var/lib/libvirt/images/ | grep template_centos_8_10g.qcow2

(补充:这里以确认 template_centos_8_10g.qcow2 硬盘文件为例)

步骤三:使用 KVM 和刚刚创建的硬盘文件新安装一台虚拟机

3.1 启动 KVM 的 virt-manager

(只在真机上执行以下步骤)

# virt-manager

3.2 在 virt-manager 上的左上角点击文件之后点击 “新建虚拟机”

(只在真机上执行以下步骤)

(步骤略)

3.2.1 选择以本地安装介质的方式安装系统

(只在真机上执行以下步骤)

(图:1)
3.2.2 选择安装系统的系统镜像

(只在真机上执行以下步骤)

(图:2)

(补充:这里以使用 CentOS-8-x86_64-1905-dvd1.iso 系统镜像为例)

3.2.3 设置内存大小和 CPU 核心数

(只在真机上执行以下步骤)

(图:3)

(补充:这里以设置 2048 MiB 内容和 2 核 CPU 为例)

3.2.4 选择用刚刚创建的硬盘文件来安装系统

(只在真机上执行以下步骤)

(图:4)

(补充:这里以使用 template_centos_8_10g.qcow2 硬盘文件为例)

3.2.5 给虚拟机命名并选择虚拟网络

(只在真机上执行以下步骤)

(注意:虚拟网络必须提前创建好)

(图:5)

(补充:这里以将虚拟机命名为 template_centos_8_10g 并使用 vlan001 网络为例)

3.2.6 开始安装系统

(只在真机上执行以下步骤)

(图:6)
3.2.7 选择系统语言

(只在真机上执行以下步骤)

(图:7)
3.2.8 之后进行系统配置界面

(只在真机上执行以下步骤)

需要手动配置的地方有三个:
1) “INSTALLATION DESTINATION”
2) “KDUMP”
3) “SOFTWARE SELECTION”
分别点击以后就可以配置了

3.2.8.1 通过 “INSTALLATION DESTINATION” 对硬盘进行分区

(只在真机上执行以下步骤)

(补充:完成后点击左上角的 “DONE”)

(注意:只分一个分区,只设置一个挂载点挂载到根,使用标准硬盘类型,硬盘格式设置为 XFS)

(图:8)
(图:9)
3.2.8.2 取消 “KDUMP”

(只在真机上执行以下步骤)

(补充:完成后点击左上角的 “DONE”)

(图:10)
3.2.8.3 选择最小化安装系统

(只在真机上执行以下步骤)

(补充:完成后点击左上角的 “DONE”)

(图:11)
3.2.9 之后点击右下角的 “Begin installation”

(只在真机上执行以下步骤)

(图:12)
3.2.10 在安装的过程中设置 root 密码,安装完成后重启

(只在真机上执行以下步骤)

(图:13)
3.2.11 在安装系统的过程中需要注意的内容总结

(只在真机上执行以下步骤)

1) 一定要使用刚刚创建的 /var/lib/libvirt/images/template_centos_8_10g.qcow2 作为安装虚拟机的硬件文件
2) 虚拟机网络 “vlan001” 要提前创建好
3) 只分一个分区,只设置一个挂载点挂载到根,使用标准硬盘,硬盘格式是 XFS
4) 取消 “KDUMP”
5) 选择最小化安装系统

步骤四:进入新创建虚拟机修改配置

4.1 修改网卡个性化设置

4.1.1 修改网卡配置文件

(只在虚拟机上执行以下步骤)

# vi /etc/sysconfig/network-scripts/ifcfg-ens3

将全部内容修改如下:

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens3
DEVICE=ens3
ONBOOT=yes
4.1.2 使修改的网卡配置生效

(只在虚拟机上执行以下步骤)

# reboot

4.2 禁用 SELinux

(只在虚拟机上执行以下步骤)

# vi /etc/selinux/config

将全部内容修改如下:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

4.3 禁用空路由

(只在虚拟机上执行以下步骤)

# vi /etc/sysconfig/network

将全部内容修改如下:

# Created by anaconda
NOZEROCONF="yes"

4.4 添加 Console 配置

4.4.1 修改 grub 内核配置文件

(只在虚拟机上执行以下步骤)

# vi /etc/default/grub

将全部内容修改如下:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --unit=1 --speed=115200"
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=tty0 console=ttyS0,115200n8"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
GRUB_DISABLE_RECOVERY="true"
4.4.2 使修改的 grub 内核配置生效

(只在虚拟机上执行以下步骤)

# grub2-mkconfig -o grub

4.5 将系统自动挂载的硬盘从使用 UUID 换成硬件路径

4.5.1 显示根分区的 UUID

(只在虚拟机上执行以下步骤)

# blkid
/dev/sda1: UUID="e76ed189-6d0f-49d5-8586-c5aae4bdc9b5" TYPE="xfs" PARTUUID="3d8377ef-01"

(补充:这里的 UUID 是: e76ed189-6d0f-49d5-8586-c5aae4bdc9b5)

4.5.2 在自动挂载文件里将根分区的 UUID 换成硬件路径

(只在虚拟机上执行以下步骤)

# vi /etc/fstab

将以下内容:

......
UUID=e76ed189-6d0f-49d5-8586-c5aae4bdc9b5 /                   xfs     defaults        0 0

(补充:这里的 UUID 是: e76ed189-6d0f-49d5-8586-c5aae4bdc9b5)

修改为:

/dev/sda1 /                   xfs     defaults        0 0

4.6 删除不用的程序

(只在虚拟机上执行以下步骤)

# yum -y remove firewalld-* python-firewall

4.7 配置虚拟系统的 yum 源

4.7.1 备份旧 yum 源
4.7.1.1 创建备份目录

(只在虚拟机上执行以下步骤)

# mkdir /etc/yum.repos.d/backup
4.7.1.2 备份旧 yum 源

(只在虚拟机上执行以下步骤)

# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
4.7.2 创建新的 yum 源文件

(只在虚拟机上执行以下步骤)

# vi /etc/yum.repos.d/lan.repo

创建以下内容:

[CentOS8BaseOS]
name=CentOS8BaseOS
baseurl=http://192.168.100.254/CentOS8/BaseOS/
enabled=1
gpgcheck=0

[CentOS8AppStream]
name=CentOS8AppStream
baseurl=http://192.168.100.254/CentOS8/AppStream/
enabled=1
gpgcheck=0

(注意:http://192.168.1.250/centos8/ 需要根据真实环境的情况进行更改)

4.7.3 删除旧的 yum 源数据

(只在虚拟机上执行以下步骤)

# yum clean all
4.7.4 刷新新的 yum 源

(只在虚拟机上执行以下步骤)

# yum repolist

4.8 对虚拟系统进行升级

(只在虚拟机上执行以下步骤)

# yum -y update

4.9 进行分区扩展

4.9.1 安装分区扩展软件

(只在虚拟机上执行以下步骤)

# yum install -y cloud-utils-growpart
4.9.2 给开机自启配置文件相应的权限

(只在虚拟机上执行以下步骤)

# chmod 755 /etc/rc.local
4.9.3 设置开机自动扩容根目录

(只在虚拟机上执行以下步骤)

# vi /etc/rc.local

添加以下内容:

......
/usr/bin/growpart /dev/sda1
/usr/sbin/xfs_growfs /

4.10 修改虚拟机系统的名称

(只在虚拟机上执行以下步骤)

# vi /etc/hostname

将全部内容修改如下:

template_centos_8_10g

4.11 启用 serial 服务实现通过 virsh console 命令控制虚拟机

(只在虚拟机上执行以下步骤)

# systemctl start serial-getty@ttyS0
# systemctl enable serial-getty@ttyS0

4.12 清除虚拟系统的历史命令

(只在虚拟机上执行以下步骤)

# history -c

4.13 关闭虚拟机

(只在虚拟机上执行以下步骤)

# poweroff

步骤五:在真机上对虚拟机进行清理优化

(只在真机上执行以下步骤)

# sudo virt-sysprep -d template_centos_8_10g

(补充:这里以清理 template_centos_8_10g 虚拟机为例)


注意:如果此命令不存在
1) CentOS 系统的话需要安装 libguestfs-tools
2) openSUSE 系统的话需要安装 guestfs-tools

步骤六:此时就可以将此虚拟机的硬件文件作为模板进行批量克隆虚拟机了

(只在真机上执行以下步骤)

[步骤] CentOS Linux DNF 的使用 (通过阿里源实现)

内容一:DNF 简介

1.1 DNF 软件简介

1) 从 CentOS8&RHEL8 开始默认使用 dnf 管理软件和补丁安装
2) dnf 也是 yum v4
3) dnf 的命令参数和 yum 一样
4) dnf 软件源的配置方法和 yum 一样

1.2 DNF 软件源简介

1) BaseOS 系统和基础的软件包
2) AppStream 其余所有官方的软件包

内容二:DNF 软件源的配置案例

2.1 删除原有的软件源配置文件

# rm /etc/yum.repos.d/*.repo

2.2 配置 AppStream 库

# vim /etc/yum.repos.d/CentOS-AppStream.repo

创建以下内容:

[AppStream]
name=CentOS-$releasever - AppStream
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

2.3 配置 Base 库

# vim /etc/yum.repos.d/CentOS-Base.repo

创建以下内容:

[BaseOS]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

2.4 配置 Epel 库

# vim /etc/yum.repos.d/CentOS-Epel.repo

创建以下内容:

[epel]
name=CentOS-$releasever - Epel
baseurl=http://mirrors.aliyun.com/epel/8/Everything/$basearch
enabled=1
gpgcheck=0

2.5 配置 Media 库

# vim /etc/yum.repos.d/CentOS-Media.repo

创建以下内容:

[c8-media-BaseOS]
name=CentOS-BaseOS-$releasever - Media
baseurl=file:///media/CentOS/BaseOS/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[c8-media-AppStream]
name=CentOS-AppStream-$releasever - Media
baseurl=file:///media/CentOS/AppStream/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

2.6 清除 DNF 缓存

# dnf clean all

2.7 刷新并列出 DNF 软件源列表

# dnf repolist

[内容] CentOS Linux & RHEL YUM 的使用 (让某一个软件不被更新)

内容一:通过命令实现更新某一个软件(补丁)包以外其他所有软件(补丁)包的方法

# yum -x httpd* updaten

(补充:这里以更新除了名字以 httpd 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

或者:

# yum --exclude=kernel* update

(补充:这里以更新除了名字以 kernel 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

内容二:通过配置文件实现更新某一个软件(补丁)包以外其他所有软件(补丁)包的方法

2.1 修改 YUM 的配置文件

# vim /etc/yum.conf

添加以下内容:

......
exlude=mysql* kernel*

(补充:多个不需要升级的软件可以用空格隔开)

2.2 使用 YUM

# yum update


注意:
1) 这种方法是永久生效
2) 这个文件可能是位于 /etc/yum.conf 中,也可能是位于 /etc/yum/yum.conf

[内容] Linux 系统信息的显示 (内核和系统版本)

内容一:系统环境要求

服务器系统要配置好可用的软件源

内容二:显示内核信息

2.1 方法一

# cat /proc/version

2.2 方法二

# uname -a 

内容三:显示版本信息

3.1 方法一

# lsb_release -a


补充:
1) 如果系统没有 lsb_release 命令则可以单独安装一个
2) CentOS & RHEL 安装 lsb_release 命令的方法:

# yum -y install redhat-lsb-core

3) openSUSE & SUSE 安装 lsb_release 命令的方法:

# zypper -n in lsb-release

3.2 方法二

# cat /etc/*release*

3.3 方法三

# cat /etc/issue