第四周作业
1.查找/var目录不属于root,lp,gdm的所有文件
find /var ! \( -user root -o -user lp -o -user gdm \) find /var -not -user root -a -not -user lp -a -not -user gdm
2.统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
grep -E -o "[[:alpha:]]+" /etc/init.d/functions |sort|uniq -c|sort -rn egrep -o "[[:alpha:]]+" /etc/init.d/functions |sort|uniq -c|sort -rn sed -r "s#[^[:alpha:]]+#\n#g" /etc/init.d/functions |sort|uniq -c|sort -rn
3.利用sed取出ifconfig命令中本机的IPv4地址
ifconfig|sed -rn "s/.*inet (addr:)?([^ ]+).*/\2/p" ifconfig eth0|sed -rn "2s/.*inet (.*) net.*/\1/p" ifconfig eth0|sed -rn "2s/.*inet (addr:)?([^ ]+).*/\2/p"
4.总结yum的配置和使用,包括yum仓库的创建
YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具
yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)
客户端配置文件指定对应服务器访问方式如下几种
http://
https://
ftp://
file://
YUM的主配置 /etc/yum.conf
YUM仓库配置 /etc/yum.repos.d/*.repo
配置本地YUM源:
移除/etc/yum.repos.d/*.repo下文件
挂载光盘,并找到光盘的repodata路径,该文件夹的上一级目录就是yum的目录
vim /etc/yum.repos.d/local.repo
[yumname] # 名称,不能有空格
name=local yum # yum仓库的名字
baseurl=file:///mnt/ # repoodata的上一级目录
gpgcheck=0 # 忽略检查
搭建基于http的yum本地仓库服务器
1.安装httpd服务
2.设置yum路径为http路径
mkdir -p /var/www/html/centos/{6,7}/os/x86_64/
3.把安装光盘目录挂载到以上目录
mount /dev/cdrom /var/www/html/centos/7/os/x86_64/
4.修改repo文件
baseurl=http://10.0.0.201/centos/$releasever/os/$basearch/
5.另一种写法
在/var/www/html/下新建repo.txt文件
repo.txt文件中添加
mirrorlist=http://10.0.0.201/repo.txt
file:///mnt/
http://10.0.0.201/centos/$releasever/os/$basearch/
自建yum仓库
1.创建db目录
mkdir /data/repodb
2.复制rpm包到db目录
cp /mnt/Packages/tree-1.6.repo /data/repodb
3.使用createrepo命令创建
createrepo /data/repodb/
4.在/etc/yum.repo.d/下.repo中添加路径
vim /etc/yum.repos.d/test.repo
[test]
name=test #yum仓库的名字
baseurl=file:///yum/repo #仓库路径,由于是放在本地的只能用file协议而不是http
enabled=1 #开启该仓库
gpgcheck=0 #忽略检查
YUM命令总结
yum install # 安装
yum remove # 卸载
yum groupinstall # 组安装
yum groupremove # 组卸载
yum list # 显示所有包
yum clean all # 清除缓存
yum makecache # 建立缓存
yum history # YUM安装历史
yum history undo 序号 # 通过历史撤销
yum history redo 序号 # 通过历史取消撤销操作
yum provides # 反向查询命令属于哪个yum包
5.编写系统初始化脚本reset.sh,包括别名,提示符颜色,yum仓库配置文件
#!/bin/bash # #******************************************************************** #Author: li #QQ: 12345678 #Date: 2019-07-16 #FileName: reset.sh #URL: http://www.magedu.com #Description: The test script #Copyright (C): 2019 All rights reserved #********************************************************************
echo "System Initialization"
version=`egrep -o "[0-9]" /etc/redhat-release |head -n1`
echo "Version is Centos $version"
echo "Setting Alias...."
cat >>/root/.bashrc<<EOF
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias ipadd='ifconfig | egrep -o "\<([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}\>" | head -1'
alias pw='poweroff'
EOF
if [ "$version" -eq 7 ];then
echo PS1='"\[\e[1;36m\][\u@\h \W]\$\[\e[0m\]"' > /etc/profile.d/env.sh
elif [ "$version" -eq 6 ];then
echo PS1='"\[\e[1;33m\][\u@\h \W]\$\[\e[0m\]"' > /etc/profile.d/env.sh
else
echo PS1='"\[\e[1;35m\][\u@\h \W]\$\[\e[0m\]"' > /etc/profile.d/env.sh
fi
#mount cdrom
mkdir /media/cdrom &>/dev/null
mount /dev/cdrom /media/cdrom &>/dev/null
mkdir /etc/yum.repos.d/bak &>/dev/null
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak &>/dev/null
cat >>/etc/yum.repos.d/bash.repo<<EOF
[localyum]
name=Local YUM Centos "$version"
baseurl=file:///media/cdrom
gpgcheck=0
[epel]
name=Aliyun
baseurl=https://mirrors.aliyun.com/epel/$version/x86_64
gpgcheck=1
gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-$version
EOF
yum clean all && yum makecache &>/dev/null
yum -y install tree lrzsz autofs &>/dev/null
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
if [ $version -eq 7 ];then
systemctl enable autofs
systemctl start autofs
systemctl stop firewalld
systemctl disable firewalld
elif [ $version -eq 6 ];then
service autofs on
sercice autofs start
service iptables stop
chkconfig iptables off
else
echo "Please Manual Stop Firewall"
fi
echo "Disable SELinux"
sleep 1
sed -i "s#^SELINUX=.*#SELINUX=disabled#g" /etc/selinux/config
setenforce 0
echo "System Initialization Complete"
6.安装tree,ftp,lftp,telnet等包
yum install -y tree ftp lftp telnet
7.在Centos7上编译安装apache2.4源码包,并启动服务
1.安装开发工具包
yum groupinstall -y "development tools"
2.下载并解压源码包
tar xf httpd-2.4.37.tar.bz2 -C /data
3.进到解压后的目录
4.创建用户
useradd -r -u 666 -d /data/www/ -s /sbin/nologin apache
5.编译
./configure --prefix=/app/apache --sysconfdir=/etc/httpd24
make -j4
6.根据提示,安装所需依赖包
yum install -y apr-devel apr-util pcre-devel
7.安装
make install
8.设置环境变量
echo 'PATH=/app/apache/bin:$PATH' > /etc/profile.d/httpd.sh
9.添加man帮助路径到环境变量
vim /etc/man_db.conf (C6 /etc/man.config)
23 MANDATORY_MANPATH /app/apache/man
10.启动服务
/app/bin/apachectl start

浙公网安备 33010602011771号