当前位置: 首页 > news >正文

Linux操作系统常见安装方式

              Linux操作系统常见安装方式

                                  作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

  在window操作系统安装程序只需要点点鼠标就能搞定的事情,但是在Linux操作系统中,尤其是字符终端,想要安装一款Linux程序我们有什么方法呢?Linux操作系统的安装方式分为三大类,即源码安装,rpm安装,以及当前Linux发行版本的安装管理包工具,比如CentOS操作系统的用python写的yum,再比如ubantu操作系统中的用C语言写的apt-get管理包工具,还有我们Mac操作系统中的Homebrew管理包工具等等。

  如果你是运维工程师的话那么你可以关掉此网页了,本篇博客主要是对刚刚接触Linux的小白写的。

 

 

一.源码安装

   源码安装方式是运维人员的我最喜欢的安装方式。也是我推荐给大家的安装方式。因为你可以自定义指定安装路径,以及在安装过程中指定服务的安装参数实现定制化安装。比如源码安装MySQL数据库:感兴趣的小伙伴可以参考:http://www.cnblogs.com/yinzhengjie/p/6404583.html

 

二.yum方式安装

   yum安装方式是redhat以及我们常用的CentOS等linux发现版本操作系统的第三方包的管理工具,使用它我们可以轻松实现对软件的安装操作。

1>本地yum源配置案例

 1 [root@尹正杰 ~]# cat /etc/yum.repos.d/local.repo 
 2 #指定的是yum源的名称,用于标记此yum源是干嘛的,用户可以自定义,我这里定义为“local_couce”,意思是本地yum源
 3 [local_couce]        
 4 #这个name字段就是对上面我们定义yum源名称的一个描述作用。            
 5 name= local disk from CD
 6 #指定查找依赖关系的路径,可以写网络路径也可以写本地路径,由于我是本地yum源,次数写的是本地路径(需要你自行挂载),"file://"表使用本地yum的文件协议
 7 baseurl=file:///mnt/
 8 #是否启用baseurl的配置,0表baseurl定义不可用,1表可用
 9 enabled=1
10 #表示是否进行标签检测;0表不进行,1表进行
11 gpgcheck=0
12 #指定标签的认证机构
13 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
14 [root@尹正杰 ~]#

2>.网络yum源配置案例(前提是你的主机可以访问互联网)

