软件运行和编译
ABI
Linux 可执行文件类型为ELF
file /bin/cat

Win 可执行文件类型为PE
程序源代码,静态编译.a,动态编译.so(shared object共享对象)
Ldd /bin/cat 可查看cat所依赖的动态库
Ldd /bin.ls查看ls依赖的库
/lib64/libc.so.6这个动态链接库文件移动或删除导致其他不能用,其他运行依赖此动态库
救援模式,重启出现进度条按esc进入救援模式,系统根被挂载到/mnt/sysimage下

之前移动到/root下mv /lib64/libc.so.6 /root/则系统不能正常运行命令
在救援模式则执行mv /mnt/sysimage/root/libc.so.6 /mnt/sysimage/lib64/后执行reboot重启即可

如果是删除 rm /lib64/libc.so.6,如果是centos6进入救援模式后则执行cd /mnt/sysimage/lib64后ln -s libc-2.12.so libc.so.6后reboot重启即可
如果是centos7则进入救援模式后则执行cp /lib64/libc.so.6 /mnt/sysimage/lib64/后reboot重启即可
解压文件tar xvf file.tar.xz
Du -sh file查看文件大小
Find dir/ -name ".c" |wc -l查看目录下一共有多少个.c的文件
Cat `find dir/ -name "
.c" `|wc -l 查看一共有多少行代码
挂载光盘mount /dev/cdrom /mnt
Cd /mnt
Cd /Packages
ls .rpm|rev |cut -d. -f2|rev |sort|uniq -c查看不同类型架构的个数
ls
.rpm |sed -r 's@^.*.([^.]+).rpm$@\1@'|sort -nr|uniq -c另一种方法
rpm2cpio zip-3.0-11.el7.x86_64.rpm |cpio -tv,使用cpio解包并查看
数据库(公共)位置/var/lib/rpm至关重要,不能删除
程序包的来源

Rpm

神奇目录
Ls /misc/cd
需要安装

Rpm -q 查询,rpm -e 卸载
Rpm -q vsftpd &> /dev/dull || rpm -I /misc/cd /Packages/vsftpd.xxx.rpm检查是否安装,未安装则安装
Rm -f /usr/bin/tree,再安装
Rpm -ivh /dir/xxx.rpm --replacepkgs覆盖安装
Rpm-ivh 网络路径,支持网络安装
Rpm -qi tree查询相关信息
如果未安装则需要加p选项

Rpm -qf /bin/cat查询来自于哪个包安装生成
Rpm -ql /bin/cat查询全部文件
Rpm -qc /bin.cat 查询配置文件

包校验rpm -V ,rpm -K,公钥在光盘下RPM-GPG-KEY-CENTOS-7

进入光盘,cat RPM-GPG-KEY-CentOS-7查看公钥内容
rpm --import /mnt/RPM-GPG-KEY-CentOS-7导入公钥
rpm -K /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm检查包的合法性
查询u所有包rpm -qa "gpg-pubkey*"
rpm -qi gpg-pubkey-f4a80eb5-53a7ff4b查看公钥
Rpm -e gpg-pubkey-f4a80eb5-53a7ff4b卸载
YUM yellowdog update modifier
rpm的前端程序,可解决软件包相关依赖性
https://mirrors.aliyun.com/epel/7/x86_64/repodata/阿里云的仓库路径
配置yum客户端和服务器端
首先配置客户端
Yum基本配置
vim /etc/yum.conf
cachedir=/var/cache/yum/$basearch/$releasever(y元数据缓存的文件夹)
keepcache=0(安装包下载后是否删除,0表示删除)
debuglevel=2(调试)
logfile=/var/log/yum.log(安装卸载yum日志)
exactarch=1
obsoletes=1
gpgcheck=1(检查数字签名,是否破坏过,1表示要检查)
plugins=1
installonly_limit=5

Cat /var/log/yum.log查看yum日志
/etc/yum.repos.d
Sz 文件名,将文件传送至桌面,只能传送文件,不能传送目录文件
在/etc/yum.repos.d下
建立一个文件vim base.repo
[base]
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ 设置仓库路径
#gpgcheck=1(注释掉密钥检查)
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7密钥检查
桥接网卡下使用service network restart重启网络即可上网
Yum install httpd 安装
另外新建一个epel源,vim epel.repo
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgcheck=0
安装sl ,yum install sl,直接运行sl则出现小火车
yum repolist 列出所有仓库
若想禁用某yun源,则进去加上enable=0的语句即可

本地yum源设置,
首先yum install auto和systemctl enable autofsfs和systemctl start autofs安装autofs并使神奇目录生效
取消挂载umount 挂载点,即可取消相应的挂载点,通过df查看挂载情况
同样进入/etc/yum.repos.d,使baseurl=file:///misc/cd,即可

Ls /var/cache/yum/x86_64/7/存放yum缓存
Rm -rf /var/cache/yum/x86_64/7/彻底删除,不建议,可使用yum clean all 清空缓存
Yum install tree -y,其中-y表示交互式变为批处理方式,不用后面安装提示再输入
Yum reinstall tree -y 表示重新安装
卸载yum remove tree -y
rpm -q tree &> /dev/null ||yum install tree -y实现如果没有tree则安装tree 包

实验:基于HTTP局域网的yum源
1安装HTTP包,yum install httpd
2rpm -qi httpd检查安装包相关信息,rpm -ql httpd 查看包里包含哪些文件,这两个为安装完后习惯性动作
httpd包里包含的/usr/lib/systemd/system/httpd.service为重要文件
安装完后systemctl status httpd.service查看状态
Systemctl start httpd.service启动服务
Systemctl enable httpd.service下次开机服务自动重启
从浏览器中输入本机Ip即可访问
/var/www/html网页内容存放处
可以echo haoyunlong >> index.html,刷新网页则出现echo后的内容
在/var/www/html/下建立文件夹mkdir -pv centos/{6,7}/os/x86_64/,
mount /dev/sr0 /var/www/html/centos/7/os/x86_64/,将光盘挂在在/var/www/html/centos/7/os/x86_64/,刷新网页即可看到目录
http://192.168.1.14/centos/7/os/x86_64/,当前IP为192.168.1.14

1关闭防火墙
Centos7中
systemctl disable firewalld,systemctl stop firewalld现在生效
Centos6中
Servicce iptables stop ,chkconfig iptables off
2关闭selinux
Centos7中
Cat /etc/selinux/config
利用sed修改
Sed -I 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
3重启
Reboot
重启后getenforce,结果为disabled
加一块硬盘
Echo '- - -' >/sys/class/scsi_host/host2/scan,可对此进行别名定义scandisk,用于扫描光盘,不用重启就能看到
Yum list|less查看所有包@开头为已经安装的
yum源可以在/etc/yum
Yum remove libvert-daemon卸载虚拟网卡

软件包管理课堂复习笔记