linux的for、while等函数基础及yum、apt软件安装基础和linux的网络基础

1、基于gcc命令说明 c语言编译过程

C 程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接
1,查看.C后缀文件
在这里插入图片描述
2,gcc -E hello.c -o hello.i 对hello.c文件进行预处理,生成了hello.i 文件
在这里插入图片描述
3,gcc -S hello.i -o hello.s 对预处理文件进行编译,生成了汇编文件
在这里插入图片描述
4,gcc -c hello.s -o hello.o 对汇编文件进行编译,生成了目标文件
在这里插入图片描述
5,gcc hello.o -o hello 对目标文件进行链接,生成可执行文件
在这里插入图片描述
已经可以执行
注:此结果一条命令也可以搞定gcc hello.c -o hello 直接编译链接成可执行目标文件

2、总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何通过命令获取?

程序包管理器

主流的程序包管理器
redhat:rpm文件, rpm 包管理器,rpm:Redhat Package Manager,RPM Package Manager (红帽)
debian:deb文件, dpkg 包管理器(unbuntu)

软件包包含的文件

1>二进制文件
2>库文件
3>配置文件
4>帮助文件
5>利用 cpio工具查看包文件列表
在这里插入图片描述

3、总结程序包获取途径,以及rpm, yum, apt命令选项示例

软件包需要事先将源码进行编译后打包形成,获取包的途径如下:

系统发版的光盘或官方网站

CentOS 镜像:
https://www.centos.org/download/
http://mirrors.aliyun.com
https://mirrors.huaweicloud.com/
https://mirror.tuna.tsinghua.edu.cn/
http://mirrors.sohu.com
http://mirrors.163.com
Ubuntu 镜像:
http://cdimage.ubuntu.com/releases/
http://releases.ubuntu.com

第三方组织提供

https://fedoraproject.org/wiki/EPEL
https://mirrors.aliyun.com/epel/
https://mirrors.cloud.tencent.com/epel/

软件项目官方站点

http://yum.mariadb.org/10.4/centos8-amd64/rpms/
http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/

搜索引擎

http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net
https://sourceforge.net/

自己制作

将源码文件,利用工具,如:rpmbuild,fpm 等工具制作成rpm包文件

RPM

  • rpm -qf which ifconfig 查询某个命令来自哪个包
    rovky系统上安装、卸载、升级、查询、校验、数据库维护
    rpm -i 软件包 安装软件包(加vh显示安装过程)
    rpm -q 软件包名称 查询软件包是否安装
    rpm -qi 软件名称 查询软件版本
    rpm -qa 列出所有目前装好的包(配合rpm -qa | grep 半个包名 模糊搜索)
    rpm -e 软件包名称 卸载软件包
    rpm -ql 软件包名称 列出包里包含的所有文件
    rpm -q --scripts 软件包名称 查询软件脚本内容
    rpm -qf 磁盘文件 查询磁盘文件来自哪个包

YUM

  • yum provides */route 知道你要安装的那个命令,然后去查找对应的软件仓库
    yum [options] [command] [package …]
    yum -y 自动回答YES
    yum install 软件 安装软件
    yum info 软件 查询软件安装信息
    yum remove 卸载程序包
    yum -y install --downloadonly --downloaddir=/data/httpd httpd 只下载相关依赖包不安装
    yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除缓存
    yum makecache 构建缓存

APT

apt install 安装软件包
apt remove 移除软件包
apt update 刷新存储库索引
apt show 显示安装细节
apt full-upgrade 在升级软件包时自动处理依赖关系
apt list 列出包含条件的包
apt-cache stats 查看包相关信息
dpkg -S filename 查找存在的文件来自于哪个包

4、简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个虚拟机使用

工作原理

yum/dnf 是基于C/S 模式
1>yum 服务器存放rpm包和相关包的元数据库
2>yum 客户端访问yum服务器进行安装或查询等
yum 实现过程
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的
元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动
下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并
安装。

搭建私有YUM仓库(rocky9搭建私有仓库给rocky9-2使用)

1,rocky9先下载httpd,以提供共享地址,没安装先yum安装,
在这里插入图片描述
启动httpd服务后,本机ip,百度已经可以访问
在这里插入图片描述
网页内容就来自以下文件
在这里插入图片描述
2,进入共享数据目录
在这里插入图片描述
3,dnf reposync --repoid=epel --download-metadata -p /var/www/html/epel 用此命令下载软件到本地epel
在这里插入图片描述
4,网站指明路径,便可以正常提供下载
在这里插入图片描述
5,修改epel源地址
在这里插入图片描述
6,安装本地自配源的6tunnel安装
在这里插入图片描述
7,安装成功
在这里插入图片描述

5、总结系统安装之后的常用初始化步骤。rocky/ubuntu

rocky

关闭SELinux

sed -i ‘/^SELINUX=/c SELINUX=disabled’ /etc/selinux/config

关闭防火墙

systemctl disable --now firewalld

支持光盘,/misc/cd对应就是光盘内容

yum -y install autofs
systemctl enable --now autofs

修改网卡名称

[root@rocky8 ~]#sed -ri ‘/GRUB_CMDLINE_LINUX=/s#(.*)“$#\1 ifnames=0”#’ /etc/default/grub
[root@rocky8 ~]#grub2-mkconfig -o /boot/grub2/grub.cfg ;reboot

配置仓库

系统源,EPEL源

最小化安装系统后,建议安装常用软件

yum -y install autofs vim-enhanced tcpdump autofs chrony lrzsz tree telnet ftp lftp redhat-lsb-core bash-completion net-tools postfix wget bzip2 zip unzip xz lsof mlocate man-pages rsync

unbuntu

开启root远程登录功能

#sudo -i
#passwd root
#sed -i ‘/PermitRootLogin/c PermitRootLogin yes’ /etc/ssh/sshd_config
#systemctl restart sshd

修改默认时间

#date查看时区
#timedatectl set-timezone Asia/Shanghai 修改为中国上海时间

修改网卡名称为eth*

#修改开机引导文件 vi /etc/default/grub
修改GRUB_CMDLINE_LINUX=“”
改为GRUB_CMDLINE_LINUX=“net.ifnames=0 biosdevname=0”
#update-grub 更新开机引导文件
#sed -i “s/ens33/eth0/” /etc/netplan/00-installer-config.yaml修改配置文件网卡名为eth0
#reboot重启生效

配置国内yum源

#vim /etc/apt/sources.list 删除原文件内容复制官方yum源直接到soueces.list

ubuntu 建议安装的常用包

#apt install iproute2 ntpdate tcpdump telnet traceroute nfskernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev
zlib1g-dev gcc openssh-server iotop unzip zip purge ufw lxd lxd-client lxcfs liblxc-common

6、解读一键安装httpd脚本,并自行实现一个一键安装脚本

解读一健安装httpd脚本

#!/bin/bash
CPUS=grep -c processor /proc/cpuinfo (设置CPU核数变量)
HTTPD_VERSION=2.4.52 (设定版本)
INSTALL_DIR=/apps/httpd (安装路径)
COLOR=“echo -e \E[32;1m” (颜色)
END=“\E[0m”
systemctl disabl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值