最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 测试Openfire安装,启动Openfire之后,在浏览器上输入:linux ip:9090/,如果能输出一个配置界面,则安装成功!
========================================================================
-
首先要安装好JDK,安装教程:https://blog.csdn.net/android_cai_niao/article/details/113858663
-
安装Spark,参照JDK的安装即可。
-
启动Spark
假设Spark安装在:/usr/local/Spark目录下,则cmd先进入到该目录下:
cd /usr/local/Spark
-
然后有以下几种方式可以启动Spark,输入命令:
-
Spark
-
.Spark
-
./Spark
-
bash Spark
-
sh Spark
-
快捷方式:在资源管理器中进入到Spark安装目录,右击Spark,选择“链接到桌面”,然后双击桌面图标,并选择“直接运行”即可,截图如下:
缺点是每次双击后都要选择“直接运行”有点麻烦,不知道有没有解决方案。
-
后来,我安装了正规的Ubuntu桌面系统(即Ubuntu官网下载的),安装流程是一样的,安装好之后,使用Xshell连接虚拟机,然后创建Spark.sh脚本文件(可直接复制命令),如下:
vim /home/even/桌面/Spark.sh
按字母i进入编辑模式,然后复制下面的内容粘贴进去:
#!/bin/bash
/usr/local/Spark/Spark
然后按ESC键,然后再按:wq 来保存并退出编辑。
然后右击该文件,选择“属性” > “权限”,勾选"允许执行文件(E)",如下:
执行完这一步,在我安装的Linux上双击Spark.sh就能运行了。不需要进行其他设置了,而网上有介绍进行下面的设置,所以如果大家双击不能运行的话也可以试试:
随便打开一个文件夹,然后选择“首选项”菜单,如下:
在“可执行文本文件”的地方选择“运行”。
===========================================================================
重装,经测试,直接删除openfire目录后访问linux ip:9090依然是可以,说明程序加载进入了内存,所以在删除之前,先执行openfire stop命令之后再删除,然后重新解压openfire来实现重新安装。具体步骤如下:
-
停止openfire:openfire stop
-
进入到openfire安装目录:cd /usr/local
-
删除openfire:rm -rf openfire
-
重装openfire:tar -zxvf openfire_4_6_3.tar.gz (前期就把这个压缩文件放到/usr/local目录下,方便重装)
-
启动openfire:openfire start
==============================================================================
这里有两个版本,spark_2_9_4-with-jre.exe是包含有jre环境,下载这个即可,因为这个直接安装就可以使用了,即使你没安装jdk。而spark_2_9_4.exe是需要自己安装jdk的,而且他需要的是32位的jdk。
=====================================================================================
如上图,在配置数据库设置的时候,选择“标准数据库连接”,然后进入下一步,如下:
数据库驱动选项选择MySQL,JDBC驱动程序类保持默认即可,而数据库URL是需要修改的,默认的URL如下:
jdbc:mysql://HOSTNAME:3306/DATABASENAME?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC
HOSTNAME为MySQL所在服务器地址,因为Openfire和MySQL是安装在同一台Linux系统里,所以可以使用localhost来表示服务器地址,DATABASENAME为数据库名,所以,需要提前在MySQL中创建一个数据库供openfire使用。?这个问号后面的是连接数据库时的一些参数,rewriteBatchedStatements保持不变,具体作用可百度,而characterEncoding、characterSetResults和serverTimezone应该根据实际情况进行修改。
在MySQL数据库中创建一个数据库用于保存Openfire的数据:
create database openfire;
然后查看数据库的编码:
show create database openfire;
截图如下:
可以看到,CHARACTER SET为utf8mb4。
查看character_set_results:
show variables like '%char%';
可看到,character_set_results为utf8mb4。
查看Linux系统的时区:
timedatectl | grep "Time zone"
截图如下:
可以看到,时区用的是CST。
根据以上信息,再根据Openfire的MySQL数据库连接模板,得到数据库连接URL为:
jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true&characterEncoding=utf8mb4&characterSetResults=utf8mb4&serverTimezone=CST
但是设置后点击继续会报错,如下:
提示说在/logs/error.log保存了异常信息,但是在openfire的安装目录下的logs目录中并没有找到error.log文件。
后来把URL中删掉参数就可以连接上了:jdbc:mysql://localhost:3306/openfire
这说明是因为有些参数这个配置程序不识别,经过排查,发现它不识别utf8mb4编码,改成utf-8即可,如下:
jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=CST
使用了MySQL数据库之后,当我们重装Openfire时,创建的用户数据就不会因为重装而丢失了,只要是配置使用的同一个MySQL数据库,重装后之前的用户数据自动会加载进来的,不需要特殊处理。注:给用户设置的头像在重装后会丢失,说明头像图片没有保存在MySQL数据库。
====================================================================
之前在官网论坛问过,没人回答 ,地址:https://discourse.igniterealtime.org/t/dont-receive-the-message-on-androids-smack/86556
使用的smack版本为:
implementation 'org.igniterealtime.smack:smack-android-extensions:4.3.4'
implementation 'org.igniterealtime.smack:smack-tcp:4.3.4'
代码如下:
val config = XMPPTCPConnectionConfiguration.builder()
.setUsernameAndPassword("lily", "123456")
.setXmppDomain("192.168.1.40")
.setHostAddress(InetAddress.getByName("192.168.1.40"))
为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**
![](https://img-blog.csdnimg.cn/img_convert/914def3e9b27bdd66bc9549bd1fd20ca.png)
本份面试集锦涵盖了
* **174 道运维工程师面试题**
* **128道k8s面试题**
* **108道shell脚本面试题**
* **200道Linux面试题**
* **51道docker面试题**
* **35道Jenkis面试题**
* **78道MongoDB面试题**
* **17道ansible面试题**
* **60道dubbo面试题**
* **53道kafka面试**
* **18道mysql面试题**
* **40道nginx面试题**
* **77道redis面试题**
* **28道zookeeper**
**总计 1000+ 道面试题, 内容 又全含金量又高**
* **174道运维工程师面试题**
> 1、什么是运维?
> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?
> 3、现在给你三百台服务器,你怎么对他们进行管理?
> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点
> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?
> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?
> 7、Tomcat和Resin有什么区别,工作中你怎么选择?
> 8、什么是中间件?什么是jdk?
> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
> 10、什么叫CDN?
> 11、什么叫网站灰度发布?
> 12、简述DNS进行域名解析的过程?
> 13、RabbitMQ是什么东西?
> 14、讲一下Keepalived的工作原理?
> 15、讲述一下LVS三种模式的工作过程?
> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
> 17、如何重置mysql root密码?
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**