Linux 软件安装
目录
一、Linux
1、Linux异常解决
1、JDK安装
1、Linux卸载JDK
2、Linux安装JDK
2、Redis安装
一、Linux
1、Linux异常解决
1、Another app is currently holding the yum lock; waiting for it to exit...
解决办法:
rm -f /var/run/yum.pid1、杀死这个应用程序
ps aux | grep yum(查询有关yum的进程,找到那个更新进程)
命令:kill -s 9 2833 pid
kill 的用法: kill [信号代码] 进程ID
注:信号代码可以省略;我们常用的信号代码是 -s 9 ,表示强制终止;
2833是这个进程的ID
2、强制关掉yum进程,并重新运行yum
#rm -f /var/run/yum.pid
注:强制删除:#rm -f
解释:强制删除文件: /var/run/yum.pid
如果上面方法不行的话,尝试使用下面的方法。
1、JDK安装
1、Linux卸载JDK
1、查看java -version查看linux系统是否已经安装jdk
[root@localhost java]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
2、查看jdk安装的路径:which java
[root@localhost java]# which java
/usr/java/jdk1.8.0_202/bin/java
3、卸载jdk
rm -rf /usr/java/jdk1.8.0_202/bin/java
4、删除环境变量:export开头的三行
[root@localhost java]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5、检查下系统自带的jdk,并删除它
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
2、Linux安装JDK
JDK官方下载地址
1、将文件jdk-21.0.1_linux-x64_bin.tar.gz移动到/usr/java下,usr下没有java文件夹,可以先创建java文件夹:mkdir java
[root@localhost java]# ls
jdk-21.0.1_linux-x64_bin.tar.gz
2、解压
[root@localhost java]# tar -zxvf jdk-21.0.1_linux-x64_bin.tar.gz
3、在/etc/profile文件中,配置环境变量,使JDK在所有用户中生效
编辑文件,在最后添加如下三行:
export JAVA_HOME=/usr/java/jdk-21.0.1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4、保存退出后,执行source /etc/profile使修改的环境变量生效
[root@localhost java]# source /etc/profile
5、使用java -version命令测试是否成功
[root@localhost etc]# java -version
java version "21.0.1" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)
2、Redis安装
Redis是基于c语言编写的需要安装依赖,需要安装gcc:
yum install gcc-c++
查看gcc版本:
gcc -v
下载Redis
wget http://download.redis.io/releases/redis-7.2.3.tar.gz[root@localhost redis]# wget http://download.redis.io/releases/redis-7.2.3.tar.gz --2023-11-24 00:18:22-- http://download.redis.io/releases/redis-7.2.3.tar.gz
Resolving download.redis.io (download.redis.io)... 45.60.125.1
Connecting to download.redis.io (download.redis.io)|45.60.125.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3384816 (3.2M) [application/octet-stream]
Saving to: ‘redis-7.2.3.tar.gz’100%[========================================================================================>] 3,384,816 200KB/s in 23s2023-11-24 00:18:56 (146 KB/s) - ‘redis-7.2.3.tar.gz’ saved [3384816/3384816]
解压并安装Redis
tar -zvxf redis-7.2.3.tar.gz
cd redis-7.2.3/
make[root@localhost redis-7.2.3]# make install
cd src && make install
which: no python3 in (/usr/java/jdk-21.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: Entering directory `/usr/lwz_tools/redis/redis-7.2.3/src'CC Makefile.dep
make[1]: Leaving directory `/usr/lwz_tools/redis/redis-7.2.3/src'
which: no python3 in (/usr/java/jdk-21.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
make[1]: Entering directory `/usr/lwz_tools/redis/redis-7.2.3/src'Hint: It's a good idea to run 'make test' ;)INSTALL redis-serverINSTALL redis-benchmarkINSTALL redis-cli
make[1]: Leaving directory `/usr/lwz_tools/redis/redis-7.2.3/src'
[root@localhost redis-7.2.3]#
redis默认安装路径:/usr/local/bin
[root@localhost redis-7.2.3]# cd /usr/local/bin
[root@localhost bin]# ls
redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
redis默认不是后台启动,更改启动方式
有关redis配置文件的一些说明:
然后修改redis.conf文件中的一些配置
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123456# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
启动redis-server服务
通过指定配置文件启动服务
redis-server redisconfig/redis.conf
使用redis-cli连接测试
redis-cli -p 6379[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>#有密码需要 auth 你的密码
查看redis的进程是否开启(新开一个会话)
[root@localhost ~]# ps -ef|grep redis
root 7328 1 0 02:06 ? 00:00:00 redis-server 0.0.0.0:6379
root 7333 1565 0 02:06 pts/0 00:00:00 redis-cli -p 6379
root 7384 7345 0 02:12 pts/1 00:00:00 grep --color=auto redis
[root@localhost ~]#
如何关闭redis服务
127.0.0.1:6379> shutdown
not connected> exit
[root@localhost bin]#
再次查看服务:
[root@localhost ~]# ps -ef|grep redis
root 7386 7345 0 02:14 pts/1 00:00:00 grep --color=auto redis
设置Redis开机自启动
首先,新建一个系统服务文件:
vi /etc/systemd/system/redis.service
内容 /usr/local/bin/redis.conf指定配置文件路径可修改
[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target
然后重载系统服务:
systemctl daemon-reload
现在,我们可以用下面这组命令来操作redis了:
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
执行下面的命令,可以让redis开机自启:
systemctl enable redis
性能测试
redis 性能测试的基本命令如下:
redis-benchmark [option] [option value]
测试100个并发链接,每个并发100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
Summary:throughput summary: 10989.01 requests per secondlatency summary (msec):avg min p50 p95 p99 max5.135 1.600 4.479 9.823 13.223 25.231
====== LRANGE_600 (first 600 elements) ======100000 requests completed in 10.48 seconds #100000个请求 所有请求在10.48秒完成100 parallel clients #100个客户端3 bytes payload #每次3个字节keep alive: 1 #活跃1个host configuration "save": 3600 1 300 100 60 10000host configuration "appendonly": nomulti-thread: noLatency by percentile distribution:
0.000% <= 1.463 milliseconds (cumulative count 1)
50.000% <= 5.175 milliseconds (cumulative count 50271)
75.000% <= 5.999 milliseconds (cumulative count 75004)
87.500% <= 8.087 milliseconds (cumulative count 87514)
93.750% <= 10.631 milliseconds (cumulative count 93761)
96.875% <= 13.255 milliseconds (cumulative count 96875)
98.438% <= 15.199 milliseconds (cumulative count 98438)
99.219% <= 17.823 milliseconds (cumulative count 99221)
99.609% <= 20.319 milliseconds (cumulative count 99611)
99.805% <= 23.279 milliseconds (cumulative count 99807)
99.902% <= 25.503 milliseconds (cumulative count 99903)
99.951% <= 26.863 milliseconds (cumulative count 99952)
99.976% <= 27.727 milliseconds (cumulative count 99976)
99.988% <= 28.351 milliseconds (cumulative count 99988)
99.994% <= 28.847 milliseconds (cumulative count 99994)
99.997% <= 29.087 milliseconds (cumulative count 99997)
99.998% <= 29.279 milliseconds (cumulative count 99999)
99.999% <= 29.391 milliseconds (cumulative count 100000)
100.000% <= 29.391 milliseconds (cumulative count 100000)
Linux常用命令
干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!
相关文章:
Linux 软件安装
目录 一、Linux 1、Linux异常解决 1、JDK安装 1、Linux卸载JDK 2、Linux安装JDK 2、Redis安装 一、Linux 1、Linux异常解决 1、Another app is currently holding the yum lock; waiting for it to exit... 解决办法: rm -f /var/run/yum.pid1、杀死这个应用程序 ps a…...

flask之邮件发送
一、安装Flask-Mail扩展 pip install Flask-Mail二、配置Flask-Mail 格式:app.config[参数]值 三、实现方法 3.1、Mail类 常用类方法 3.2、Message类,它封装了一封电子邮件。构造函数参数如下: flask-mail.Message(subject, recipient…...

【Filament】Filament环境搭建
1 前言 Filament 是一个实时物理渲染引擎,用于 Android、iOS、Linux、macOS、Windows 和 WebGL 平台。该引擎旨在提供高效、实时的图形渲染,并被设计为在 Android 平台上尽可能小而尽可能高效。Filament 支持基于物理的渲染(PBR)&…...

外包干了2个月,技术倒退2年。。。。。
先说一下自己的情况,本科生,20年通过校招进入深圳某软件公司,干了接近4年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...
使用 python ffmpeg 批量检查 音频文件 是否损坏或不完整
自用工具,检查下载的音乐是否有损坏 或 下载不完整 使用方法,把 in_dir r’D:\158首无损珍藏版’ 改成你自己的音乐文件夹路径 如果发现文件有损坏,则会在命令行打印错误文件的路径 注意,要求 ffmpeg 命令可以直接在命令行调用…...
Django:通过user-agent判断请求是来自移动端还是PC端(电脑端)
第一种思路: 根据博文 Djano的request.META是什么?的研究成果,先判断有无键HTTP_SEC_CH_UA_MOBILE,如果没有,再去按博文 网站如何判断请求是来自手机-移动端还是PC-电脑端?如何让网站能适应不同的客户端&am…...

Linux中ssh远程登录系统和远程拷贝
本章主要介绍ssh远程登录系统和远程拷贝的方法 ssh的基本用法打开远程图形化界面ssh无密码登录和安全操作Windows远程登录远程拷贝 很多时候服务器并没有显示器,我们也不可能每次都通过控制台去管理服务器,这时就需 要远程登录。远程登录到服务器可以通…...

git常用命令小记
(文章正在持续更新中) git init - 在当前目录下初始化一个新的 Git 仓库。 git clone [url] - 克隆远程仓库到本地。 git add [file] - 将文件添加到暂存区。 git commit -m "commit message" - 将添加到暂存区的文件提交到本地仓库。 git pus…...

深入Android S (12.0) 探索Framework之输入系统IMS的构成与启动
文章目录 前言一、输入系统的基本组成部分二、输入系统相关源码分析1、IMS 构建1.1、SystemServer # startOtherServices()1.2、InputManagerService1.3、NativeInputManager # nativeInit()1.4、NativeInputManager1.5、InputManager1.6、InputDispatcher1.7、InputReader1.8、…...

SoC with CPLD and MCU ?
AG32 MCU 产品支持多种接口外设,具备与业界主流产品的兼容性,并内置额外的2K FPGA 可编程逻辑。 产品支持 LQFP-48,LQFP-64,LQFP-100 ,QFN-32等不同封装。其所有可用 IO 都可以任意地进行映射和互换,以灵活…...

基于AWS Serverless的Glue服务进行ETL(提取、转换和加载)数据分析(二)——数据清洗、转换
2 数据清洗、转换 此实验使用S3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 2 数据清洗、转换2.1 架构图2.2 数据清洗2.3 编辑脚本2.3.1 连接数据源(s3)2.3.2. 数据结构转换2.3.2 数据结构拆分…...

vuepress-----6、时间更新
# 6、时间更新 基于Git提交时间修改文字时间格式 moment # 最后更新时间 # 时间格式修改 下载库文件 yarn add momentconst moment require(moment); moment.locale(zh-cn)module.exports {themeConfig: {lastUpdated: 更新时间,},plugins: [[vuepress/last-updated,{trans…...

C++ ini配置文件的简单读取使用
ini文件就是简单的section 下面有对应的键值对 std::map<std::string, std::map<std::string, std::string>>MyIni::readIniFile() {std::ifstream file(filename);if (!file.is_open()) {std::cerr << "Error: Unable to open file " << …...

【稳定检索|投稿优惠】2024年经济管理与安全科学国际学术会议(EMSSIC 2024)
2024年经济管理与安全科学国际学术会议(EMSSIC 2024) 2024 International Conference on Economic Management and Security Sciences(EMSSIC 2024) 一、【会议简介】 2024年经济管理与安全科学国际学术会议(EMSSIC 2024),将于繁华的上海城召开。这次会议的主题是“…...

什么是网站?
这篇文章是我学习网站开发,阶段性总结出来的。可以帮助你 通俗易懂 地更加深刻理解网站的这个玩意。 一,网站和网页的区别? 网站是由一个个网页组成。我们在浏览器上面看到的每一个页面就是网页,这些 相关的 网页组成一个网站。…...
pg_stat_replication.state 含义
在PostgreSQL中,pg_stat_replication视图提供了有关连接到主服务器的流式复制进程(备用服务器)的信息。该视图中的一个列是state,它指示复制进程的当前状态。 state列可以具有各种值: startup: This WAL sender 刚开始运行 catc…...

JavaWeb(六)
一、Maven的常用命令 maven的常用命令有:compile(编译)、clean(清理)、test(测试)、package(打包)、install(安装)。 1.1、compile(编译) compile(编译)的作用有如下两点: 1、从阿里云下载编译需要的jar包,在本地仓库也能看到下载好的插件(远程仓库配置的是阿里…...

GPIO的使用--时钟使能含义--代码封装
目录 一、时钟使能的含义 1.为什么要时钟使能? 2.什么是时钟使能? 3.GPIO的使能信号? 二、代码封装 1.封装前完整代码 2.封装结构 封装后代码 led.c led.h key.c key.h main.c 一、时钟使能的含义 1.为什么要时钟使能?…...

最小化安装 Neokylin7.0 用于搭建 Hadoop 集群
文章目录 环境搭建背景虚拟机创建和环境配置安装过程注意事项虚拟机设置软件选择KOUMP系统分区网络和主机名打开以太网,并记录信息配置 IPv4修改主机名 创建用户 hadoop完全分布式搭建-CSDN博客 环境搭建背景 为什么不从hadoop100或者hadoop101开始,而是…...
苍穹外卖面试题-中
8. 如何理解分组校验 很多情况下,我们会将校验规则写到实体类中的属性上,而这个实体类有可能作为不同功能方法的参数使用,而不同的功能对象参数对象中属性的要求是不一样的。比如我们在新增和修改一个用户对象时,都会接收User对象…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...