b0102 linux centos7.9 操作系统安装和维护

关键词: linux  centos  ubuntu redhat 操作系统 2021 持续累积

环境

主机: win7

虚拟机:  vmware 12

安装文件:  CentOS-7.9-x86_64-DVD-2009.iso

输出路径:  W:\Virtual Machines\CentOS7

创建普通账户 hadoop

安装过程选择了 带桌面的服务器套件,选了一些软件装上去。  

自带:  jdk1.8

 

克隆了若干虚拟机,为后续具体用途使用

功能

安装python3.8 20220514

描述

系统默认自带  python2.7, 由于学习需要, 比如pyspark,pyflink 需要python3.6以上 , 故需要安装

系统自带的python 安装在这个目录下,

/usr/bin/python2.7

,当前目录下,有2个软连接指向它

 

 

运行 python,python2 都会启动python2.7

可以执行 whereis python 目录查看信息

python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

安装包说明

这里选择从官网下载的 linux 压缩包  Python-3.8.13.tgz.

个人猜测, 这里是用C语言编写的程序源代码。  需要编译  gcc、make, 编译后 make install 安装。

在这之前,需要 用 yum 安装相应的依赖包

操作

1、 从官网下载 合适的版本linux 包, 这里根据与本人其他 工具 spark-3.1.2-bin-hadoop3.2、flink-1.13.2-bin-scala_2.12 配合, 用 3.8版本。

安装包,放在  T450s\E:\2_工具软件\Python-3.8.13.tgz

以下所有操作都用root 用户,root 用户安装后, 其他用户可以使用python3

2,  安装依赖(确保网络通畅 )

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel   libffi-devel python-devel gcc make

3.  上传安装包、解压

解压到哪里个目录,不重要, 最后安装的目录和解压到目录不一样

这里解压到 /opt/Python-3.8.13

4.  安装, 这里选择一个安装目录如下。  要个几分钟

# --prefix是Python的安装目录
./configure --prefix=/usr/python3

make

make install

安装成功后

 

 

 5. 创建软连接

ln -s /usr/python3/bin/python3.8 /usr/local/bin/python3
ln -s /usr/python3/bin/pip3 /usr/bin/pip # 可选 删除python
2.7的软连接。 rm /usr/bin/python ln -s /usr/python3/bin/python3.8 /usr/bin/python

 

  6. 验证

python -V

pip

无需配置路径变量

 

后续

centos 的包安装命令 yum,只能用到python2, python3 下报以下错

[root@hc2108 0_new]# yum
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

解决:

将 /usr/bin/yum 的第一行改成  #!/usr/bin/python2.7

https://blog.csdn.net/weixin_49978753/article/details/124451984

 

参考

ref T450s\d:计算机\2_学习笔记\..\20220514_linux_centos_安装python3.8.txt

ref  Linux上安装python3

ref "Linux系统安装Python3环境(超详细)"

ref "Linux安装Python3详解"

ref "fatal error: ffi.h: No such file or directory问题的解决"

 

安装jdk1.8 20210727

描述

系统安装完成,自带jdk1.8, 但是只有jre。后续操作需要全面的jdk, 需要卸载重装

操作

1. win环境下 从oracle 官网下载 jdk-8u301-linux-x64.tar.gz, 上传到linux 目录中

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

2.   查看和卸载原来自带不想要的jdk

java -version  # 查看java版本
rpm -qa | grep java # 查看安装的java包
rpm -qa | grep jdk
sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64  # 卸载
sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64

 3.   将下载的 jdk-8u301-linux-x64.tar.gz 解压,并移动到安装目录下, 我这里选定 /opt

tar -zxvf jdk-8u301-linux-x64.tar.gz

mv jdk1.8.0_301  /opt

4.  修改环境变量

执行 sudo vi /etc/profile

在文件中添加以下内容:

### 配置jdk
export JAVA_HOME=/opt/jdk1.8.0_301
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=./:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

执行 source /etc/profile 生效。

5. 最后验证完毕

 

 参考

ref1 "centos7 安装JDK1.8详细过程"

 

关闭防火墙 20210725

描述

默认防火墙应该开了,会妨碍一些分布式集群比如hadoop 机器之间的通信。 需要关闭

操作

systemctl status firewalld #查看firewall服务状态

systemctl stop firewalld  # 关闭防火墙

systemctl disable firewalld # 禁止开机启动

防火墙开启中

 

关闭后

 

 

为当前用户增加sudo功能和免密码输入 20210725

描述

当前用户为hadoop,是普通用户,有时需要通过sudo执行需要更多权限才能执行的操作。centos默认没有给普通用户sudo功能,需要手动添加

操作

主要参考  ref1 "centos7 ubuntu14 添加sudo 权限"

root账户 修改文件 /etc/sudoers,参考下图

1. 添加黄色背景的信息,其中hadoop是用户名。 这样hadoop有了sudo权限了

2. 用户有sudo权限,但是每次操作需要输入密码,很麻烦。  将红色箭头指示那行前面的注释符号#去掉(本来有的),  

