操作系统实习

1RedHat Enterprise Linux Server 5.5 x86_64安装
本文档描述在Red Hat Enterprise Linux Server 5.5 x86_64上安装Oracle Database 11g Release 2 (11.2.0.3) (64-bit)的过程。
1.1安装Linux

1.2在Linux虚拟机中安装VirtualBoxAdditions
$ mount /dev/cdrom /mnt
$ ./VBoxLinuxAdditions.run
1.3设置提示风格

设置习惯的提示风格

PS1=whoami@hostname'😒{PWD}> '
export PS1
1.4禁用firewall
// 关闭firewall

service iptables stop // 立即生效,重启后失效

chkconfig iptables off // 重启后生效

1.5禁用SELinux
// 禁用SELinux

/usr/sbin/setenforce 0 // 立即关闭SELinux

set SELINUX=disabled

1.6查看是32位还是64位

方法1:

$ file /sbin/init或者$ file /bin/ls
/sbin/init: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped

结论: 如果显示 64-bit 则为64位; 如果显示为32 bit 则为32bit;

方法2:

uname -a:
uname -a
Linux pmx002..** 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
Linux pmx0..** 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux

结论: x86_64表示64位机器; i686表示32位机器

方法3:也是看linux是32位还是64位最简单的方法:

getconf LONG_BIT
64
1.7配置网卡,使虚拟机上网

关闭虚拟机,设置virtual box虚拟网卡的连接方式

1.8Oracle Linux下安装Atheros AR8151 PCI-E Gigabit Ethernet Controller(NDIS 6.20)网卡驱动(不需要)

  1. 将网卡驱动程序AR81Family-linux-v1.0.1.14.tar.gz拷贝到LinuxInstall这个目录下
  2. 启动Linux,挂载LinuxInstall分区:# mount –t vfat /dev/sda7 /mnt/F
  3. 将/mnt/F/AR81Family-linux-v1.0.1.14.tar.gz拷贝到/root/LuiseSoftware目录下
  4. 建立目录AR81Family保存解压的文件:mkdir AR81Family
  5. 建立目录并解压:tar
  6. cd AR81Family/src
  7. make install
  8. 挂载模块:insmod /lib/modules/2.6.32-300.3.1.el6uek.x86_64/kernel/drivers/net/atl1e/atl1e.ko
  9. 终于可以上网了。
    1.9使用CentOS YUM进行更新

1. 删除原有的RHEL yum

$ rpm -aq | grep yum|xargs rpm --erase –-nodeps

2. 下载 CentOS 5 yum

2.1 i386:

wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-4.el5.i386.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/i386/CentOS/python-iniparse-0.2.3-6.el5.noarch.rpm

2.2 x86_64:

wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-6.el5.noarch.rpm

3. 安装 CentOS5 yum

3.1 i386:

rpm -ivh python-iniparse-0.2.3-6.el5.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-4.el5.i386.rpm
rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm (Must install both at the same time.)

3.2 x86_64:

rpm -ivh python-iniparse-0.2.3-6.el5.noarch.rpm (如果有冲突,先把已经安装的删除后再安装)
rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

4. 下载 CentOS6-Base-163.repo 到 /etc/yum.repos.d

cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

5. 替换‘\(releasever’ 为 ’5′;替换\)basesearch为x86_64在 CentOS6-Base-163.repo

vi CentOS6-Base-163.repo

6. 最后

yum clean all
yum makecache
yum search vim #测试
1.10配置回需要的静态IP地址

编辑/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE = eth0
ONBOOT = yes
BOOTPROTO = static
IPADDR= 192.168.6.103(你需要的固定ip)
NETMASK=255.255.255.0

重新启动网卡

$ /etc/init.d/network restart
1.11编辑/etc/sysctl.conf文件(下面是最小配置,如果已经配置值高于下面的值,可不更改)
--红色文件表示的条目已经有了需要修改
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
-- 执行下面的命令,改变当前内核参数
[root@LinuxTestDB]# /sbin/sysctl –p

1.12在/etc/security/limits.conf文件中添加下面的代码:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240

1.13安装下面的软件包
cd /media/cdrom/Server/Packages
rpm -Uvh binutils-2x86_64
rpm -Uvh glibc-2x86_64 nss-softokn-freebl-3x86_64
rpm -Uvh glibc-2i686 nss-softokn-freebl-3i686
rpm -Uvh compat-libstdc++-33x86_64
rpm -Uvh glibc-common-2x86_64
rpm -Uvh glibc-devel-2x86_64
rpm -Uvh glibc-devel-2i686
rpm -Uvh glibc-headers-2x86_64
rpm -Uvh elfutils-libelf-0x86_64
rpm -Uvh elfutils-libelf-devel-0x86_64
rpm -Uvh gcc-4x86_64
rpm -Uvh gcc-c++-4x86_64
rpm -Uvh ksh-x86_64
rpm -Uvh libaio-0x86_64
rpm -Uvh libaio-devel-0x86_64
rpm -Uvh libaio-0i686
rpm -Uvh libaio-devel-0i686
rpm -Uvh libgcc-4x86_64
rpm -Uvh libgcc-4i686
rpm -Uvh libstdc++-4x86_64
rpm -Uvh libstdc++-4i686
rpm -Uvh libstdc++-devel-4x86_64
rpm -Uvh make-3.81x86_64
rpm -Uvh numactl-devel-2x86_64
rpm -Uvh sysstat-9x86_64
rpm -Uvh compat-libstdc++-33i686
rpm -Uvh compat-libcap*
cd /
eject
-- 上面的操作将为11.2.0.1安装所有必须的32位包,从11.2.0.2开始许多包是不需要的,但安装了也没什么影响。
1.14创建新的组和用户
groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
groupadd -g 506 asmdba
groupadd -g 507 asmoper

