当前位置: 首页 > news >正文

gbs使用手册之gbs chroot

子命令chroot允许用户chroot到gbs build生成的buildroot(编译环境)目录.可以使用如下方法获得基本的使用帮助:
$ gbs chroot --help
注意:build root的默认位置是在~/GBS-ROOT/local/scratch.{arch}.*,如果在运行gbs build时使用了-B选项,则这个路径会不同.
实例:
  • 创建build root时添加更多的额外包
$ gbs build --extra-packs=zypper,vim -A i586 # install zypper,vim to build root

可以参考gbs build页获取更多的gbs build选项.
  • chroot到build root,例如~/GBS-ROOT/local/scratch.i686.0/
$ gbs chroot ~/GBS-ROOT/local/scratch.i686.0/
  • chroot为root用户
$ gbs chroot -r ~/GBS-ROOT/local/scratch.i686.0/
gbs chroot会因为"su:用户不存在"的错误失败,这个错误是由Tizen的仓库引起的.现除段可以通过编辑如下二个文件手动添加root用户:
$ echo "root:x:0:0:root:/root:/bin/bash" >>path/to/buildroot/etc/passwd
$ echo "root:x:0:" >>path/to/buildroot/etc/group
这样修改后gbs chroot就可以正常工作了.
  • chroot然后为了开发目的在build root中安装额外的包
chroot as 'root':
$ gbs chroot -r ~/GBS-ROOT/local/scratch.i686.0/
Configure tizen repo in the chroot env:
# zypper ar http://download.tizen.org/releases/daily/<release_id>/repos/main/ia32/packages tizen-main
# zypper ar http://download.tizen.org/releases/daily/<release_id>/repos/base/ia32/packages tizen-base
Install extra packages, for example, install gdb.
# zypper refresh
# zypper -n install gdb gcc
对于https仓库,需要指定"ssl_verify=no",例如:
# zypper ar https://user:passwd@tizen.org/releases/daily/<release_id>/repos/main/ia32/packages/?ssl_verify=no tizen-main
注意:
  • 如果想要作为root使用,需要指定-r选项,然后可以用zypper安装和移除软件包
  • 如果想要在build root里安装软件包,需要指定选项-n,如zypper -n install gdb
译注:zypper是OpenSuse发行版的软件管理软件,类似于Fedora的yum和Ubuntu的apt-get.使用时必须以root身份,否则没有权限更改软件包.
译者补充:默认情况下build root中仅有一个用于编译RPM的用户abuild,所以如果想要编译RPM时可以这样做:
gbs chroot <path-to-build-root>
然后把源码压缩包和spec文件放在home/abuild/rpmbuild/SOURCE下
$cd /home/abuild/rpmbuild/SOURCES
$rpmbuld -ba spec-file

原文: gbs chroot

相关文章:

  • 如何用doxygen生成文档
  • FreeMarker教程
  • Timer、TimerTask实现定时业务处理
  • windows宿主机与linux目标机联网通信
  • 腾讯面试题(持续更新ing)
  • 几种排序算法与运用实例
  • 计算文件夹下.h和.cpp文件的总行数
  • 为什么仍还用C编码?
  • 线程同步
  • AndEngine安全移除精灵的方式
  • 可评审代码之道
  • JDK的动态代理
  • 实验一 Linux基本环境
  • 病毒原理实例
  • 利用jodconverter+openoffice+flexpaper实现的在线文档系统核心demo
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • Invalidate和postInvalidate的区别
  • java小心机(3)| 浅析finalize()
  • PHP CLI应用的调试原理
  • Promise面试题,控制异步流程
  • Python学习之路16-使用API
  • 服务器之间,相同帐号,实现免密钥登录
  • 欢迎参加第二届中国游戏开发者大会
  • 日剧·日综资源集合(建议收藏)
  • 如何解决微信端直接跳WAP端
  • 使用common-codec进行md5加密
  • 思否第一天
  • 跳前端坑前,先看看这个!!
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​ArcGIS Pro 如何批量删除字段
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #NOIP 2014#Day.2 T3 解方程
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C++17) std算法之执行策略 execution
  • (C语言)字符分类函数
  • (八)Spring源码解析:Spring MVC
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • @软考考生,这份软考高分攻略你须知道
  • []指针
  • [100天算法】-目标和(day 79)
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C#基础]说说lock到底锁谁?