跟着我来一起编译lfs(三) 临时工具链及文件系统

接下来开始第二次工具链的编译建立一个完成临时系统,为什么要第二次,上一文中解释了,就不多啰嗦了,为了避免不必要的错误,我们先把第一次解压出来的目录文件删除,重新来。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! cd $LFS/sources rm -rf binutils-2.27 gcc-6.2.0 linux-4.7.2 glibc-2.24 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ ../configure \ –prefix=/tools \ –disable-nls \ –disable-werror \ –with-lib-path=/tools/lib \ –with-sysroot make make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v…

跟着我来一起编译lfs(二) 工具链编译初识

建立交叉编译环境,这个步骤比较长及繁琐,耗时非常长,中间要准备好零食、饮料、连续剧,当然也可以LOL,尽量在娱乐中度过。 这里要理解一下交叉编译环境是干什么的?为什么要有这个环境? 首先我们最终的目的就是完成一个独立mini linux操作系统,记得前一章我们添加的那块虚拟硬盘么,这个系统将会在这块硬盘上产生,而产生这个系统的过程就是要用编译等工具生产相应的二进制文件,但是如果我们直接编译出二进制文件放在虚拟硬盘中,最终将无法运行,因为这块虚拟的硬盘上只有二进制文件,对应的依赖包等在我们的centos(及宿主机)中,所以我们先用centos(及宿主机)的编译工具和下载的源码编译出一套工具链,然后再用这个编译出来的工具链和下载的源码编译出独立的工具链。这样整个工具链及环境就都在我们的虚拟硬盘上,后面脱离宿主机一样可以运行。 好的,大概解释了一下,可能有不完整的地方,大家大概知道意思就可以。 第一件事 echo $LFS /mnt/lfs 查看环境,这一步一定要看清楚!!!!! 接下来开始第一次工具链编译 cd $LFS/sources 编译Binutils tar jxf binutils-2.27.tar.bz2 cd binutils-2.27 mkdir -v build cd build ../configure –prefix=/tools \ –with-sysroot=$LFS \ –with-lib-path=/tools/lib \ –target=$LFS_TGT \ –disable-nls \ –disable-werror 如果报错看看是不是GCC C++等工具没有安装?yum install 缺少的工具 make 64位系统添加一个lib64目录的软连接 case $(uname -m) in   x86_64) mkdir -v /tools/lib && ln -sv lib…

跟着我来一起编译lfs(一) 前期准备

linuxfromscratch (lsf) http://www.linuxfromscratch.org 具体是什么自行百度吧。 我编译的是7.10的版本(官方教程地址:点这里),其他版本大家可以自己去试,这个教程主要是让大家能够更清楚linux的一些目录,文件及命令。 这个过程是很漫长的,如果要跟着一起编译,要有足够的耐心,每台机器的环境都不一样,每个人所碰到的问题很有可能完全不一样,所以最终还是要靠大家自己去找答案,当然,我在编译的过程出现的问题一定会告之大家,避免碰到弯路。 先说一下我的环境 操作系统:win7 虚拟机:virtualbox 前期准备 1、在virtualbox中安装centos的系统,我用的是CentOS release 6.8,其他版本自行安装 2、添加一块虚拟硬盘,分区,创建目录 3、检测环境及下载源代码 一、安装centos 下载一个centos镜像 virtualbox 新建虚拟电脑,名称为 centos,上图 安装系统 然后启动,具体安装过程不再细说。 二、添加一块虚拟硬盘,分区,创建目录 安装好以后,关闭centos,添加一块虚拟硬盘给lfs用,上图 虚拟硬盘就添加好了。上图 启动系统,先全局更新 yum update 给虚拟硬盘分区 fdisk /dev/sdb 输入 n  (创建分区) 输入 p  (创建主分区) 输入 1  (只有一个分区) 一路回车 (确认分区大小) 最后w (写入分区信息) 环境变量及创建目录,这里命令比较多 export LFS=/mnt/lfs 请注意,以后每次重启或断开等情况都要先执行 echo $LFS /mnt/lfs 看看目录是否正确,一定要记住 创建根目录 mkdir -pv…

docker简述

这些都是从网络上摘抄的,大家看看。 琢磨一下,docker可以做很多东西。 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景: web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和调整数据库或其他的后台应用; 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。 官网 https://www.docker.com/ 文档 https://docs.docker.com/   Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 — Docker Hub Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。 1.1 Docker 守护进程 如上图所示,Docker…

jenkins 通过git获取代码

在jenkins中通过git插件获取代码时会要求jenkins必须有获取代码的权限。在jenkins项目时可以通过下述方法来配置: 1、启动jenkins并在浏览器访问你的jenkins即:http://your ip:8080 2、在jenkins上配置credentials,在创建项目时使用。其配置方法如下: a、在jenkins左边目录树依次点击credentials—-system—-add domain,如图: 其中:domain name:为方便起见填写git服务器的地址;description :为描述性文字可填可不填。 b、点击“ok”后,再点击“adding some credentials”,如图: 点击“adding some credentials”弹出页面如下:   其中: kind:有username with password、SSH Username with private key。这个根据实际情况选择,这里我们选择“username with password”. username:一般取项目名称,用来在创建项目时使用该credentials。如图: 保存后,jenkins就可以通过git插件来获取代码了。 要验证,单击新建项目在 Jenkins 的菜单选项。然后输入一个名称的工作,在以下示例中,输入的名称为”test2″,选中“构建一个maven项目” 点击“确定”后。标签切换到“源码管理”如下图:  