useradd -u 502 -g oinstall -G dba,asmdba,oper oracle

修改oracle用户的口令

passwd oracle
注意:这里不会使用asm组,因为根本用不到ASM

创建目录并授权
mkdir -p /u01/app/oracle/
chown -R oracle:oinstall /u01
chmod -R 775 /u01
1.15准备工作
将文件p10404530_112030_LINUX_1of7.zip和p10404530_112030_LINUX_2of7.zip解压。
将p10404530_112030_LINUX_2of7\database\stage\Components目录中的内容拷贝到
p10404530_112030_LINUX_1of7\database\stage\Components目录中。
然后将p10404530_112030_Solaris86-64_1of6中的database目录用SecureFX传送到/export/home/oracle目录(注意:传送时使用oracle用户登录),传送完毕将SecureFX的连接断开。
使用SecureCRT,直接用oracle用户登录虚拟机(不要用root登录,再su切换到oracle用户),保持只有这一个登录用户。
改变database目录的权限:chmod –R u+x database (以下都oracle用户来操作)
运行Xmanager,并使用xclock应用测试一下,图形是否可以在宿主机中显示
设置环境变量
[oracle@S1011:/export/home/oracle]$ export ORACLE_BASE=/u01/app/oracle
1.16开始安装
进入到/export/home/oracle目录,执行安装脚本 ./runInstaller

1.17安装后的配置

使用oracle用户在.bash_profile文件中添加如下内容

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=TestDB12
export ORACLE_HOME=\(ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=\)PATH:\(ORACLE_HOME/bin umask 022 export LD_LIBRAEY_PATH=/usr/local/lib:. export CC=gcc export PATH=\)PATH:/usr/local/bin
1.18安装rlwrap解决SQL*Plus使用历史命令的问题
安装Linux时已经安装readline-5.1-3.el5包,如果没有安装,可以使用yum直接进行安装。
下载rlwrap-0.37.tar.gz(源代码版,需要编译安装),解压后,使用SecureFX上传到/home/oracle目录
使用root用户安装,安装之前先解决权限的问题。
root@Redhat55.cuug.net:/home/oracle> ls
readline-5.1-3.el5.x86_64.rpm rlwrap-0.37
root@Redhat55.cuug.net:/home/oracle> chmod -R 777 rlwrap-0.37/
root@Redhat55.cuug.net:/home/oracle/rlwrap-0.37> ./configure
root@Redhat55.cuug.net:/home/oracle/rlwrap-0.37> make install

最后使用oracle用户在.bash_profile文件中添加如下内容

alias sqlplus='/usr/local/bin/rlwrap sqlplus'
alias rman='/usr/local/bin/rlwrap rman'
alias adrci='/usr/local/bin/rlwrap adrci'

2GCC-4.6.3的安装

  1. 准备需要的安装包
    安装包 下载地址 文件名
    gmp http://gmplib.org/ gmp-5.0.4.tar.bz2
    mpfr http://www.mpfr.org mpfr-3.1.0.tar.bz2
    mpc http://www.multiprecision.org/index.php?prog=mpc mpc-0.9.tar.gz
    gcc http://gcc.gnu.org/ gcc-4.6.3.tar.gz
    将这些安装包在windows系统下拷贝到F盘(是当时硬盘安装Linux是存放安装镜像的分区),目的是可以在Linux下挂载这个Windows分区。

  2. 在Linux创建目录:mkdir /mnt/F,挂载F盘mount –t vfat /dev/sda7 /mnt/F

  3. 在root目录下创建文件夹software存储安装文件,mkdir /root/software

  4. 将/mnt/F中的4个安装包拷贝到/root/software目录下

  5. 解压这3个安装包
    tar –jxvf gmp-5.0.4.tar.bz2
    tar –jxvf mpfr-3.1.0.tar.bz2
    tar –zxvf mpc-0.9.tar.gz
    DEVICE=物理设备名
    IPADDR=IP地址
    NETMASK=掩码值
    NETWORK=网络地址
    BROADCAST=广播地址
    GATEWAY=网关地址
    ONBOOT=[yes|no](引导时是否激活设备)
    USERCTL=[yes|no](非root用户是否可以控制该设备)
    BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
    HWADDR = 你的MAC地址
    DNS1=66.102.253.121 //指定DNS服务器
    DNS2=8.8.8.8

