Linux对应的安装脚本怎样查

Linux对应的安装脚本怎样查,第1张

在Linux

*** 作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是

Red

Hat

Package

Manager(简称RPM)。此工具包最先是由Red

Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。

1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

rpm

-qpi

Linux-1.4-6.i368.rpm

系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

rpm

-qpl

Linux-1.4-6.i368.rpm

3.

选择安装方式后,开始安装。我们可以用rpm-ivh

Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在

-ivh后加一参数“-replacepkgs”:

rpm

-ivh

-replacepkgs

Linux-1.4-6.i368.rpm

4.有时我们卸载某个安装过的软件,只需执行rpm-e

<文件名>命令即可。

5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm

-uvh

<文件名>,注意:此时的文件名必须是要升级软件的升级补丁

6.

另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

rpm

-i

ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

7.

在我们使用电脑过程中,难免会有误 *** 作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功宴空能,执行此命令:rpm

-Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

rpm

-qf

<晌哪瞎文件名>

9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据缓中库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

rpm

-参数 <文件名>

1、准备镜像(输入cat /etc/redhat-release可以查看redhat版本) #输入uname -r可以查看linux系统版本

根据查看的版本去网上下载相关资源。例如本机是7.2.

2、输入virt-manager进入虚拟机控制平台

点击小电脑图标

我们选择第一个选项(通过iso image或者光盘进行安装)

然后找到刚刚下载好的镜像。

名字和内存都随自己更改。

3、更改时区,语言,安装方式(真机须选3个关于虚拟化的选项)。

时区选择上海即可

加入中文简体

一般选择最后一个,安装一些必要的程序即可。

4、分区(建议自动分区,然后修改分配容量)

(1)/boot---启动分区,200M即可,太大没有什么作用

(2)/swap ---交换分区,当内存容量大于内存80%时,把多余的放进硬盘,待内存降下来之后,又放回内存,建议分区大小为物理内存1.5~2倍,8G可设12G。

(3)/ ---其余分区皆为即可。

接下来等待安装即可。

二 创建脚本安装虚拟机

在 /usr/sbin/建立一个Create_Vm.sh

chmod +x Create_Vm.sh ---加可执行权限

加&在后台运行,不加在前台(创建虚拟机)

#!/bin/bash

virt-install \

--name $1 \

--ram 1024 \

--file /var/lib/libvirt/images/$1.qcow2 \

--file-size 8 \

--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \

--vcpus 1 &

写入如下脚本:

如果是无图形界面则依次输入12cc即可

xml---可扩展标记语言 ,封装数据

模拟拷贝虚拟机

1 cd /etc/libvirt/qemu/ ---进入虚拟机目录

2 ls ---显示该目录文件项

3 cp node1.xml /mnt/ ---复制(发送)前端文件(硬件相关信息)到目标主机

4 cd var/lib/libvirt/images/ ---进入到虚拟机硬盘所在目录

5 ls

6 mv node1.qcow2 /mnt/ ---复制硬盘到目标主机

7 virsh undefine node1 ---删除原有虚拟机(在复制到其他机器上忽略此步骤)

8 mv /mnt/node1.qcow2 /var/lib/libvirt/images/ ---复制硬盘到虚拟机默认硬盘所在目录

9 virsh define node1.xml ---创建复制虚拟机

9 virsh create node1.xml ---打开复制过来的虚拟机,关闭之绝笑后在manager会消失

打开虚拟机相关命令:

virsh list ---显示当前正在运行的虚拟机

virsh list --all ---显示所有虚拟机

virsh start node1---打开虚拟机

virt-viewer node1---显示图形界面

virsh shutdown node1 ---正常关机

virsh destroy node1 ---强制关机

剩下就不一一列举了

三 虚拟机快照:(以安装node1为例)码败

1、 cd /var/lib/libvirt/images/ ---进入新安装的虚拟迟宏颤机的硬盘目录

2、 在虚拟机管理界面delete 新安装的虚拟机node1,记得不要删除其硬盘文件,留下其硬盘文件,可以母盘,下面是为了防止以后手残更改了母盘文件导致其他虚拟机不能用。

3、 mv node1.qcow2 vm_storage.qcow2 ---更改源硬盘文件名,名字可以自行确定

