主讲内容:docker/kubernetes 云原生技术,大数据架构,分布式微服务,自动化测试、运维。
视频地址:ke.qq.com/course/419718
全栈工程师开发手册 (作者:栾鹏)
架构系列文章
下面的方法都要先命令行su,登陆root管理员
vi /etc/sudoers
方法1):修改/etc/sudoers文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
[root@server ~]# usermod -g root luanpeng
修改完毕,用luanpeng帐号登录,然后用命令su –切换,即可获得root权限进行操作。
方法2) 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
luanpeng ALL=(ALL) ALL
修改完毕,输入wq可能提示是只读文件,输入wq!强制保存退出。
使用Logout 命令退出当前帐号,
登陆luanpeng帐号,然后用命令 su - ,即可获得root权限进行操作。
方法3):修改/etc/passwd文件,找到如下行,把用户ID修改为0,如下所示:
luanpeng:x:1000:1000:luanpeng:/home/luanpeng:/bin/bash
修改成
luanpeng:x:0:1000:luanpeng:/home/luanpeng:/bin/bash
修改后保存,用luanpeng账户登录后,直接获取的就是root帐号的权限。
第三种方法注意:centos7默认使用非root用户进入,所以当我们把自己的账户也设置成root以后,再次登陆以后,系统就会又让我们创建新用户,我们就创建一个,保留普通身份。再次重起,我们就可以选择使用新创建的普通用户还是已经被我们设置成root权限的老用户,或者使用root用户登陆。
Linux下Python2的升级方法:
一、下载Python3安装包:
1、在线下载
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
2、离线下载python安装包
二、解压安装包:
进入安装包所在目录 tar -xzvf Python-3.6.2.tgz
三、编译安装:
进入解压后的文件夹 cd Python-3.6.2
编译前先在/usr/local新建文件夹Python3(用来安装Python3而避免覆盖Python2)
mkdir /usr/local/Python3
开始编译安装
./configure -prefix=/usr/local/Python3
make
make install
解决 zipimport.ZipImportError: can’t decompress data; zlib not available 的方法:
1.下载源码: http://www.zlib.net/
2.解压安装:
# cd /home/centos/Downloads/
# tar zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure
# make && make install
四、修改老版本Python链接:
mv /usr/bin/python /usr/bin/python_old
建立新版本python链接:
ln -s /usr/local/Python3/bin/python3 /usr/bin/python
五、安装检测:
键入 python -V查看此时python的版本
**注意:系统中的yum采用Python2作为命令解释器,故而升级后会出现问题yum不能正常使用,解决办法:
1、升级yum
2、修改yum解释器为旧版本。
vi /usr/bin/yum
将第一行#!/usr/bin/python
改为
#!/usr/bin/python2.7
(修改为系统原有python版本,我这里为2.7)
*如果不想那么麻烦,编译安装完之后就可以了,如果想用老版本(2.x)直接用python命令;如果想用新版本(3.x)用python3命令,这种情况下,无需修改yum
再次运行yum命令,就不回再报错了。
如果运行后报以下错误File “/usr/libexec/urlgrabber-ext-down”, line 28 except OSError, e:
就修改/usr/libexec/urlgrabber-ext-down文件,将python同样指向旧版本,就可以了
编辑python文件
在linux下,直接使用gedit编辑python就可以。
在右下角会自动识别为python代码,你也可以手动选择为python代码。
编译python文件
先将终端所在路径切换到python脚本文件的目录下
然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):
chmod 755 ./*.py
然后执行。
如果在脚本内容的开头已经给出了类似于如下的注释:
#!/usr/bin/env python
那就可以直接在终端里运行:
./*.py
如果没有这个注释
就在终端中执行:
python ./*.py
如果是有图形界面的脚本
在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可
我在第一次搭建自己的 Hadoop2.2.0单节点的伪分布集成环境时遇到了此错误,通过思考问题和查找解决方案最终搞定了这个问题,其错误原因主要有以下几种:
1)SSH服务为安装
此时,采用在线安装的方式就行下载安装,命令为:yum -y install openssh-server;然后启动ssh服务:service sshd start。
2)ssh服务对应22号端口未开启
首先使用命令:ss -lnt查询22号端口是否开启,如下图所示为正常开启,否则要开启22号端口。 如果要修改端口,查看或编辑SSH服务配置文件,使用命令 vi /etc/ssh/sshd.config,进入后把 port 后面默认的22端口改成别的端口即可(注意前面的#号要去掉)
3)还有一种特殊情况:以上两点都没有问题,并且执行ssh localhost命令也没有问题,但执行ssh hostname(hostname为你自己的主机名)命令时出错
此时,我们可以思考为什么用localhost没有问题,而用我们的主机名却有问题?注意看下图第一行配置,有个127.0.0.1到localhost的映射;于是,我们可以思考是否是因为我们没有配置IP地址到我们的主机的映射呢。其实,出现这种情况就是因为我们没有在hosts文件中进行相应的配置,应该在其中加入hostname与IP地址的映射关系:
接下来,就是见证奇迹出现的一刻,我们再输入ssh CentOS-py(我的hostname),然后出现了以下内容,表示我们的问题得到了解决。