jenkins 定时构建项目

jenkins 如何定时构建项目。 首先进入job配置页,选择“构建触发器”如下图: 其中“Build periodically”、“poll scm”都可实现自动获取代码。 “Build periodically” 定期构建code。但其不关心code是有发生变化。配置信息如下: 0-2 * * * *  表示:每隔2小时去构建一次 “poll scm”定时检查code变更。若有变动就checkout,然后执行构建动作。配置信息如下: H/5 * * * *  表示:每隔5分钟去检查代码库 备注:poll scm 时间格式说明: MINUTE HOUR DOM MONTH DOW MINUTE 一小时内多少分钟(0-59) HOUR    一天内多少小时(0-23小时) DOM     一个月内多少天(1-31) MONTH  每月(1-12) DOW     星期几(0-7),其中0和7都表示周日。 如果要指定一个字段允许多个值,就按下面提供的操作步骤(指定)。 优先顺序如下: ‘*’                       可用来指定所有有效的值。 ‘M-N’                   可以用来指定一个范围,比如“1-3” ‘M-N/X’或’*/X’      可用于在指定范围内跳跃一个X的值,比如在MINUTE字段中”*/15″表示”0,15,30,45″,”1-6/2″表示”1,3,5″。  

jenkins git maven配置

1、下载和设置maven 点击给出的链接就可以打开maven的官方网站,如下图所示 一单文件被下载,解压文件到任意目录下。(我的解压目录为:E:\tool\apache-maven-3.3.9) 2、设置jenkins与maven 在浏览器访问你的jenkins即:http://your ip:8080 然后点击“系统管理—-管理插件”如图 在插件管理中,选择“可选插件”搜索“Maven Integration plugin”并下载重启jenkins。   然后点击“系统管理—-系统设置”如图 进入系统设置配置页。如图 在配置系统屏幕上滚动,直至看到 Maven 部分,然后点击“Add Maven’按钮。 取消选中“Install automatically”选项。 添加名称和设置 MAVEN_HOME 的位置。 然后,在屏幕的末尾点击“Save”按钮。 我们现在就可以去创建一个maven项目。 3、下载和设置git 点击给出的链接,就就可以进入到git的官网网站,如下图 一单文件被下载,安装到任意目录。(我的安装目录为:C:\Program Files) 4、设置jenkins 与git 在浏览器访问你的jenkins即:http://your ip:8080 然后点击“系统管理—-管理插件”如图 在插件管理中,选择“可选插件”搜索“git plugin”并下载重启jenkins。如下图: Jenkins 重新启动后,我们需要在系统管理—-global—-tool—-configuration中进行维护,如图: 维护页面如下所示:  要验证,单击新建项目在 Jenkins 的菜单选项。然后输入一个名称的工作,在以下示例中,输入的名称为”test2″,选中“构建一个maven项目” 点击“确定”后。标签切换到“源码管理”如下图: 至此:jenkins 与git 结合结束。

jenkins 安装

下载jenkins 点击给出的链接,就可以访问jenkins官方首页了。如下图所示: 默认情况下,我们选择“LTS release”版本。下载jenkins.war文件,这里选择下载最新的版本如下图所示: 启动Jenkins 打开命令提示符进入到jenkins.war存放目录下。执行以下命令: java -jar jenkins.war 执行完后,在命令提示符会输出以下行: 访问jenkins 一单jenkins已经启动并成功运行,在浏览器上输入http://your ip:8080或http://localhost:8080 都将出现jenkins成功页。如图: 到此,jenkins安装完成。

jenkins 分布式构建配置

jenkins 分布式构建步骤如下: 1、系统管理—-管理节点。 2、新建节点 3、节点配置 说明:若“启动方法”无“Launch agent via java web start”一项,则需按照以下步骤进行设置。 a、进入:系统管理–configure global security。 b、开启“tcp  port  for  jnlp agents” 选择“随机获取” 4、下载安装节点服务 a、回到节点列表 b、选中刚才新增的节点,进入到节点详情 点击“Launch”下载文件“slave-agent.jnlp、slave.jar”将其复制到远程服务器工作目录下即E:\test\1。再其目录下以命令行运行: java -jar slave.jar -jnlpUrl http://192.168.1.132/computer/slave/slave-agent.jnlp -secret 262630f06c00f210b28f548564e7e5768e81dfff7d932d658ca063c00e3ac9fc 至此节点配置完成。辣么问题来了:节点创建好了,那如何跟项目关联起来呢? 首先:我们点击项目名称右边的小箭头,选中“配置” 其次:在“general” 标签选中“Restrict where this project can be run” 在“Lable expression”处输入节点名称。 至此节点是如何创建的、以及节点跟项目是如何关联的。所有的配置到此都已结束。 备注:slave与master中的jdk、maven目录和文件名一致。以便管理,不容易出现其他问题

jenkins 发送邮件配置

jenkins自动配置邮件通知步骤如下: 1、打开系统管理—-系统配置 2 、在jenkins location–输入系统管理员邮箱地址 3、在“邮件通知”处置设如下 a、smtp服务器名称:smtp.163.com b、勾选SMTP认证输入用户名(与系统管理员邮箱一致)及密码(即客户端授权码非登录密码) c、勾选“通过发送测试邮件测试配置”,然后输入收件人地址。 备注:以jenkins 2.32.1版本,163邮箱为例,其余邮箱自行折腾。 至此jenkins发送邮件配置结束。