关闭防火墙
service iptables stop // 立即生效,重启后失效
chkconfig iptables off // 重启后生效

关闭SELinux
/usr/sbin/setenforce 0 立刻关闭 SELINUX
vi /etc/selinux/config
set SELINUX=disabled

注销当前用户:logout
修改主机名:/etc/hosts和/etc/sysconfig/network

查看当前IP:ifconfig -a

3使用Xmanager图形方式连接到RHEL Linux 6服务器

1 启动sshd服务

service sshd start命

2修改/etc/gdm/custom.conf配置文件

在[security]区域下添加如下一行内容:
DisallowTCP=false
在[xdmcp]区域下添加如下两行内容:
Enable=1
port=177

3修改/root/.bash_profile文件

在 /root/.bash_profile文件中添加如下一行内容:
export DISPLAY=x.x.x.x:0.0
x.x.x.x为需要显示图形界面的windows计算机IP地址)

4重启RHEL 6服务器

init 6

5 防火墙设置允许Xmanager访问

iptables -A INPUT -p tcp --dport 177 -j ACCEPT

4Linux下文件和目录的颜色的含义
蓝色 目录
浅蓝色 链接文件
绿色 可执行文件
红色 压缩文件
红色闪烁 链接的文件有问题了
黄色 设备文件
白色 文件

Linux下挂载Windows分区:mount -t vfat /dev/sda7 /mnt/F
开机自动挂载分区,以root用户编辑/etc/fstab文件,添加一行
/dev/hda5 /mnt/win vfat codepage=936,iocharset=cp936 0 0
创建目录:mkdir
目录改名:mv oldName newName
查看内核的版本:uname –r
删除所有文件:rm –rf *
退出vi的命令:Esc->ZZ
创建文件的命令:emacs 文件名

RHEL 6中YUM命令解决RMP包依赖性
YUM,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。YUM是软件的仓库,它可以是HTTP或FTP站点,也可以是本地软件池,但必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

YUM的特点
可以同时配置多个资源库(Repository)
简洁的配置文件(/etc/yum.conf)
自动解决增加或删除rpm包时遇到的依赖性问题使用方便,保持与RPM数据库的一致性
YUM分为服务器端和客户端

YUM服务器端配置步骤
挂载一个windows分区,并安装vsftpd软件

5去除root用户密码
进入红色界面后enter进入菜单界面
进入菜单界面后根据使用说明使用"e"编辑
有些系统版本是选择第二行
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
使用"e"编辑在后面添加single "回车"
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ single
使用"b"执行
有些版本是选择第三行
module /vmlinuz-2.6.18-92.e15xen ro root=/dev/VolGroup00/LogVo100 rhgLogV100 rhgb quiet
使用"e"编辑

在最后面添加"/ 1" "回车"
module /vmlinuz-2.6.18-92.e15xen ro root=/dev/VolGroup00/LogVo100 rhgLogV100 rhgb quiet / 1
使用"b"执行
经过一段时间的等待进入单用户界面(注使用单用户进入不需要输入密码)
使用"vi /etc/passwd"修改passwd文件
删除root帐户第二段的"x"
使用"reboot"重新启动
这时候已经不需要更改什么了一直等到系统出现输入用户名的时候
输入"root"使用"enter"就会进入系统了这时候系统不需要密码就可以进入了
接着使用"passwd root"更改root的密码。
6进入光驱:cd /media
7查看Linux发行版本号和内部开发代号
root@Redhat55.cuug.net:/root> more /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

8Linux启动过程提示:Memory for crash kernel (0 x 0 to 0 x 0) notwithin permissible range
这是因为没有正确地配置kdump服务的原因,无大碍。kdump是一个新的、非常可依赖的内核崩溃转储机制。
解决:
方法一:
Application->System Tools->kdump

开启kdump
方法二:
开机时,迅速按下任意键,如回车键Enter,进入如下画面:

根据上面黑色框提示,按键 a 修改内核启动参数

上图,添加一行参数:crashkernel=128M@16M
回车,自动重启如下图

没有再出现 Memory for crash kernel 错误提示,加载通过 OK

这是由于上图中,我们已经添加了启动参数 crashkernel=128M@16M(上图红线部分)

如果是开机正常启动后,我们可以到目录:vi /boot/grub/grub.conf
如下图所示,添加 crashkernel=128M@16M

9Warning calibrate_APIC_clock:
the APIC timer calibration may be wrong.
解决:

取消Virtualbox中->系统,对IO APIC的设置
编辑/boot/grub/grub.conf配置文件:
kernel /boot/vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M divider=10 nolapic_timer

posted @ 2018-07-02 08:14  羡长江之无穷  阅读(139)  评论(0编辑  收藏  举报