linux如何用脚本安装需要交互的软件

linux如何用脚本安装需要交互的软件,第1张

Linux 和 Unix 文件系统被组织成一个有层次的树形结构。文件系统的最上层是 /,或称为 根目录。在 Unix 和 Linux 的设计理念中,一切皆为文件——包括硬盘、分区和可插拔介质。这就意味着所有其它文件和目录(包括其它硬盘和分区)都位于根目录中。例如:/home/jebediah/cheeses.odt 给出了正确的完整路径,它指向 cheeses.odt 文件,而该文件位于 jebediah 目录下,该目录又位于 home 目录,最后,home 目录又位于根(/) 目录下。 在根 (/) 目录下,有一组重要的系统目录,在大部分 Linux 发行版里都通用。直接位于根 (/) 目录下的常见目录列表如下:

o /bin - 重要的二进制 (binary) 应用程序

o /boot - 启动 (boot) 配置文件

o /dev - 设备 (device) 文件

o /etc - 配置文件、启动脚本等 (etc)

o /home - 本地用户主 (home) 目录

o /lib - 系统库 (libraries) 文件

o /lost+found - 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统

o /media - 挂载可移动介质 (media),诸如 CD、数码相机等

o /mnt - 挂载 (mounted) 文件系统

o /opt - 提供一个供可选的 (optional) 应用程序安装目录

o /proc - 特殊的动态目录,用以维护系统信息和状态,包括当前运行中进程 (processes) 信息。

o /root - root (root) 用户主文件夹,读作“slash-root”

o /sbin - 重要的系统二进制 (system binaries) 文件

o /sys - 系统 (system) 文件

o /tmp - 临时(temporary)文件

o /usr - 包含绝大部分所有用户(users)都能访问的应用程序和文件

o /var - 经常变化的(variable)文件,诸如日志或数据库等

 权限

* Linux 系统上的所有文件都有权限,以允许或者阻止其它用户查阅、修改或者执行。超级用户“root”则可以访问系统上的任意文件。每个文件都有访问限制、用户限制以及隶属于某个用户/组(owner/group)。所有文件皆有如下三组权限加以保护,按重要性依次排列:

o 用户(user)

+ 适用于该文件的所有者

o 组(group)

+ 适用于该文件所属的组

o 其他(other)

+ 适用于所有其他用户

上述三组权限信息的每一组都包含了实际权限。这些权限信息,连同它们对文件和目录具有的不同含义,概述如下:

*

o 读(read)

+ 允许显示/打开该文件 可以显示目录内容

o 写(write)

+ 可以编辑或删除该文件 可以更改目录内容

o 可执行(execute)

+ 可执行文件可以作为程序运行 可以进入该目录

要查看和编辑文件或目录的权限,请打开 位置 → 主文件夹 并在文件或者目录上单击右键。然后选择属性。授权信息就在 权限 标签页中,如果您是该文件的所有者,您可以编辑所有的授权等级

 root 用户和 sudo 命令

* GNU/Linux 系统的 root 用户具有系统的管理权限。出于安全考虑,普通用户并不具备这一权限。不过,Ubuntu 上并不包含 root 用户,而是将管理员权限授予特定用户,他们可以使用 "sudo" 应用程序来执行管理任务。默认情况下,在您的系统安装过程中创建的第一个用户帐号具有使用 sudo 的权限。您可以通过用户和组 (参见第1.3.6节 ― 用户和组) 来限制和赋予用户运行 sudo 的权限。 当您运行一个要求 root 权限的应用程序时,sudo 会要求您输入自己的普通用户密码;这样可以确保恶意程序无法损害您的系统,还可以提醒您应该小心谨慎的对待自己将要执行的管理动作。在命令行里使用 sudo,只需直接在您想执行的命令前加上"sudo"即可。随后 sudo 会提示您输入自己的密码。 在短时间内 sudo 会记得您输入过的密码。设计这一特性的目的,是为了避免用户在执行多个管理任务时重复输入密码。执行管理任务时请务必小心,以免损坏系统! 其它一些 sudo 使用技巧:

o 欲使用 "root" 终端,请在命令行里输入“sudo -i”。

o Ubuntu 里所有图形界面配置工具(启动时)默认已使用sudo,因此如有必要它们会提示您输入自己的密码。

o 关于 sudo 程序及 Ubuntu 里为何默认没有 root 用户的更多信息,请阅读 Ubuntu wiki 上的 sudo页面。

在Linux.shell脚本中,安装过程中如何实现自动选择安装选项?Linux中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息。这个在自动化安装的时候就会是个问题。通常对于这个问题比较灵活的解决方法就是TCL的Expect。但Expect还需要另外安装,平台通用性不高,比较麻烦。另外一些简单的方法倒也是有,不过可用性不高,特别是对要求多次交互就吃力了。但怎么说其还是能解决大多数的问题,因为复杂的情况还是比较少的。比 如要一个调用一个安装脚本 : installWAS.sh, 这个脚本要求输入回车,则可以:echo | installWAS.sh;如果要求输入yes|no,加回车,则可以echo yes|installWAS.sh. 这下自动化安装就有希望了。再有一下的代码也可以带来一些思路:[0 No.2015 huan@huan ~/tmp]$ cat foo read -s -n1 -p "Press any key to continue ... " echo "Your inputs: $REPLY"[0 No.2016 huan@huan ~/tmp]$ ./foo </dev/null Your inputs:[0 No.2017 huan@huan ~/tmp]$

yum clean all

yum install -y binutils compat-db compat-libstdc++* control-center \

gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel libXp make \

ksh sysstat setarch

if [ $? -eq 0 ]then

echo "Software is ready for install oracle!"

fi


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

原文地址:https://54852.com/yw/7679129.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存