1 [root@尹正杰 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2 [root@尹正杰 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
3 [root@尹正杰 ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
4 [root@尹正杰 ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
5 [root@尹正杰 ~]# rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
6 [root@尹正杰 ~]# yum clean all
7 [root@尹正杰 ~]# yum repolist  #更新epel源
8 [root@尹正杰 ~]# yum makecache  #更新yum源
9 [root@尹正杰 ~]#

3>.更换epel源

1 [root@尹正杰 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
2 [root@尹正杰 ~]# yum -y install epel-release 
3 [root@尹正杰 ~]# sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/epel.repo
4 [root@尹正杰 ~]# sed -i "s/mirrorlist/#mirrorlist/g" /etc/yum.repos.d/epel.repo
5 [root@尹正杰 ~]# sed -i "s#http://download.fedoraproject.org/pub#https://mirrors.tuna.tsinghua.edu.cn#g" /etc/yum.repos.d/epel.repo
6 [root@尹正杰 ~]# 

4>.保存安装包到本地

  编辑yum的配置文件"/etc/yum.conf",将“keepcache=0”修改为“keepcache=1”即可。默认保存的rpm包保存在"/var/cache/yum/x86_64/6/base/packages"(这是CentOS6.x发行版本的安装环境)。

5>.yum工具包常用命令

 1 1>.查看软件包
 2   yum list all              ##列出yum源仓库里面的所有可用的安装包 
 3   yum list installed        ##列出所有已经安装的安装包  
 4   yum list available        ##列出没有安装的安装包
 5 2>.安装软件
 6   yum -y install softwarename  ##安装指定的软件
 7   yum reinstall softarename ##重新安装指定的软件
 8   yum localinstall 第三方software  ##安装第三方文件并且会解决软件的依赖关系
 9   yum -y remove  softwarename  ##卸装指定的软件
10   yum install --downloadonly --downloaddir=/home/centos nano    #下载nano软件包名将其保存在在/home/centos
11   yum localinstall nano-2.3.1-10.el7.x86_64.rpm                    #本地安装
12 3>.查找软件的信息
13   yum info software         ##查看软的信息
14   yum search keywords       ##根据关键字查找到相关安装包软件的信息
15   yum whatprovides filename ##查找包含指定文件的相关安装包
16 4>.对于软件组
17    yum groups list          ##列出软件组
18    yum groups install       ##安装一个软件组
19    yum group remove         ##卸载一个软件组
20    yum groups info          ##查看一个软件组的信息

 

三.rpm方式安装

 1 1>.rpm命令是用格式:
 2     rpm [参数] 软件包名
 3 2>.参数详解:
 4     -a:查询所有套件;
 5     -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
 6     -c:只列出组态配置文件,本参数需配合"-l"参数使用;
 7     -d:只列出文本文件,本参数需配合"-l"参数使用;
 8     -e<套件档>或--erase<套件档>:删除指定的套件;
 9     -f<文件>:查询拥有指定文件的套件;
10     -h或--hash:套件安装时列出标记;
11     -i:显示套件的相关信息;
12     -i<套件档>或--install<套件档>:安装指定的套件档;
13     -l:显示套件的文件列表;
14     -p<套件档>+:查询指定的RPM套件档;
15     -q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
16     -R:显示套件的关联性信息;
17     -s:显示文件状态,本参数需配合"-l"参数使用;
18     -U<套件档>或--upgrade<套件档>:升级指定的套件档;
19     -v:显示指令执行过程;
20     -vv:详细显示指令执行过程,便于排错。
21 3>.软件包:
22     指定要操纵的rpm软件包。
23     我们举个例子:rpm -ivh nano-2.3.1-10.el7.x86_64.rpm

 

转载于:https://www.cnblogs.com/yinzhengjie/p/9027269.html

相关文章:

  • Android获取SD卡中选中图片的路径(URL)
  • Fragment结合ViewPager来回切换的问题
  • 如何判断某经纬度是否在地图不规则区域内(Objective-C 实现)
  • poj 1088 滑雪问题
  • 使用Jupyter Notebook编写技术文档
  • Nape的回调系统 nape.callbacks
  • Etcd集群与gRPC
  • 用友3.0时期,用友优普聚焦中型企业互联网化
  • 文件读写内容替换
  • 【线程】Thread中的join介绍
  • WCF学习资料
  • SQL 快速参考-----http://www.runoob.com/sql/sql-quickref.html
  • Linux 批量添加用户
  • SQL处理数字的几种方法
  • seo专题之开篇有益
  • 自己简单写的 事件订阅机制
  • 【5+】跨webview多页面 触发事件(二)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 30天自制操作系统-2
  • angular组件开发
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Git同步原始仓库到Fork仓库中
  • JavaScript 基础知识 - 入门篇(一)
  • JS字符串转数字方法总结
  • passportjs 源码分析
  • PHP 的 SAPI 是个什么东西
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • rabbitmq延迟消息示例
  • Sass 快速入门教程
  • SpringBoot 实战 (三) | 配置文件详解
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Vue学习第二天
  • 前端技术周刊 2019-02-11 Serverless
  • 我建了一个叫Hello World的项目
  • 2017年360最后一道编程题
  • const的用法,特别是用在函数前面与后面的区别
  • 昨天1024程序员节,我故意写了个死循环~
  • ​io --- 处理流的核心工具​
  • ​什么是bug?bug的源头在哪里?
  • # Maven错误Error executing Maven
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • (30)数组元素和与数字和的绝对差
  • (7)STL算法之交换赋值
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C++17) std算法之执行策略 execution
  • (SpringBoot)第二章:Spring创建和使用
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (一)kafka实战——kafka源码编译启动
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)VC++中ondraw在什么时候调用的
  • ..回顾17,展望18