4、 qemu-img create -f qcow2 -b vm_storage.qcow2 newname.qcow2 ---创建新快照。

5、虚拟机管理界面添加新机即可。

选择第四个,然后改名字即可。

新机就建立完成。

四 脚本:

1)只添加虚拟机其余自己 *** 作的脚本:Create_Vm.sh

#!/bin/bash

virt-install \

--name $1 \

--ram 1024 \

--file /var/lib/libvirt/images/$1.wcow2 \

--file-size 8 \

--cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \

--vcpus 1 &

这个脚本上边已经有详细过程。

2)添加带磁盘的虚拟机脚本:创建快照,添加快照,安装 Createvm.sh

#!/bin/bash

qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \

/var/lib/libvirt/images/$1.qcow2 &>/dev/null

virt-install \

--name $1 \

--ram 1024 \

--file /var/lib/libvirt/images/$1.qcow2,bus=virtio \

--file-size 8 \

--network source=br0,model=virtio \

--import &>/dev/null &

3)重置虚拟机脚本:Resetvm.sh

#!/bin/bash

virsh destory $1 &>/dev/null

rm -rf /var/lib/libvirt/images/$1.qcow2

qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm_storage.qcow2 \

/var/lib/libvirt/images/$1.qcow2 &>/dev/null

echo Successfully!!!

virsh start $1 &>/dev/null

virt-viewer $1 &>/dev/null &

sh -x 命令 ---一步一步安装,若出错,报告出错过程

所谓标准系统服务,应该是满足以下几条标准的后台运行程序。

1) 用 chkconfig --add 来安装,用 chkconfig --list 检查状态。

2) 用 ntsysv 来定制某个服务,是否伴随机器的启动而自动启动。

3) 在图形模式下,可以用 serviceconf 来启动、停止、重启服务。

4) 开机象系统服务那样显示 starting,关机显示 shutting down。

三、下面是具体的 dbora 脚本,在 Redhat 7.3 上通过,本人已经

验证了几十次,保证能运行。如果在您的系统不能运行,请告知。

备注:启动 lsnrctl 的时顷岁候不用 su- 而使用 su,否则失败,并且

要求使用贺唤 oracle 用户本身的 BASH_ENV。脚本开头的几个 ORA_xxx

参数都要依照实际情况写,否则会说找不到 Oracle 程序或者 pid。

DOS 格式方便发文,拷下来后请大家用 UltraEdit 转为 Unix 格式。

------------------------------------------------------------------------

#!/bin/雀拍睁bash

#

#/etc/rc.d/init.d/dbora

#

# Starts the dbora daemon

#

# chkconfig: 345 94 6

# description: Runs commands scheduled by the at command at the time \

#specified when at was run, and runs batch commands when the load \

#average is low enough.

# processname: dbora

#

# copyright: Written by Wwashington AT smth bbs, free to distribute. \

#You must keep everything in this file, including the copyright \

#announcement. Study demo: atd &postgresql in /etc/rc.d/init.d

# Source function library.

INITD=/etc/rc.d/init.d

. $INITD/functions

# Source system profile.

if [ -r /etc/profile ] then . /etc/profile fi

ORA_SID=udb01

ORA_USER=oracle

ORA_BASE=/udb01/app/oracle

ORA_HOME=/udb01/app/oracle/product/8.1.7

BASH_ENV=$ORA_BASE/.bashrc

test -x $ORA_HOME/bin/dbstart || exit 0

RETVAL=0

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]

then

GREP_FLAG=ef

else

GREP_FLAG=efw

fi

RUNLEVEL=`runlevel | awk '{ print $2 }'`

# RUNLEVEL=6

case "$RUNLEVEL" in

3)

SH_FLAG=1

4)

SH_FLAG=1

5)

SH_FLAG=1

*)

SH_FLAG=0

esac

# Below is a debug info to display Show Flag

# echo RUNLEVEL=$RUNLEVEL , SH_FLAG=$SH_FLAG

#

#See how we were called.

#

prog="dbora"

