Ruixia,Sun's Technique Blog

Record the step of upgrading......


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

使用git支撑构建过程之代码同步

发表于 2019-08-17 | 分类于 bmc

环境说明:

中心代码库在192.168.120.200的gitlab上,以刚刚克隆下来的tttt库为例
开发机器kunlunsec,用来修改tttt库的代码
编译服务器bmcCompileBak,其中的目录/home/kunlun/rxsunSource/gitSource是用来存放源代码库的,目录/home/kunlun/rxsunSource/openbmc/build/downloads/git2是为构建工具准备的裸库存放的位置.

试验目标:

1.开发机器kunlunsec上的改动能通过192.168.120.200服务器同步到编译服务器bmcCompileBak上的源代码库里
2.编译服务器bmcCompileBak上同步后的源代码库能推送(git push)到编译服务器bmcCompileBak本地的构建目录下/home/kunlun/rxsunSource/openbmc/build/downloads/git2

阅读全文 »

openBmcCompileSecond

发表于 2019-08-16 | 分类于 bmc

构建openbmc另一个厂商的Release版本

一、识别厂商和改动的库

需要搞清楚哪个库的修改的commit号在哪里改,开发人员都已经在openbmc.git库里面改好,只有webui需要手工改,位置在:
vim meta-haiguang/meta-haiguang2/recipes-phosphor/webui/phosphor-webui_git.bb,其中 meta-haiguang2 是本次将要构建的厂商版本

另外已知有温控git库做了改动, 它的修改 vim meta-phosphor/classes/skeleton-rev.bbclass可以看到,开发人员已经改好.

二、更新改动的库

要删掉downloads/git2下面的webui和skeleton库,再git clone –bare 一下
还是选择在本地 rxsunSource/git下克隆一个源代码库 加一个remote为 downloads/git2下的库名称 ,push这里,为构建所用.

阅读全文 »

openBmcCompileProcess

发表于 2019-08-16 | 分类于 bmc

在ubuntu server16.04上构建openbmc的Release版本

一、基本过程

服务器环境准备好,用bitbake编译远程和本地的git库,维护各个git库将要被编入的commit号。

二、环境准备工作

bmcCompileBak上装ubuntu server16.04,所有服务器选项都勾上,配好网络地址。
为了运行bitbake,要先安装build-essential,这需要先apt update和 upgrade。

三、资料准备

阅读全文 »

nfs-FileServer

发表于 2019-08-15 | 分类于 linux

nfs文件共享服务器配置过程

服务器端200.86 bmcCompileBak

因为要用bmcCompileBak服务器上的openbmc目录
sudo apt install nfs-kernel-server
sudo vim /etc/exports
增加一行 /home/kunlun/rxsunSource/openbmc 192.168.200.84 (rw,sync,no_root_squash,no_subtree_check) //200.2是客户端地址

sudo service rpcbind start
sudo service nfs-kernel-server start //没有开机自启动
sudo /etc/init.d/nfs-kernel-server restart

阅读全文 »

Install Centos and Ubuntu OS

发表于 2019-08-14 | 分类于 os

安装Centos和Ubuntu系统中遇到的问题

一、centos安装的基本操作

为了配置一个备用的编译服务器,重装一台机器,准备用centos7,先用ultraIso,打开镜像文件,启动写入到u盘,生成启动u盘。

听闻centos7在联想机器上总死机,为了将来在新服务器上可以装,先验证一下。

ip地址是86,装好后打算装图形界面。检查环境,发现yum 是现成的,依次执行下列命令安装成功。

yum groupinstall “X Window System”  //注意有引号

yum grouplist

yum install -y wget

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all //清除缓存

yum makecache //生成缓存

yum groupinstall “GNOME Desktop” “Graphical Administration Tools”

命令 startx 进入图形界面

系统启动默认还是命令行页面的,需要进行切换。如果想要使系统启动即为图形化窗口,需要执行下面的命令

ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

centos启动时遇到的问题

重启centos7出现这个提示 大概意思就是需要通过许可信息 ,按照下面操作成功

