Linux练习04

Linux练习4

  • 1、查找/var目录下不属于root、lp、gdm的所有文件
  • 2、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)
  • 3、利用sed取出ifconfig命令中本机的IPv4地址
    • 方法1:
    • 方法2:
  • 4、总结yum的配置和使用,包括yum仓库的创建
  • 5、编写系统初始化脚本 reset.sh包括别名提示符颜色,yum仓库配置文件
  • 6、安装tree,ftp,lftp,telnet等包
  • 7、在CentOS7上编译安装apache2.4源码包,并启动此服务
    • a.检查编译安装需要的包组是否安装
    • b.创建启动apache服务需要的用户httpd用户组http,设置相关的家目录并赋权
    • c.下载、解压、编译、安装并执行apache组件

1、查找/var目录下不属于root、lp、gdm的所有文件

find /var !  -user root  ! -user gdm  ! -user lp | xargs ls -dl | more

2、统计/etc/init.d/functions文件中每个单词的出现次数,并排序(用grep和sed两种方法分别实现)

grep -Eo "[a-zA-Z]+" /etc/init.d/functions |sort|uniq -c|sort -nr

sed  -r  's/[^a-zA-Z]+/\n/g' /etc/init.d/functions|sed '/^\s*$/d'|sort |uniq -c |sort -nr

注意sed使用-n参数显示输出的结果与grep会出现不同,使用以下指令会出现fi统计数据缺少
sed -nr 's/[^a-zA-Z]+/\n/gp' /etc/init.d/functions|sed '/^\s*$/d'|sort |uniq -c |sort -nr

·

3、利用sed取出ifconfig命令中本机的IPv4地址

方法1:

CenOS7

ifconfig ens33| sed -n '/inet .* netmask/p'| sed -nr 's/inet (.*) netmask.*$/\1/p' |tr -s " " :|cut -d: -f2|head -1

Cenos 6.1

ifconfig eth0| sed -n '/inet addr:.* Bcast/p'| sed -n -r 's/inet addr:(.*) Bcast.*$/\1/p'|tr -s " " :|cut -d: -f2| head -1

方法2:

centos6中更换网卡名称就行了。

ifconfig ens33|sed -nr  '2!d;s/.*inet (addr:)?//;s/ .*//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
c="alias cdnet='cd /etc/sysconfig/network-scripts/'"
a="alias ednet='vim /etc/sysconfig/network-scripts/ifcfg-ens33'"
echo $c >> /root/.bashrc
echo $a >> /root/.bashrc
source /root/.bashrc
echo -e "PS1=\"\e[33m[\u@\h \W]\$\e[m\"" > /etc/profile.d/env.sh
source /etc/profile.d/env.sh
echo 'PATH=/data/bin:$PATH' > /etc/profile.d/input.sh
source /etc/profile.d/input.sh
chmod +x /etc/profile.d/*
yum -q -y install autofs
systemctl enable autofs
systemctl start autofs
ls /misc/cd
[ -d /etc/yum.repos.d/bak ] && echo "yes" exit || mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
touch /etc/yum.repos.d/base.repo
echo -e "[base]\nname=cdrom\nbaseurl=file:///misc/cd\ngpgcheck=0" >>/etc/yum.repos.d/base.repo
#!/bin/bash
c="alias cdnet='cd /etc/sysconfig/network-scripts/'"
a="alias ednet='vim /etc/sysconfig/network-scripts/ifcfg-ens33'"
echo $c >> /root/.bashrc
echo $a >> /root/.bashrc
source /root/.bashrc
echo -e "PS1=\"\e[33m[\u@\h \W]\$\e[m\"" > /etc/profile.d/env.sh
source /etc/profile.d/env.sh
echo 'PATH=/data/bin:$PATH' > /etc/profile.d/input.sh
source /etc/profile.d/input.sh
chmod +x /etc/profile.d/*
mkdir /data/base
mount /dev/sr0 /data/base 
[ -d /etc/yum.repos.d/bak ] && echo "yes" exit || mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak
touch /etc/yum.repos.d/base.repo
echo -e "[base]\nname=cdrom\nbaseurl=file:///data/base\ngpgcheck=0"
>>/etc/yum.repos.d/base.repo

6、安装tree,ftp,lftp,telnet等包

yum install tree ftp lftp telnet

7、在CentOS7上编译安装apache2.4源码包,并启动此服务

a.检查编译安装需要的包组是否安装

检查apache编译依赖的程序组件及相关软件环境正常安装

yum grouplist

若未安装则进行安装

yum  groupinstall Development tools

确定APR与APR-Util、PCRE(Perl-Compatible Regular Expressions Library )、GCC或其他的标准C编译环境均正常安装,确定磁盘空间达到50MB以上 ,检查Perl5解释器达到V5.003以上版本。

rpm -q apr-devel
rpm -q apr-util-devel
rpm -q pcre-devel
rpm -q openssl-devel

若未安装则执行如下操作

yum install apr-devel           #安装APR开发组包
yum install apr-util-devel      #安装APR-Util开发组包
yum install pcre-devel          #安装PCRE开发组包
yum install openssl-devel       #安装SSl安全链接服务开发组包

小贴士:通常开发组包名称都是以 “组件名称-devel”构成

b.创建启动apache服务需要的用户httpd用户组http,设置相关的家目录并赋权

 useradd -r -u 80 -d /data/www -s /sbin/nologin httpduseradd -r -u 80 -d /data/www -s /sbin/nologin httpd

c.下载、解压、编译、安装并执行apache组件

#下载软件包

wget https://www.apache.org/dist/httpd/httpd-2.4.39.tar.bz2

#解压软件包

tar xvf httpd-2.4.39.tar.bz2 

进入软件源码目录

cd  httpd-2.4.39

阅读软件说明安装说明及编译帮助

cat README
cat INSTALL
./configure --help

#设置默认安装目录为/app/httpd默认配置文件存储目录为/etc/httpd24(apache组件默认安目录为PREFIX/etc), 打开服务SSL/TSL(mod_ssl)

./configure --prefix=/app/httpd  --sysconfdir=/etc/httpd24 --enable-ssl

#设置程序安装目录路径到系统文件路径参数中

echo 'PATH=/app/httpd/bin:$PATH' > /etc/profile.d/httpd.sh 
./etc/profile.d/httpd.sh

#导入帮助手册
编辑/etc/man.config|man_db.conf文件添加一个MANPATH

vim /etc/man.config

#修改配置文件将httpd设置为默认服务启动用户、用户组

vim /etc/httpd24/httpd.conf

Linux练习04_第1张图片
默认首页为PREFIX/htdocs目录下index.html,如果需要可对其内容进行修改

#启动apache服务
apacecrl start
#停止apache服务
apache stop

你可能感兴趣的:(Linux练习04)