start() {

# Check flag, if dbora already started, quit dbora

if [ ! -f /var/lock/subsys/dbora ]then

echo -n $"Starting $prog: "

# This is the background exec which can work under

# both CLI (dbora) and GUI mode (serviceconf). We

# must forward stderr to a file or null, otherwise

# dbora won't start with a return code in GUI mode

echo ""

echo "[oralog] ----->"

echo "Starting Oracle8i: "

echo "-------------------------------------------------------------------------"

# Please note that forward stderr(2) to /dev/null or &- means close stderr

su - $ORA_USER -c "$ORA_HOME/bin/dbstart >/tmp/ORA-dbuplog" 2>/dev/null

if [ $SH_FLAG -eq 1 ]then

cat /tmp/ORA-dbuplog

fi

echo

echo "Starting TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl start >/tmp/ORA-lsnrlog" 2>&-

if [ $SH_FLAG -eq 1 ]then

cat /tmp/ORA-lsnrlog

fi

pid=`pidof -s ora_pmon_$ORA_SID`

if [ "$pid" == "" ]then

RETVAL=1

else

RETVAL=0

fi

[ $RETVAL -eq 0 ] &&touch /var/lock/subsys/dbora

echo

fi

return $RETVAL

}

stop() {

echo -n $"Stopping $prog: "

# In order to use database local cmd to keep safe,

# we use dbshut instead of simply kill ora_ proc.

# When we reboot (runlevel = 0 or 6), no verbose.

# Force remove /var/lock/subsys/dbora to activate

if [ $SH_FLAG -eq 1 ]then

echo ""

echo "[oralog] ----->"

echo "Shutting down TNS Listener:"

echo "-------------------------------------------------------------------------"

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop"

else

su $ORA_USER -c "$ORA_HOME/bin/lsnrctl stop >/dev/null"

fi

if [ $SH_FLAG -eq 1 ]then

echo

fi

if [ $SH_FLAG -eq 1 ]then

echo "Shutting down Oracle8i: "

echo "-------------------------------------------------------------------------"

su - $ORA_USER -c "$ORA_HOME/bin/dbshut"

else

su - $ORA_USER -c "$ORA_HOME/bin/dbshut >/dev/null"

fi

pid=`ps -$GREP_FLAG | grep -e ora_ -e lsnr | grep -v grep | awk '{ print $2 }'`

# Show pids when shutdown failed, to see debug info

# echo $pid

if [ $pid ]then

failure ""

else

success ""

fi

echo ""

rm -f /var/lock/subsys/dbora

return $RETVAL

}

restart() {

echo "Restarting Oracle8i and Listener: "

echo "========================================================================="

stop

start

}

reload() {

restart

}

status_ol() {

echo "Checking Oracle8i and Listener: "

echo "========================================================================="

su - $ORA_USER -c "$ORA_HOME/bin/dbstat"

}

case "$1" in

start)

start

stop)

stop

reload|restart)

restart

condrestart)

if [ -f /var/lock/subsys/dbora ]then

restart

fi

status)

status_ol

*)

echo $"Usage: $0 {start|stop|restart|condrestart|status}"

exit 1

esac

exit $?

exit $RETVAL

------------------------------------------------------------------------

caiwolf 回复于:2004-10-17 00:47:46

顶一个.:)

wwashington 回复于:2004-10-17 11:32:42

刚才的文件是 /etc/rc.d/init.d/dbora,现在补充一个 dbstat,

bash-2.05a# cat $ORACLE_HOME/bin/dbstat

GREP_UNIX=`uname | awk '{if($1 ~ /(^SunOS|^HP-UX)/) print $1}'`

if ! [ "$GREP_UNIX" = "" ]

then

GREP_FILE=/usr/xpg4/bin/grep

GREP_FLAG=ef

else

GREP_FILE=/bin/grep

GREP_FLAG=efw

fi

echo

echo "# ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep"

echo

ps -$GREP_FLAG | $GREP_FILE -e ora_ -e lsnr| grep -v grep

echo

bash-2.05a# cat $ORACLE_BASE/.bashrc

# User specific environment and startup programs

ORA_FLAG=`echo $PATH | grep -e ^$ORACLE_BASE`

if [ "$ORA_FLAG" = "" ]then

PATH=$ORACLE_HOME/bin:$PATH

export PATH

fi

JAVA_HOME=/usr/java/1.18

LD_ASSUME_KERNEL=2.2.5

export JAVA_HOME LD_ASSUME_KERNEL

. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12433077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存