1 输入1-回车 2-回车 c-回车 c-回车,之后即可进入系统

centos拷贝文件时遇到的问题

拷贝项目文件过程中,死机,共两次,放弃centos

二、改为装ubuntu

选择ubuntu server16.04,一路选择中文最后报错“无法安装busybox-initramfs,向目标系统中安装busybox-initramfs软件包时出现一个错误。”,后来改为在第一个页面选“English”,以后页面都选中文就没有问题了。

配置了建议的所有的服务器,其中邮件服务器名称是机器名bmcCompileBak 用户名kunlun

阅读全文 »

masteBranchRename

发表于 2019-08-13 | 分类于 git

maste分支重命名惊险记

一、当前问题

做完联想海光后,要将代码应用到同方产品中,产品logo图片和文字不同,要求尽量能共用代码,只将有差异的部分放到单独的分支上。

二、基本思路

生成tongfang分支,在这之上不仅改了图片,还改了登录界面的代码,而且将来的登录界面都将与同方的一致。
这就意味着可将同方分支作为将来的master分支,而将原来的master分支重命名为联想分支即可。
当前的本地和远程都有master分支和tongfang分支。

三、重命名master分支的操作过程

阅读全文 »

seleniumUseAttension

发表于 2019-08-09 | 分类于 python

使用selenium爬数据遇到的问题

一、导入需要的库

from selenium import webdriver  #导入操作web的模块
from selenium.webdriver.support.select import Select  #这行是为了操作一个select控件
import time  #为了让界面停一会

browser = webdriver.Chrome()  #打开chrome
browser.maximize_window() #最大化窗口
browser.get('http://×××.com') #访问网页

二、解决弹出警告框的障碍

time.sleep(3)
browser.switch_to.alert.accept() #模拟直接点一下弹出框
阅读全文 »

cleanDevloopDir

发表于 2019-08-08 | 分类于 linux

删除Linux循环设备/dev/loop

用df -h命令查看磁盘空间
发现两个loop设备

/dev/loop0       89M   89M     0  100% /snap/core/7270
/dev/loop1      254M  254M     0  100% /snap/electronic-wechat/7

其中的electronic-wechat是有一次试图装微信客户端而下载的软件,不好用。

查了一下,
dev/loop(或称vnd (vnode disk)、lofi(循环文件接口))是一种伪设备,
这种设备使得文件可以如同块设备一般被访问,相当于挂载的镜像文件,也没有什么用途,
而snap是一种ubuntu的包安装方式,大概是某次装软件用到的,可以不用。

阅读全文 »

fileRunServer

发表于 2019-08-02 | 分类于 linux

移植filerun服务器

为了在84机器上调通phpstorm的debug功能插件,在84的原有php5.6环境里下载了一堆模块,debug调通了,但是测试组同事来报,说部门用作内部网盘的filerun软件不能访问了,继续在84机器上找问题有可能会导致debug功能不可用,干脆将它移到201服务器上。

一、确认一下php版本

update-alternatives 命令用于处理linux系统中软件版本的切换
update-alternatives –display php
输出:

php - 自动模式
  link best version is /usr/bin/php7.3
 链接目前指向 /usr/bin/php7.3
  link php is /usr/bin/php
  slave php.1.gz is /usr/share/man/man1/php.1.gz
/usr/bin/php5.6 - 优先级 56
  次要 php.1.gz:/usr/share/man/man1/php5.6.1.gz
/usr/bin/php7.3 - 优先级 73
  次要 php.1.gz:/usr/share/man/man1/php7.3.1.gz

update-alternatives –config php
有 2 个候选项可用于替换 php (提供 /usr/bin/php)。

  选择       路径           优先级  状态
------------------------------------------------------------
* 0            /usr/bin/php7.3   73        自动模式
  1            /usr/bin/php5.6   56        手动模式
  2            /usr/bin/php7.3   73        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:1

切换php版本也可用 a2dismod php5.6 及 a2enmod php7.3,这里不用再改。

