BusyBox

How do I get $(/bin/printf -6) to return -6 and not think -6 is an option

心不动则不痛 提交于 2019-12-01 18:40:04
问题 I have a bash shell script which has the line: g=$(/bin/printf ${i}) when ${i} contains something like -6 , printf thinks its being passed an option. It does not recognize the option so produces an error. if wrap ${i} in quotes, printf still thinks its being passed an option. g=$(/bin/printf "${i}") if I escape the quotes, variable $g then holds " -6 " which is not what I want either. g=$(/bin/printf \"${i}\") Is there away to escape the dash (-). printf is a BusyBox app 回答1: What if you

采坑指南——k8s域名解析coredns问题排查过程

蹲街弑〆低调 提交于 2019-12-01 11:43:44
正文 前几天,在ucloud上搭建的k8s集群(搭建教程后续会发出)。今天发现域名解析不了。 组件版本:k8s 1.15.0,coredns:1.3.1 过程是这样的: 首先用以下yaml文件创建了一个nginx服务 apiVersion: v1 kind: Service metadata: name: nginx-svc-old labels: app: nginx-svc spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx-old spec: replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 创建好之后: 因只部署了一个master节点。在master宿主机上直接执行以下命令: nslookup nginx-svc-old.default.svc 发现不能解析域名。事先也在宿主机上/etc/resolv.conf里配置了nameserver

Docker中配置国内镜像

余生颓废 提交于 2019-12-01 10:44:18
1. 为什么要为docker配置国内镜像   在正常情况下,docker有一个默认连接的国外官方镜像,在国外的网友访问该官方镜像自然不成问题,但是国内毕竟不是国外,由于国情不同,中国的网络访问国外官方镜像网速一向很慢,而且往往还会遭遇断网的窘境,所以说我们要想正常使用docker的镜像,那么我们就不得不配置相应的国内镜像。 2. 可以使用的国内镜像有哪些   Docker可以配置的国内镜像有很多可供选择,比如说:阿里云,网易蜂巢,DaoCloud,Docker中国区官方镜像等,这些都是可以提供给大家随意选择的不错的镜像仓库。 3. 配置Docker中国区官方镜像 1. Docker中国区官方镜像简介   在国内,可以通过registry.docker-cn.com访问官方镜像库,目前该镜像库只包含流行的公有镜像,而私有镜像仍需要从美国镜像库中拉取。 2. 配置Docker中国区官方镜像   使用vi修改 /etc/docker/daemon.json 文件并添加上”registry-mirrors”: [“ https://registry.docker-cn.com “],如下: vi /etc/docker/daemon.json { “registry-mirrors”: [“ https://registry.docker-cn.com “] } 3. 重启Docker  

制作docker镜像-容器

*爱你&永不变心* 提交于 2019-12-01 10:39:39
Dockerfile 基于容器 docker hub automated build(依据dockerfile制作) 基于容器制作镜像,我们会先安装一个基础镜像,然后在基础镜像的基础上安装别的应用或者配置,完成后执行docker commit 命令提交到docker hub. Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 以我之前机器上安装的busybox为例: step1 docker container run --name busybox1 -it busybox step2 在根目录下创建/data/page/index.html mkdir -p /data/page/ vi index.html 在文件中输入hello world setp3 保持docker container启动的状态下,执行命令: docker commit -p busybox1 因为这个命令里我们没有加tag和repository,所以生成的镜像如下: 我们可以在后期去修改一个文件的tag和repository docker tag 22e17e3bd56f levi/busybox_httpd:v0.1 step4 根据新制作的镜像,启动容器: docker run --name busybox-levi -it

Linux Cant find dynamically linked applications

蓝咒 提交于 2019-12-01 09:57:23
问题 I have an embedded system running Linux Kernel 3.10 and Busybox. If I cross compile (toolchain build by buildroot so its using uclibc) a program without the -static flag. It wont run. -/bin/sh: helloworld: not found If I compile my code with the -static flag. It will normally run and output HelloWorld Whats going on here? 回答1: Just an addition to above which clarifies if any body face same problem .. as i saw above question just now.. If you compile busybox with statically.Then no need to

【转】Android root检测方法总结

a 夏天 提交于 2019-12-01 04:53:45
一 为什么要进行root检测? 出于安全原因,我们的应用程序不建议在已经root的设备上运行,所以需要检测是否设备已经root,以提示用户若继续使用会存在风险。 二 root了会有什么风险? 在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者。 在系统中,每个文件、目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外。 root用户的特权性还表现在:root可以超越任何用户和用户组来对文件或目录进行读取、修改或删除(在系统正常的许可范围内);对可执行程序的执行、终止;对硬件设备的添加、创建和移除等;也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需要(因为root是系统中权限最高的特权用户);root是超越任何用户和用户组的,基于用户ID的权限机制的沙盒是隔离不了它的。 三 不root为什么就安全了呢? Android安全架构是基于Linux多用户机制的访问控制。应用程序在默认的情况下不可以执行其他应用程序,包括读或写用户的私有数据(如联系人数据或email数据),读或写另一个应用程序的文件。 一个应用程序的进程就是一个安全的沙盒(在受限的安全环境中运行应用程序,在沙盒中的所有改动对操作系统不会造成任何危害)。它不能干扰其它应用程序,除非显式地声明了“permissions”

Using awk printf to urldecode text

倾然丶 夕夏残阳落幕 提交于 2019-12-01 03:58:29
I'm using awk to urldecode some text. If I code the string into the printf statement like printf "%s", "\x3D" it correctly outputs = . The same if I have the whole escaped string as a variable. However, if I only have the 3D , how can I append the \x so printf will print the = and not \x3D ? I'm using busybox awk 1.4.2 and the ash shell. Since you're using ash and Perl isn't available, I'm assuming that you may not have gawk . For me, using gawk or busybox awk , your second example works the same as the first (I get "=" from both) unless I use the --posix option (in which case I get "x3D" for

Using awk printf to urldecode text

筅森魡賤 提交于 2019-12-01 00:55:02
问题 I'm using awk to urldecode some text. If I code the string into the printf statement like printf "%s", "\x3D" it correctly outputs = . The same if I have the whole escaped string as a variable. However, if I only have the 3D , how can I append the \x so printf will print the = and not \x3D ? I'm using busybox awk 1.4.2 and the ash shell. 回答1: Since you're using ash and Perl isn't available, I'm assuming that you may not have gawk . For me, using gawk or busybox awk , your second example works

How to schedule a cronjob which executes a kubectl command?

和自甴很熟 提交于 2019-12-01 00:43:59
How to schedule a cronjob which executes a kubectl command? I would like to run the following kubectl command every 5 minutes: kubectl patch deployment runners -p '{"spec":{"template":{"spec":{"containers":[{"name":"jp-runner","env":[{"name":"START_TIME","value":"'$(date +%s)'"}]}]}}}}' -n jp-test For this, I have created a cronjob as below: apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/5 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - kubectl patch deployment runners -p '{"spec":{"template":{"spec":

[深入理解Android卷一全文-第一章]阅读前的准备工作

给你一囗甜甜゛ 提交于 2019-11-30 21:52:58
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在OSC博客中全文转发这两本书的全部内容。 第一章 阅读前的准备工作 本章主要内容 本章简单介绍Android系统架构、编译环境的搭建以及一些工具的使用。 1.1 系统架构 1.1.1 Android系统架构 Android是Google公司推出的一款手机开发平台。该平台本身是基于Linux内核的,图1-1展示了这个系统的架构: 图1-1 Android系统架构 从上图中可以看出,Android系统大体可分为四层,从下往上依次是: Linux内核层,目前Android2.2(代号为Froyo)基于Linux内核2.6版本。 Libraries层,这一层提供动态库(也叫共享库)、Android运行时库、Dalvik虚拟机等。从编程语言上来说,这一层大部分都是用C或C++写的,所以也可以简单地把它看成是Native层。 Libraries层之上是Framework层,这一层大部分用Java语言编写。它是Android平台上Java世界的基石。 Framework层之上就是Applications层了,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 从上面的介绍可看出,Android最大的特点之一