linux脚本安装
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初学之安装虚拟机,写几个简单脚本,实
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 命令 ---一步一步安装,若出错,报告出错过程
‘叁’ linux怎么执行一键安装脚本
要设置快捷键的。 我用的ubuntu linux,可以直接设置全局快捷键的,不知道你使用的什么版本。
‘肆’ Linux下编写自动安装mysql apache php脚本
1.1 编译安装
# groupadd mysql
# useradd -g mysql -d /usr/local/lib/mysql -s /sbin/nologin mysql
# tar zxvf mysql-x.x.x
# cd mysql-x.x.x
# ./configure --prefix=/usr/local/lib/mysql --localstatedir=/usr/local/lib/mysql/data --with-charset=utf8 --with-extra-charsets=all
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/lib/mysql
# mkdir data
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# echo "/usr/local/lib/mysql/bin/mysqld_safe &" >> /etc/rc.local
# /usr/local/lib/mysql/bin/mysqld_safe --user=mysql &
1.2 进入mysql的DBMS
# /usr/local/lib/mysql/bin/mysql -u root -p
enter password: <Enter>
*注:默认mysql的root用户口令为空
1.3 mysql数据在页面显示为中文乱码的问题
--with-extra-charsets=all是解决中文乱码的关键参数,它的作用是安装额外的字符集,其中即包括gbk等中文字符集。在创建数据库时手工指定字符集为gbk,这样就可以保证同样使用gbk字符集的HTML页面正常地显示中文了:
create database <db_name> default character set gbk collate gbk_chinese_ci;
2. 安装Apache
===============
2.1 编译安装
# tar zxvf httpd-x.x.x.tar.gz
# cd httpd-x.x.x
# ./configure --prefix=/usr/local/lib/apache --enable-so --enable-mods-shared=all --enable-rewrite=shared --enable-speling=shared
# make
# make install
2.2 apache启动停止命令
# /usr/local/lib/apache/bin/apachectl start
# /usr/local/lib/apache/bin/apachectl stop
# /usr/local/lib/apache/bin/apachectl restart
2.3 自动运行
# echo "/usr/local/lib/apache/bin/apachectl start" >> /etc/rc.local
2.4 apache启动时可能出现的错误
[Fri Dec 30 09:35:01 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
‘伍’ 写一个在linux下安装jdk的脚本的问题
这个环境没有。但是写一个Centos下 java ,Tomcat的配置实例参考一下:
安装脚本中分为两部分,一个是安装过程,一个是变量。
1,安装过程基本是每个不同应用一步步安装的组合,源码,RPM,YUM,这些的组合。
2,环境变量在Centos里用的最多的/etc/profile添加到最后就可以。
在脚本中echo /etc/profile >> <<EOF
content
EOF
这新就可以了
source /etc/profile
下面是生产环境的一个实例。参考
+++++++++++++++++++++++++
echo "Add confile to profile"
cat >> /etc/profile <<EOF
PS1='[\u@20* \w \A] \/$'
export PS1
alias grep='grep --color=auto'
alias cls="clear"
NGINX_HOME="/usr/loca/nginx"
JAVA_HOME="/usr/local/java"
CLASS_PATH="\$JAVA_HOME/lib/tool.jar:\$JAVA_HOME/jre/lib/dt.jar"
export NGINX_HOME JAVA_HOME CLASS_PATH
CATALINA_HOME="/usr/local/tomcat"
CATALINA_BASE="/usr/local/tomcat"
export CATALINA_HOME CATALINA_BASE
#CATALINA_1_HOME="/usr/local/tomcat1"
#CATALINA_1_BASE="/usr/local/tomcat1"
#export CATALINA_1_HOME CATALINA_1_BASE
TOMCAT_HOME="/usr/local/tomcat"
export TOMCAT_HOME
#TOMCAT_1_HOME="/usr/local/tomcat1"
#export TOMCAT_1_HOME
PATH=".:\$JAVA_HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin:/bin:/bin:/sbin:"
export PATH
EOF
====================
JAVA:
#extract java program,if system is 64 or 32
if [ `getconf WORD_BIT` = '32' ] && [ `getconf LONG_BIT` = '64' ] ; then
/bin/cp jdk-7-linux-x64.tar.gz /usr/local
/bin/tar -zx -f jdk-7-linux-x64.tar.gz
/bin/mv jdk1.7.0 java
else
/bin/cp jdk-7u3-linux-i586.tar.gz /usr/local
/bin/tar -zx -f jdk-7u3-linux-i586.tar.gz
/bin/mv jdk1.7.0_03 java
fi
‘陆’ Linux对应的安装脚本怎样查
在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 -参数<文件名>;
‘柒’ 哪里有让电脑自动安装linux的安装脚本
RedHat系的如fedora,CentOS等都有kickstart程序可以完成自动安装。它可以先手动安装一遍生成ks.cfg脚本,以后可以自动安装。也可以直接修改ks.cfg脚本自动安装。
‘捌’ 在Linux shell脚本中,安装过程中如何实现自动选择安装选项
在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]$
‘玖’ linux 脚本安装问题。请大家帮忙看以下该如何纠正
无法正确访问yum源而已。
pptpd是个很简单的软件包,不如自己下载一个,用rpm命令就装上了。