centos维基?centos官网
很多朋友对于centos维基和centos官网不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
CentOS 7 下Tomcat启动超慢的原因及解决方案
CentOS 7系统中安装好openjdk和Tomcat后,启动过程很慢,长达数分钟,日志如下:
tomcat启动耗时278084ms折合278秒,对于刚刚安装的干净tomcat,这肯定是不对劲的。
其中有一条日志引起了笔者的注意:
显然tomcat执行到这里时出问题了,google了一下,经过一番搜索明白了其中的缘由。
在tomcat官方wiki文档的 HowToFasterStartUp章节中,Entropy Source部分有一段这样的说明:
从这里我们得知Tocmat的Session ID是通过SHA1PRNG算法计算得到的,计算Session ID的时候必须有一个密钥,为了提高安全性Tomcat在启动的时候会通过随机生成一个密钥,它强依赖于获取熵池中的随机数来进行创建。
那么什么是/dev/random?什么是熵池?
/dev/random
从维基百科得知,在UNIX操作系统(包括类UNIX系统)中,/dev/random是一个特殊的设备文件,可以用作随机数生成器或伪随机数生成器。
Linux内核中的是第一个以背景噪声产生真正的随机数产生的实现,它允许程序访问来自设备驱动程序或其它来源的背景噪声。
Linux上有两个通用的随机设备:/dev/random和/dev/urandom。其中/dev/random的随机性最好,因为它是一个阻塞的设备。而/dev/random的一个副本是/dev/urandom(“unblocked”,非阻塞的随机数生成器),它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。所以它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。
熵池
熵池本质上是若干字节,/proc/sys/kernel/random/entropy_avail中存储了熵池现在的大小,/proc/sys/kernel/random/poolsize是熵池的最大容量,单位都是bit。如果 entropy_avail的值小于要产生的随机数bit数,那么/dev/random就会堵塞。
为什么熵池不够用?
熵池实际上是从各种noice source中获取数据,noice source可能是键盘事件、鼠标事件、设备时钟中等。linux内核从2.4升级到2.6时,处于安全性的考虑,废弃了一些source。source减少了,熵池补给的速度当然也变慢,进而不够用。
其实,通过消耗熵池,可以构造DDOS攻击。原理很简单,熵池空了,依赖随机数的业务(SSL,加密等)就不能正常进行。
通过以上信息,笔者得知该问题是由于熵池不足导致的。怎么解决?
使用非阻塞性的生成器/dev/urandom代替/dev/random。
1、可在JVM环境中配置
通过配置发生器指定熵收集守护进程
修改$JAVA_PATH/jre/lib/security/java.security中参数 securerandom.source为:
2、也可在Tomcat环境中配置
通过配置JRE使用非阻塞的Entropy Source获取熵
在$TOMCAT_HOME/bin/catalina.sh中加入:
这个系统属性egd表示熵收集守护进程(entropy gathering daemon)。
1、[硬件随机数生成器]安装并使用rng-tools作为额外的熵随机数生成器(推荐)
cat/dev/random命令会消耗熵池, rngd守护进程会补充熵池,可使用如下命令来测试随机数生成的情况:
2、[软件随机数生成器]在rng-tools仍不满足的情况下,可使用haveged作为额外的熵随机数生成器
要检查是否需要 Haveged,可使用下面命令查看当前收集到的熵:
如果结果比较低(<1000),建议安装 haveged,否则加密程序会处于等待状态,直到系统有足够的熵。
安装 haveged之后,可以再次查看系统熵看下有无提升。
因为方法一存在一定的不安全性,且需要对环境进行配置,为了满足熵的需要,这里笔者选择了第二种方法,使用rng-tools作为额外的熵随机数生成器,同以上操作后顺利解决了问题。
操作后重启tomcat日志如下,启动速度快了两个数量级:
参考文档:
centos安装ffmpeg添加ogg音频ffmpeg音频编码支持操作步骤
简单介绍
FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能[1],包含了libavcodec─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。(来自维基百科)
安装前提
由于在centos下使用 yum install ffmpeg是找不到安装包的,所以需要通过其他方法来安装:
一、安装ffmpeg
操作系统:centos 5.6
(一)安装编译环境
复制代码代码如下:
#yum install-y automake autoconf libtool gcc gcc-c++
(二)安装所需程序库的RPM包到 centos(因为centos自带的库中没有ffmpeg包,这里相当于是扩展)
复制代码代码如下:
#rpm-Uhv
(三)安装 Install ffmpeg等模块
复制代码代码如下:
yum-y install ffmpeg ffmpeg-devel
当然你也可以选择编译源码安装,只需要在安装之前,将 ffmpeg需要的支持库安装好就是了,我之所以选择这种安装方式就是不想再去逐个编译各种库。
安装好之后可以使用下面命令查看:
复制代码代码如下:
./configure--prefix=/usr
安装好之后,你的机器就添加了对 ogg音频的支持。这里你需要先安装 libogg,因为 libvorbis需要 libogg的支持。
重新编译 ffmpeg
接下来就需要重新编译安装一下 ffmpeg,这时候你需要去下载一个 ffmpeg的源码包
运行
复制代码代码如下:
ffmpeg
拷贝如下信息
复制代码代码如下:
configuration:--prefix=/usr--libdir=/usr/lib64--shlibdir=/usr/lib64--mandir=/usr/share/man--incdir=/usr/include--disable-avisynth--extra-cflags='-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=4-m64-mtune=generic-fPIC'--enable-avfilter--enable-libdirac--enable-libfaac--enable-libfaad--enable-libfaadbin--enable-libgsm--enable-libmp3lame--enable-libopencore-amrnb--enable-libopencore-amrwb--enable-libx264--enable-gpl--enable-nonfree--enable-postproc--enable-pthreads--enable-shared--enable-swscale--enable-vdpau--enable-version3--enable-x11grab
当然你可以将不需要的移除,
在 ffmpeg源码目录下运行
复制代码代码如下:
./configure--prefix=/usr--libdir=/usr/lib64--shlibdir=/usr/lib64--mandir=/usr/share/man--incdir=/usr/include--disable-avisynth--extra-cflags='-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector--param=ssp-buffer-size=4-m64-mtune=generic-fPIC'--enable-avfilter--enable-libdirac--enable-libfaac--enable-libfaad--enable-libfaadbin--enable-libgsm--enable-libmp3lame--enable-libopencore-amrnb--enable-libopencore-amrwb--enable-libx264--enable-gpl--enable-nonfree--enable-postproc--enable-pthreads--enable-shared--enable-swscale--enable-vdpau--enable-version3--enable-x11grab--enable-libvorbis
最后的一项是--enable-libvorbis,这个就是加入 ogg的音频支持。
编译完成之后,运行
复制代码代码如下:
make&& make install
就完成 ffmpeg的安装了
简单测试
可以使用如下命令测试 amr到 ogg的转码:
复制代码代码如下:
ffmpeg-i xxx.amr-f ogg-acodec libvorbis-ac 2-ab 128k-ar 44100 xxx.ogg
可以使用如下命令测试 amr到 mp3的转码:
复制代码代码如下:
ffmpeg-i xxx.amr xxx.mp3
可见 ffmpeg对 mp3的支持还是好很多的。
转码成功可以看到类似下面的输出:
centos7.9的mariadb与7.6不同
内核、硬盘默认调度算法和网络服务不同。
1、内核:centos7.9的内核用的是3.10,centos7.6的内核用的是2.6.。
2、硬盘默认调度算法:centos7.9默认使用的是cfq,而centos7.6使用的是deadline。
3、网络服务:centos7.9默认使用network服务,centos7.6默认使用NetworkManager服务。
mariadb由MySQL的原始开发人员制作,也是一种开源软件,著名的用户包括维基百科,WordPress和谷歌,并且MariaDBServer是世界上最受欢迎的数据库服务器之一。