二、安装filerun所需的php模块

命令行敲php命令,报有些php模块没加载,可是在网页的phpinfo里却看到是已经加载,后来发现在/etc/php/7.3/cli/ 和 /etc/php/7.3/apache/ 下面各有一个php.ini,加载的模块也不一样,所以命令行下php报某个模块没有加载是指cli目录下,会与phpinfo里的不一样。
安装curl模块用命令 apt install php7.3-curl,其它的类似
只有ionCube比较麻烦,filerun必须要,用来加密它的源代码用的。按照这个链接装好。
https://blog.csdn.net/forLightWay/article/details/78888583

三、下载软件并安装配置

上官网 https://filerun.com/download
下载软件 FileRun_2019_06_01_PHP_71-73.zip, 按照官网的
http://blog.filerun.com/how-to-install-filerun-on-ubuntu-16/ 进行安装配置
将 /etc/php/7.3/apache2/conf.d/filerun.ini 中display_errors = Off 改成 on
数据库先创建一个新的,指定目录到/data1/biosfiles
然后 vim system/data/autoconfig.php 将数据库配置到老数据库上成功 !!!
filerun2 以后可以删除

四、解决问题1

word文件双击报错
将/etc/php/7.3/apache2/php.ini 中 ;com.allow_dcom = true 的注释去掉 ,解决了 201上面filerun中word双击报错问题,至少可以双击下载

五、解决问题2

访问慢
从数据库远程方面找原因,将filerun数据库从84移动到201上 改配置文件 system/data# vim autoconfig.php ,还是慢
从新版软件方面找原因,将老的filerun文件装到201的php7.3环境,不能运行
查看201 日志 /var/log/apache2/error.log 发现 filerun 的这个老版本FileRun_2017_03_18_PHP7.zip 在201上不能运行 原因是 :

The file index.php was encoded by the ionCube Encoder for PHP 5.6 and
cannot run under PHP 7.1 or later.\n Please ask the provider of the script 
to provide a version encoded with the ionCube Encoder for PHP 7.1. 
in Unknown on line 0 

这些文件是被用php5.6版本的加密软件加密的,不能用在php7.3版本上
最后吐血发现,要在 filerun/system/data/autoconfig.php 中将数据库地址改成localhost 就很快 —-早该想到的 作为OracleDBA认证专家,哈哈。

六、解决问题3

又发现word文件不能下载问题,看来前面的办法无效
先改设置 Control Panel > Configuration > Files > Misc options > Enable download accelerator : None
试图用libreoffice,无效,office365要购买
上filerun的官网讨论区搜索,发现onlyoffice用的挺多
找到了一个 ONLYOFFICE,在docker环境运行,免得与外面的php7.3和诸模块不匹配

docker network create --driver bridge onlyoffice
docker pull onlyoffice/documentserver
docker run --net onlyoffice -i -t -d -p 8080:80 --restart=always --name onlyoffice-document-server  onlyoffice/documentserver
ufw allow 8080  --放开防火墙端口

http://192....201:8080 即可访问onlyoffice
Control Panel > Configuration > Files >Plugin->中 关联 到onlyoffice的地址 http://192....201:8080 ,并在Defaults中设置为office文档的设置默认打开方式,ok
不仅可以预览下载,还可以在线编辑,非常好用。

七、解决问题4

不能下载几百兆的文件
这个服务器存了很多测试环境的镜像,要解决这个问题
vim /var/log/apache2/error.log 发现 PHP Fatal error: Allowed memory size of
使用ps -aux | sort -k4nr | head -10命令查看内存占用前10的进程 没有结果
多次在/etc/php/7.3/apache/php.ini下改memory_limit,重启apache2都没有效果,后来
vim /etc/php/7.3/apache2/conf.d/filerun.ini 改memory_limit 为4196 就行了
可见在php.ini 之外 ,可以为自己的应用设置php内存的可用大小 真牛 !

八、解决问题5

