Linux软件包安装
rpm命令
命名方式 name-VERSION-release.arch.rpm
常见的arch:
x86: i386 i486 i586 i686
x86_64: x64 x86_64 amd64
跟平台无关: noarch
命令列表:
安装 rpm -ivh vsftpd-2.2.2-24.el7.x86_64.rpm
卸载 rpm -e vsftpd(必须是准确的包名)
查询 rpm -q vsftpd(必须是准确的包名)
模糊查询 rpm -qa | grep "vsft"
查看安装包里包含的文件 rpm -ql vsftpd
查看文件来自哪个包 rpm -qf /usr/bin/tree
查看未安装包的文件列表 rpm -ql -p /root/vsftpd-2.2.2-24.el7.x86_64.rpm
查看配置文件 rpm -qc vsftpd
查看包依赖的包 rpm -qR vsftpd
数据库 /var/lib/rpm
查看rpm包内的详细信息
rpm2cpio /misc/treex86-64.rpm | cpio -tv(预览详细信息) 或者 cpio -idv(解压rpm包到当前目录) 或者 cpio -idv /usr/bin/tree(解压指定文件)
yum命令
解决rpm包安装依赖问题管理工具 最新的工具叫 dnf
基于c/s结构,分为服务端和客户端. yum命令是对rpm命令的二次封装,yum的底层还是需要依赖于rpm命令的.两者不是替代和被替代的关系.
工作原理 客户端发请求后,服务端首先会到meta data中查找是否存在需要安装的rpm包和依赖包.客户端会缓存服务端的meta data
yum install 首先会下载对应包的元数据缓存到本地,然后再下载对应的rpm包,下载后的rpm包安装完成后默认会被删除.
yum默认会安装最新版本的软件包.
客户端只需要配置一个文件
repodata的父目录就是需要配置的仓库目录(baseurl)
baseurl 可以同时指定多个路径
baseurl=file:///mnt/cdrom http:// https:// ftp://
mirrorlist=file:///root/repolist
yum命令不允许在同一机器上同时并行运行多个yum的安装命令,只能串行运行.
yum list
带@符号的包表示已经被安装,@anaconda表示此包被安装操作系统的程序所安装
@base 表示已经通过yum命令从base仓库中下载安装 base 表示此rpm包存储在base仓库中,但是还没有被安装.
服务端
1.各种rpm包 2.rpm包的元数据
3.创建自己的yum源仓库
createrepo /data /data目录下存放自己的rpm包
4.搭建yum服务器
1.安装httpd服务器 httpd根目录默认是/var/www/html
2.cd /var/www/html && mkdir centos/7/os/x86_64
3.把光盘中的内容拷贝到仓库目录
mount /dev/sr0 centos/7/os/x86_64
yum repolist
yum list *ftp*
yum install httpd 或者 yum install /mnt/cdrom/httpd.rpm
yum history | yum history list 12 | yum history info 12
yum history undo 12 | yum history redo 12
yum包组功能
yum grouplinstall group1
yum grouplist group1
yum groupremove group1
源码编译
rpm 和 yum 包的安装路径在打包之前就已经固定好了,无法改变.
1.软件安装路径
2.启用哪些功能
开发工具
1. autoconf:生成configure脚本
2. automake:生成Makefile.in
3. ./configure --prefix=PREFIX 指定安装软件的总文件夹,方便软件的卸载 卸载的时候直接删除此总文件夹即可. 生成Makefile文件.
4.make 根据Makefile文件来构建二进制程序
5.make install 拷贝相关文件到安装目录
6. ./configure --prefix=/app --sysconfdir=/etc/app --disable-env --enable-charset-lite
rescue救援模式
进入救援模式会加载一个小的Linux操作系统,和硬盘的故障没有关系.系统启动后会把原来硬盘上的系统挂载到/mnt/sysimage目录上
[root@centos7 ~]# ldd /bin/ls 查看命令需要调用(依赖)的库
linux-vdso.so.1 => (0x00007ffdb09f7000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f0f1807e000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f0f17e79000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f0f17c6f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0f178ac000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f0f1764a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0f17445000)
lib64/ld-linux-x86-64.so.2 (0x0000555b426e9000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f0f17240000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0f17024000)
创建软链接需要注意点:
libc.so.6 -> libc-2.17.so
在救援模式下不能使用绝对路径的方式 ln -s /mnt/sysimage/libc-2.17.so /mnt/sysimage/libc.so.6 这样系统重启后无法找到/mnt/sysimage目录而失败
必须使用相对路径 cd /mnt/sysimage/ ln -s libc-2.17.so libc.so.6
2.ldconfig -p
3.mount /dev/sr0 /mnt/cdrom
安装rpm包指定以什么目录为根
rpm -ivh /mnt/packages/rpm_4.8.rpm --root=/mnt/sysimage/
切换根目录
chroot /mnt/sysimage/
Linux软件包安装的更多相关文章
- Linux 软件包安装管理
转自:http://www.cnblogs.com/Quains/archive/2012/01/03/2311049.html 本文主要是记录下RedHat系列的软件包管理. 内容分为以下三个部分: ...
- Linux软件包安装(rpm、yum、apt-get)
转载自:https://blog.csdn.net/wzq__janeGreen_/article/details/81774924 rpm/yum适用于Redhat.CentOS.Suse等平台: ...
- Linux软件包安装和卸载
安装软件包的三种方法 1.rpm.yum.源码包 2.yum会把依赖的包都安装上 rpm包介绍 3.rmp报名组成结构:yum-3.4.3-132.el7.centos.0.1.noarch.rpm ...
- linux 软件包安装方式选择、安装位置、源码包安装
对外提供服务,比如apache,应使用源码包安装对内提供服务,比如gcc,只是我自己使用,使用rpm包安装 rpm包不需要指定安装位置,源码包的安装需要手动指定安装位置 rpm包默认安装位置/etc/ ...
- Linux学习笔记之linux软件包安装以及源的替换
先是软件源的替换,在刚安装的Ubuntu中会配有原先的软件源,所以如果要替换时,可在网上找与自己ubuntu相对应的软件源,比如我的ubuntu版本为12.04,所以我得找到相对应能够适用Ubuntu ...
- 〖Linux〗关于Linux软件包安装位置、版本查询
1. 查询版本 aptitude show [软件] 2. 查询路径 dpkg -L [软件] whereis [软件] which [软件]
- linux软件包的安装和卸载
这里分两种情况讨论:二进制包和源代码包. 一.linux二进制分发软件包的安装和卸载 Linux软件的二进制分发是指事先已编译好二进制形式的软件包的发布形式,其长处是安装使用容易,缺点则是缺乏灵活性, ...
- linux笔记:linux软件包管理,软件安装位置
linux软件包简介 软件包分类:1.源码包(用C语言等编写的源代码,没有进行编译):脚本安装包(对源码包进行了安装优化的源码包)优点:开源,可修改可以自由选择所需的功能编译安装,更适合自己的系统,稳 ...
- Linux 下安装python软件包(pip、nose、virtualenv、distribute )
新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...
随机推荐
- [Laravel] 05 - Controller
大纲 PHP章节貌似有类似功能,回头看下. 请求 URL 一.URL 处理方法 请求使用的是:symfony/http-foundation组件 $_GET, $_POST, $_COOKIE, $_ ...
- TP5分页类
<?php class Page { public $page; //当前页 public $total; //总记录数 public $listRows; //每页显示记录数 private ...
- 单元测试以文件流的形势传参调用api进行测试
[TestMethod] public void Test() { byte[] buffer;//文件转换为二进制流 string path = @"E:\aaa"; Encod ...
- 服务器虚拟化ESXi 5.5安装过程
研究服务器虚拟化实践小结: 实验服务器硬件: 主板 华硕P8B-C/2L CPU Intel Xeon E3-1230 V2 3.3GHz RAM 8G ECC 1600MHz 硬盘 2T 2块 软件 ...
- vs2017更新后web项目部分后台代码类没有颜色,也没有自动提示输入功能
vs2017有的版本更新后默认.net framework框架是.net framework4.6.1,将项目的.net framework框架更改为4.6.1,颜色和自动提示出现
- web站点健康检测和告警小脚本
#!/bin/sh web01="http://172.18.52.xx:8080/web/api/getTime" web02="http://172.18.52.xx ...
- Solr7.4.0的API(Solrj)操作及项目中的使用
一.SolrJ的概念 solr单机版服务搭建:https://www.cnblogs.com/frankdeng/p/9615253.html solr集群版服务搭建:https://www.cnbl ...
- RPC框架-通俗易懂的解释
早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来.假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进程都写一个画图的功能.这不是整人么?于是就出现了IPC( ...
- ML.NET教程之出租车车费预测(回归问题)
理解问题 出租车的车费不仅与距离有关,还涉及乘客数量,是否使用信用卡等因素(这是的出租车是指纽约市的).所以并不是一个简单的一元方程问题. 准备数据 建立一控制台应用程序工程,新建Data文件夹,在其 ...
- Steeltoe之Circuit Breaker篇
在分布式系统中,服务发生异常是很正常的现象.为了处理这类"例外",可以采取不同的应对策略,断路器模式即是其中一种方法.这个模式的主要特点是其可以阻断失败的级联影响,不会因为一个服务 ...