添加用户名到wheel用户组:
usermod -G wheel hadoop

:wq! 保存退出 就生效了

 

 

 

设置静态ip和主机名 20210724

描述

当前为动态获取ip,主机名是centos,  依据后面需要固定成指定的名字

操作

1. 先设置静态网络, root账户修改网络文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,改动如下。   改完后,执行命令重启生效  service network restart 

 

 2. 修改主机名

参考   ref3 "CentOS7修改主机名的三种方法" , 执行以下操作

a. 执行命令改主机名  hostnamectl set-hostname hc2101,  hc2101是新的主机名

b. root下修改hosts文件,添加新主机名字 

c. 重启

 后记:  只需要添加第3行就可以了

 

 

参考

ref1 "centos7设置静态IP地址"

ref2 "如何为CentOS 7配置静态IP地址的两种方法"

 

英文变中文和中文语言 20210724

描述

系统默认是英文系统, 所有提示都是英文的。

加入中文输入法,可以切换

操作

定位到路径 下 应用程序/系统工具/设置/Region & Language, 对应英文路径也好找

按图中红色标记设置好。 改系统语言,增加中文输入法

 

 

 

定位到路径 下 应用程序/系统工具/设置/设备/Keyboard

修改输入法切换快捷键,根据个人习惯设置就行了

 

 

 

参考

ref1 "Centos7设置中文输入法及解决方法"

ref2 "CentOS 7 无法使用中文输入法"

 

问题

网络域名不通 20220514

现象: 

vmware  linux ,可以ping通网络ip,无法ping通域名。

linux采用桥接模式,  静态ip。 网关路由器 192.168.1.1

 解决;

修改网卡

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1

增加  DNS1=192.168.1.1

重启

service network restart

 

Shell 命令用不了 20210728

现象: 

修改/etc/profile后。  突然出现问题了。

可以开机, 但是无法登陆进去。 

可以xshell 连接,  但是无法执行大部分shell命令

其他机器可以ssh 连上,但是无法执行大部分shell命令

如同所示

 

 原因:

本来应该在/etc/profile 中 加入这行

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

但是直接从 博客园复制过来后(博客园美元符号有问题),变成了,美元符号不见了  (问题见 b0111 博客园日常使用遇到的/问题/Q1)

export PATH=PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

导致整个shell都用不了

解决:

还是可以使用 echo ,export set 查看环境变量

1、 先在shell 界面执行 重置 PATH的值,其中后面的值, 从相似的其他机器上复制过来的。

echo $PATH   # 注意看有没有设置错误,漏掉美元符号
echo $SHELL # 正常是 /bin/bash
export PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/jdk1.8.0_301/bin:/home/hadoop/.local/bin:/home/hadoop/bin

执行上面完,shell命令就可以正常执行了

2、  修改之前改动的 /etc/profile 文件

     把错误的地方,没有美元$符号的加上去

   执行 source /etc/profile 生效

 

调正系统日期 20210723

现象: 

日期不对。

解决:

1. 校准时间: date -s "19:07:10 2021-07-23"   # 这里的日期要校准的日期
2. 硬件层面同步  clock --systohc

忘记是否要重启

 

无法连接网络 20210721

现象:   

虚拟机NAT网络设置,动态分配IP,其他虚拟机在这种模式下可以用。

本虚拟机刚安装完成, 但是本机无法ping通网络,    用ifconfig ,即没有ip地址,也没有mac地址。

在 /etc/sysconfig/network-scripts/  下的是 ifcfg-ens33网卡

原因:

具体不详, centos7的网络和centos6有点不一样 。

网上说要把centos7下的  ifcfg-ens33改名为 ifcfg-eth0 (个人安装的ubuntu,centos6.5都不用这样操作 )

解决:


1 .   改网卡信息,先不要重启,   结果以本文图片输出参数为校准目标 参考   ref1 "vmware安装centos7 输入ifconfig出现ens33,没有eth0

2.    搞定没有ip地址和hwaddr,  参考  ref2 "Centos7克隆虚拟机之后,不显示ip地址......"

       确保 ifcfg-eth0文件中 有一行  "HWADDR=.....",没有就添加, 地址在ref2中 图片 生产Mac地址那

       备注: 后续验证发现, 没有hwaddr也可以正常获得ip

3.    确保其他参数都和 本文   ifcfg-eth0 参数保持一致, 比如,onboot=yes, 

 

其他参考

ref3 ”centos7中的网卡一致性命名规则、网卡重命名方法

 

相关命令:

 

 

重建适配器

1.systemctl stop NetworkManager

2.systemctl disable NetworkManage

service network restart   # 重启网关

  

正常情况下:

最终可用的网络的配置参数如下

虚拟机设置NAT模式,vmware 自动分配ip

 

 

----

 ----

 

 

相关

  1. 关联代码,  disk/202107_linux_centos7.txt
  2.  博客园 "b0103 vmware workstation 虚拟机 使用和维护

fatal error: ffi.h: No such file or directory问题的解决

posted @ 2021-07-21 22:10  sunzebo  阅读(422)  评论(0编辑  收藏  举报