Oracle Lab – CentOS 7.9 Installation
1.安装需要的软件包
1.1.VMware软件
VMware-workstation-full-15.5.2-15785246.exe
1.2.CentOS
CentOS 7.9
CentOS-7-x86_64-DVD-2009.iso
1.2.Oracle软件包
Database Software 19.3
LINUX.X64_193000_db_home.zip
kmod-oracleasm-2.0.8-26.el7.x86_64.rpm
oracleasmlib-2.0.12-1.el7.x86_64.rpm
oracleasm-support-2.1.11-2.el7.x86_64.rpm
1.3.XMing and Putty
Xming-6-9-0-31-setup.exe
putty-64bit-0.70-installer.msi
1.4.rlwrap工具
rlwrap-0.43.tar.gz
2.Create VMware Machine
2.1.VMware网络模式
VMware提供了三种将虚拟网卡和物理网卡捆绑起来的方式:
- 桥接(Bridge)模式,
- 网络地址转换(Network Address Transformation, NAT)模式
- 主机(Host Only)模式。
三种模式区别
Bridge模式直接将虚拟机添加到局域网中,使虚拟机看起来像网内的一台真实计算机,虚拟网卡和宿主物理网卡之间不存在名义上的从属关系,因而需要局域网内具有多余的IP地址能够提供给虚拟机网卡,局域网内需要给每台计算机分配固定的IP。在Bridge模式下虚拟机既可以访问到Internet也可以同局域网内的其他真实计算机;
NAT模式下宿主的物理网卡就充当了路由器或交换机的角色,VMware会根据宿主的真实IP提供很多Subset IP供虚拟机使用,这样所有的虚拟机都是通过宿主的网络端口进行对Internet的访问,但看起来这些虚拟计算机都合法地访问到了局域网或者Internet,因为它们的IP地址通过NAT技术之后看起来是合法的。
Host Only模式下虚拟机之间可以相互通信,但虚拟机并不能同局域网内的其他真实计算机直接通信,但该模式下通过宿主访问Internet还是可以的。
VMware的虚拟网卡可以被设置成上述的三种网络连接模式之一,默认情况下,VMnet0被设置成为Bridge模式,VMnet1被设置为Host Only模式,而VMnet8的默认连接方式为NAT模式。VMnet2-VMnet7和VMnet9这七块虚拟网卡用户可以自定义,但是在所有的虚拟网卡中仅有一块能被设置为NAT模式,默认情况就是VMnet8。可以在VMware workstation->编辑->虚拟网络编辑器 中查看这些信息。
2.2.VMware网络编辑器
2.3.Create OracleLinux Virtual Machine
3.Install Oracle Linux
3.1.开始安装
3.2.选择组件
KDUMP disabled
Base Environment: Server with GUI
Add-Ons: do not need to select anything
3.3.分区
Swap分区为4.5GB,剩余的分给根目录.
CentOS suggests swap size to be:
- Twice the size of RAM if RAM is less than 2 GB
- Size of RAM + 2 GB if RAM size is more than 2 GB i.e. 5GB of swap for 3GB of RAM
4096MB
3.4.网络和主机名
3.5.Create Oracle User
Wait about 13 minutes
Reboot
Accept the license agreement
NETWORK AND HOST NAME
Wire (ens32) connected
3.6.关闭图形界面
systemctl set-default multi-user.target
3.7.修改网卡配置文件
如果Putty能连接主机,以下设置可以跳过。
/etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=ens32
UUID=3d5f1c9d-e3f1-4c98-a15e-f6ac292fd456
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.1.108
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
PROXY_METHOD=none
BROWSER_ONLY=no
获取网卡的UUID:
[root@poc12:/home/oracle]$uuidgen ens-32
9249de3f-0601-4d8d-b2c0-ef495a589fef
重启网卡服务
systemctl restart network.service
测试,虚拟机ping物理主机:
[oracle@poc19 ~]$ ping 192.168.1.83
PING 192.168.1.83 (192.168.1.83) 56(84) bytes of data.
64 bytes from 192.168.1.83: icmp_seq=1 ttl=128 time=0.282 ms
64 bytes from 192.168.1.83: icmp_seq=2 ttl=128 time=0.364 ms
64 bytes from 192.168.1.83: icmp_seq=3 ttl=128 time=1.25 ms
64 bytes from 192.168.1.83: icmp_seq=4 ttl=128 time=0.167 ms
测试,物理主机ping虚拟机:
C:\>ping 192.168.1.83
Pinging 192.168.1.83 with 32 bytes of data:
Reply from 192.168.1.83: bytes=32 time<1ms TTL=128
Reply from 192.168.1.83: bytes=32 time<1ms TTL=128
Reply from 192.168.1.83: bytes=32 time<1ms TTL=128
Reply from 192.168.1.83: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.1.83:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
测试Putty连接:
3.8.关闭防火墙
请运行以下命令关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
防火墙相关命令,仅供参考:
#systemctl status firewalld //查看防火墙状态
#systemctl stop firewalld //停止防火墙进程
#systemctl disable firewalld //永久关闭防火墙
#systemctl enable firewalld //启动防火墙进程
3.9.设置SELinux
Kernel 2.6 时代,那时候引入了一个新的安全系统,用以提供访问控制安全策略的机制。这个系统就是Security Enhanced Linux (SELinux),它是由美国国家安全局(NSA)贡献的,它为Linux内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。
SELinux主要是红帽Red Hat Linux以及它的衍生发行版上的一个工具。类似地, Ubuntu 和 SUSE(以及它们的衍生发行版)使用的是 AppArmor。
DAC vs. MAC
Linux上传统的访问控制标准是自主访问控制Discretionary Access Control(DAC)。在这种形式下,一个软件或守护进程以User ID(UID)或Set owner User ID(SUID)的身份运行,并且拥有该用户的目标(文件、套接字、以及其它进程)权限。这使得恶意代码很容易运行在特定权限之下,从而取得访问关键的子系统的权限。
另一方面,强制访问控制Mandatory Access Control(MAC)基于保密性和完整性强制信息的隔离以限制破坏。该限制单元独立于传统的Linux安全机制运作,并且没有超级用户的概念。
SELinux的相关概念:
主体Subjects
目标Objects
策略Policy
模式Mode
当一个主体Subject(如一个程序)尝试访问一个目标Object(如一个文件),SELinux安全服务器SELinux Security Server(在内核中)从策略数据库Policy Database中运行一个检查。基于当前的模式mode,如果 SELinux 安全服务器授予权限,该主体就能够访问该目标。如果SELinux安全服务器拒绝了权限,就会在/var/log/messages中记录一条拒绝信息。
SELinux 三个模式
这些模式将规定 SELinux 在主体请求时如何应对。这些模式是:
Enforcing 强制— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
Permissive 宽容— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
Disabled 禁用— 完全禁用SELinux
#vi /etc/selinux/config
SELINUX=disabled
需要重启Linux才能生效。
3.10.删除virbr0虚拟网卡
# ifconfig virbr0 down
#brctl delbr virbr0 //删除网桥
#systemctl disable libvirtd.service //禁用libvirtd服务开机自启动
#systemctl mask libvirtd.service
3.11.安装FTP
yum -y install vsftpd
systemctl start vsftpd.service
systemctl enable vsftpd.service
3.12.hosts 文件
vi /etc/hosts
192.168.1.108 poc19 poc19.lab.com
删除IPV6
/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系
3.13.主机名
vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPv6=no
HOSTNAME=surrey
NOZEROCONF=yes #开机是否激活网络
Network文件中设置的是主机名
CentOS/RedHat/Oracle Linux使用/etc/sysconfig/network文件
Ubuntu/Debian Linux使用/etc/hostname文件
CentOS 7 / RHEL 7 / Oracle Linux 7 修改主机名的方式变了:
hostnamectl status
Static hostname: poc12
Icon name: computer-vm
Chassis: vm
Machine ID: d151239cb3f64bef9a4128f6cb1dd95b
Boot ID: 6f1e72fcb406491fac903554534ebd78
Virtualization: vmware
Operating System: Oracle Linux Server 7.4
CPE OS Name: cpe:/o:oracle:linux:7:4:server
Kernel: Linux 4.1.12-94.3.9.el7uek.x86_64
Architecture: x86-64
hostnamectl set-hostname poc12a
hostnamectl status
Static hostname: poc12a
Icon name: computer-vm
Chassis: vm
Machine ID: d151239cb3f64bef9a4128f6cb1dd95b
Boot ID: 6f1e72fcb406491fac903554534ebd78
Virtualization: vmware
Operating System: Oracle Linux Server 7.4
CPE OS Name: cpe:/o:oracle:linux:7:4:server
Kernel: Linux 4.1.12-94.3.9.el7uek.x86_64
Architecture: x86-64
3.14.oracle 用户添加sudo权限
sudo是Linux系统管理命令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具。Linux系统下,为了安全,一般的操作都是在普通用户下执行,但是有时候普通用户需要使用root权限,比如在DBA安装数据库软件的时候。这个时候如果来回切换到root用户会比较麻烦,用sudo命令会很方便。实际上,除了UNIX系统管理员,DBA或者普通用户是不知道root用户的密码的。
进入root用户:
添加文件写权限:
chmod u+w /etc/sudoers
编辑/etc/sudoers,增加一行: 用户名 ALL=(ALL) ALL,保存退出
vi /etc/sudoers
oracle ALL=(ALL) NOPASSWD:ALL
撤销写权限:
chmod u-w /etc/sudoers
3.15.Update CentOS
sudo yum check-update
sudo yum update
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
4.配置Xming
4.1.PuTTY设置
4.2.sshd_config
vi /etc/ssh/sshd_config
X11Forwording yes
4.3.xclock
安装X11:
yum -y install xorg-x11-apps-7.7-7.el7.x86_64
以下命令仅供参考:
[root@rac1/etc/ssh]$yum whatprovide xclock
Loaded plugins: langpacks, ulninfo
No such command: whatprovide. Please use /usr/bin/yum --help
[root@rac1/etc/ssh]yum whatprovides xclock
Loaded plugins: langpacks, ulninfo
xorg-x11-apps-7.7-7.el7.x86_64 : X.Org X11 applications
Repo : ol7_latest
Matched from:
Provides : xclock
4.4.xauth
以下命令仅供参考:
[oracle@surrey:/oracle/dba_scripts]$xauth list
surrey/unix:10 MIT-MAGIC-COOKIE-1 6e3543570be673b3a553d21f9108dacd
如果没有,运行以下命令:
This command will add a secret cookie in .Xauthority file, oracle will use the secret cookie to authorize to the X server.
命令语法:(xauth add "¥DISPLAY" MIT-MAGIC-COOKIE-1 <random hex key>)
touch ~/.Xauthority
xauth add surrey/unix:10 MIT-MAGIC-COOKIE-1 `xxd -l 16 -p /dev/urandom`
4.5.DISPLAY变量
export DISPLAY=localhost:10.0
4.6.almalinux
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
dnf update ca-certificates
dnf install dnf-plugins-core
dnf config-manager --set-enabled powertools
dnf install elrepo-release epel-release -y