第8天:软件运行和包管理工具

一、软件运行环境
1、ABI 应用程序的二进制接口
  window :pe
  linux :ELF
2、库级别的虚拟化
  linux :WINE
  WINDOWS :CYGWIN
3、API 应用 开发接口
4、开发语言
  gcc -E hello.c -o hello.i 对hello.c文件进行预处理,生成了hello.i文件
  gcc -S hello.i -o hello.s 对预处理文件进行编译,生成了汇编文件
  gcc -C hello.s -o hello.o 对汇编文件进行编译,生成了目标文件
  gcc hello.o -o hello 对目标文件进行链接,生成可执行文件
5、ldd 查询程序调用的库
二、软件包基础
1、红帽公司自己开发了RPM包管理系统
  rpm -q autofs
  systemctl enable --now autofs
  cd /misc/cd
2、利用cpio 工具查看包文件列表
  rpm2cpio 包文件 |cpio -itv
三、RPM包管理
1、公共数据库:安装时生成的信息
  /var/lib/rpm
2、mysql:
3、http://www.elrepo.org 最新内核包
4、rpm安装
  rpm -q vsftpd 确认包有没有装
  rpm -ivh vsftpd-3.0.0.32.x86_64.rpm
5、rpm卸载
  rpm -e vsftpd --nodeps 强行卸载
6、rpm放哪里
  rpm -ql tree 已经装了哪些文件 ,及路径
  rpm -qi tree 查包在信息
  rpm -qf 查磁盘上的文件来自哪个包
  rpm -qd 只看文档
  rpm -qa 查询所有安装的包
  rpm -qc
  rpm -k tree 检查包是否合法 rpm --import /包路径 导入KEY
  rpm -v 是否安装之后被修改过
  rpm -q --scripts 是否自带脚本
7、包校验:检查完整性
  rpm -k |checksig rmpfile
四、YUM和DNF管理
1、centos 使用yum ,dnf 解决rpm的包依赖关系
  yum 依赖于服务器和客户端,
  yum服务器存放RPM包和相关包的元数据库
2、yum客户端配置
  /misc/cd/repodata 光盘仓库
  /etc/yum.conf 所有仓库提供公共配置
  /etc/yum.repos.d/*.repo 为每个仓库提供配置文件
3、配置私有YUM服务器
  安装 yum -y install httpd
  systemctl start httpd
  systemctl enable --now httpd
  防火墙开启80端口:firewall-cmd --zone=publick --add-port=80/tcp --permanent
  `systemctl restart firewall
4、查看yum安装历史
  yum history
  undo 撤回执行
  redo 重新执行
5、仓库缓存清理: /var /cache/yum /
  yum clean
6、查询某个文件来自哪个包
  yum provides NAME
7、卸载安装文件
  yum -remove NAME
8、安装epel源:里面有1W多个包文件
  yum install epel-release
9、可用变量
  $releasever: 当前OS的发行版的主版本号
  $arch:CPU架构
  $basearch:系统基础平台
  $contentdir:表示目前
  $YUM0-$YUM9:自定义变更
10、禁用、启用仓库
  yum -config-manager --disable epel
  --enable epel
11、重新安装
  yum reinstall NAME
12、软件包升级
  yum update NAME
13、查看程序包
  yum info NMAE
14、查询来自于哪个包
  yum provides 
15、查询YUMLOG
  CAT /var/log
16、查包组
  yum groupinfo list
17、关图形
  init 3
  free -h
五、如何 升级内核
1、从内核管网下载原码,编译安装
2、利用elrepo.org
3、只下载安装文件,不安装
  yun install --downloadonly --downloaddir=/data/
六、编译安装
1、开源程序源代码的获取
  apache.org mariabd.org
  github.com gitee.com sourceforge.net code.google.com
2、编译源码的项目工具
  c的源码:使用MAKE项目管理器
  ./configure 指定安装路径和启用特性
  make根据MAKEFILE文件,会检测依赖的环境 ,进行构建应用程序
  make install 复制文件到相应路径
3、编译安装准备
  开发工具:make gcc
  开发环境:开发库:glibc
  软件相关依赖包
4、试安装
  查看tree版本:rpm -qi tree
(1)下载源码
(2)没有gcc的话,需要安装:yum install gcc
(3)解压:tar xvf tree-2.1.1.tgz -C /usr/local/src
(3) make
(4)make install
(5)创建软链接, ln -s /apps/bin/tree /usr/bin/
 
5、编译安装cmatrix
(2)没有gcc的话,需要安装:yum install gcc
(3)解压:cmatrix-1.2a.tar.gz -C /usr/local/src
(4) ./configure --prefix=/apps/cmatrix
(5)提示缺少文件:curses.h yum provides curses.h
(6)make
(7)make install
(8)执行:cmatrix -C red /green
6、安装apache
  ./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl
(3)make
(4)make install
  启动不了解决方法: netstat -nlp |grep :80 killall -9 httpd apachectl start
 
 
7、生产中常用 的包
0
七、创建私有仓库
  从网上下载:reposync --repoid=extrea --download-metadata -p /var/www/html/centos/
 
八、UBUNTU 软件管理
1、dpkg,类似rpm,但同样不能解决依赖问题
2、apt ,类似yum
  apt install -y 安装
  apt remove 卸载程序内容,不删除配置文件
  apt purge 彻底删除
  apt update 更新包资源列表
  apt search
  apt show 包的详细信息
  apt list
  apt install apt-file 类似于yum provides
3、常见用法
  dpkg -i package.deb 安装
  dpkg -r package.deb 卸载
  dpkg -P package.deb
  dpkg -l package.deb 查看装了多少包
  dpkg -s package.deb 查看包版本
  dpkg -L package.deb 查看生成了哪些文件
  dpkg -S package.deb 查看某个文件 来自于哪个包
4、配置文件
  /etc/apt/sources.list
posted @ 2024-01-18 21:24  djyhello  阅读(20)  评论(0编辑  收藏  举报