网页上还是只能下载2G以内的文件
不知道是不是系统限制,干脆另外建一个ftp服务器,可参考文档 搭建vsftp服务器,将ftp目录设置为filerun存在文件的目录,太大的镜像走ftp吧,速度也会快一些。

九、总结

filerun是加密运行的,不能一步步debug
遇到问题开阔思维,逐步收小范围,直到锁定目标。

linuxFtpServer

发表于 2019-07-31 | 分类于 linux

搭建vsftp服务器

201服务器搭建ftp服务器

环境ubuntu16.04

一、安装并建立用户

sudo apt-get update

sudo apt-get install vsftpd

vsftpd –version //检测是否安装

sudo groupadd ftpusers //创建ftpusers用户组

sudo useradd -m ftpuser//创建一个用户并且自动创建家目录为/home/ftpuser

usermod -G ftpusers ftpuser //将这个新用户加入到ftpusers用户组中

sudo passwd ftpuser //更改密码

mkdir /home/ftpuser/dev_new //为用户添加一个具有一定权限的文件夹

chmod 777 -R /home/ftpuser/dev_new //新建一个dev_new目录用于存放文件,并且赋予全部权限,因为vsftp不运行将根目录作为可访问的目录

usermod -s /sbin/nologin username //限制用户登录方式;限制用户username只能通过ftp登陆,而不能直接登陆服务器,或者直接改/etc/passwd文件

二、改配置文件,连接不成功

vim /etc/vsftp.conf 改动这几行

write_enable=YES

ftpd_banner=Welcome to BIOS FTP service.

chroot_local_user=YES        //对本地用户是否实施限制

chroot_list_enable=YES       //开启限制白名单

chroot_list_file=/etc/vsftpd.chroot_list        //白名单路径,若无这个文件需要自己创建

utf8_filesystem=YES  

并且vim /etc/vsftpd.chroot_list 写入ftpuser用户

ufw allow 21

service vsftpd restart 访问失败,报口令错误

三、找到原因一

绕开linux的pam认证,将/etc/pam.d/vsftpd文件里的required改为optional

auth    optional        pam_listfile.so

auth    optional        pam_shells.so

因为/etc/vsftp.conf 中有pam_service_name=vsftpd 这一行

service vsftpd restart filezalli访问失败,list目录失败

四、找到原因二

改为被动模式,在vsftp文件中加入

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=30010

命令行执行 ufw allow 30000:30010/tcp

service vsftpd restart filezalli访问失败,仍然是list目录失败

五、找到原因三

在命令行用ftp xxx.201访问,输入用户名口令报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

vim /etc/vsftp.conf文件,加入 allow_writeable_chroot=YES

service vsftpd restart filezalli访问成功

六、将原vsftpd配置文件和改动后的文件进行比较

diff /etc/vsftpd.conf.well /etc/vsftpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

31c31

< #write_enable=YES

---

> write_enable=YES

103c103

< #ftpd_banner=Welcome to blah FTP service.

---

> ftpd_banner=Welcome to BIOS FTP service.

114c114

< #chroot_local_user=YES

---

> chroot_local_user=YES

123c123

< #chroot_list_enable=YES

---

> chroot_list_enable=YES

125c125

< #chroot_list_file=/etc/vsftpd.chroot_list

---

> chroot_list_file=/etc/vsftpd.chroot_list

155c155,162

< #utf8_filesystem=YES

---

> utf8_filesystem=YES

>

> pasv_enable=YES

>

> pasv_min_port=30000

> pasv_max_port=30010

>

> allow_writeable_chroot=YES

七、将原认证模块文件和改动后的文件进行比较

diff /etc/pam.d/vsftpd.well /etc/pam.d/vsftpd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

2c2

< authrequiredpam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

---

> authoptionalpam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

10c10

< authrequiredpam_shells.so

---

> authoptionalpam_shells.so

八、总结

用ftp命令行方式报错信息更清晰!

12

ruixia,sun

20 日志
5 分类
22 标签
GitHub E-Mail
© 2020 ruixia,sun
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
Totally Visitors Totally Visits
0%