小编Shi*_*iri的帖子

Yocto使用.bbappend文件来覆盖initramfs的默认init脚本的编写

我正在尝试编写一个.bbappend文件,该文件将附加到initramfs-live-boot_1.0.bb其中有一个语句,该语句do_install()init-live.sh管理引导过程的shell脚本的内容写入启动时init运行的初始化脚本.我的.bbappend文件的目的是引用要复制的启动脚本的修改版本来代替原始版本而不更改基础openembedded-core和/或poky环境.因此,该.bbappend文件和我的脚本版本将放在我的项目目录中,并构建其余的自己的食谱.

initramfs-live-boot_1.0.bbappend看起来像这样:

SUMMARY = "Replacement recipe"
FILESEXTRAPATH_prepend := "${THISDIR}/files:"
SRC_URI += "file://init.sh"

do_install_append() {
        install -m 0755 ${WORKDIR}/init.sh ${D}/init
}
Run Code Online (Sandbox Code Playgroud)

files在与.bbappend包含init.sh应该从中读取的脚本的文件所在的目录中有一个文件夹.

问题是当我尝试构建图像时,它会吐出这个错误:

WARNING: Failed to fetch URL file://init.sh, attempting MIRRORS if available
Run Code Online (Sandbox Code Playgroud)

然后尝试在poky目录中搜索缺少的文件,而不是在我的项目目录中.

.bbappend写错了文件吗?我如何initramfs使用该.bbappend文件编辑脚本?

init openembedded bitbake yocto

11
推荐指数
1
解决办法
2万
查看次数

在linux上安装rabbitmqadmin

我正在尝试安装并能够在linux机器上运行rabbitmqadmin.按照此处描述的说明没有帮助.

下载链接的文件后,它会提示将文件(看起来像python脚本)复制到/usr/local/bin.

尝试通过简单地调用rabbitmqadmin结果来运行它rabbitmqadmin: command not found.似乎没有任何关于如何使其工作的信息,并假设网站上列出的所有步骤都适用于所有人.简单地将python脚本复制到该bin文件夹应该允许它成为公认的命令,而不必每次都调用python解释器.

任何帮助表示赞赏.

linux rabbitmq rabbitmqadmin

11
推荐指数
3
解决办法
2万
查看次数

通过systemd运行Python脚本无法加载模块

我有一个使用的Python脚本,zmq我已经安装了这个库pip install zmq,如果通过命令行手动调用,我可以正常运行程序.但是,只要我尝试让systemd单元调用脚本,就运行systemctl status myservice.serviceshow ImportError: No module named zmq.

我的服务文件如下所示:

[Unit]
Description=Does Something

[Service]
Type=simple
ExecStart=/bin/sh /var/lib/project/runpythonscript.sh
Restart=always

[Install]
Alias=myservice.service
Run Code Online (Sandbox Code Playgroud)

哪个runpythonscript.sh是以root身份运行我的python脚本的非常简单的shell脚本.从命令行手动运行这个shell脚本运行我的python程序完全正常但是通过服务调用它导致它找不到zmq模块.

任何帮助表示赞赏.

python linux service systemd

9
推荐指数
2
解决办法
5445
查看次数

使用 sudo 找不到命令,但无需使用 sudo 即可工作

我已经dep在我的GOPATHat 中安装了一个二进制文件/home/me/go/bin以供使用。

运行dep成功执行二进制文件,但运行sudo dep结果sudo: dep: command not found

$ dep
Dep is a tool for managing dependencies for Go projects

Usage: "dep [command]"
...

Use "dep help [command]" for more information about a command.

$ sudo dep
sudo: dep: command not found
Run Code Online (Sandbox Code Playgroud)

路径不是这里的问题:

$ echo $PATH
/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/home/me/.local/bin:/home/me/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin

$ sudo echo $PATH
/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/home/me/.local/bin:/home/me/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin:/home/me/.local/bin:/home/me/bin:/home/me/go/bin
Run Code Online (Sandbox Code Playgroud)

的路径是作为相同me并且superuser两者引用键目录/home/me/go/bin

为什么在dep没有sudo成功的情况下运行但有sudo结果command not …

bash sudo command

6
推荐指数
1
解决办法
2360
查看次数

如何使用 Gstreamer 通过 RTMP 进行流式传输?

我正在尝试使用 Gstreamer 将视频和音频流式传输到 RTMP 服务器 (Wowza),但存在许多问题。

几乎没有关于如何正确使用rtmpsink插件(通过 RTMP 将媒体发送到指定服务器)的文档。不仅如此,制作rtmpsink兼容的正确 Gstreamer 管道目前只是一个反复试验的过程。

我当前的 Gstreamer 管道是:

sudo gst-launch-1.0 -e videotestsrc ! queue ! videoconvert ! x264enc ! flvmux streamable=true ! queue ! rtmpsink location='rtmp://<ip_address>/live live=true'
Run Code Online (Sandbox Code Playgroud)

在我的 Linux 机器上运行上面的命令会出现以下错误:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0: Could not     open resource for writing.
Additional debug info:
gstrtmpsink.c(246): gst_rtmp_sink_render (): /GstPipeline:pipeline0/GstRTMPSink:rtmpsink0: …
Run Code Online (Sandbox Code Playgroud)

streaming rtmp gstreamer wowza

5
推荐指数
1
解决办法
3万
查看次数

Nodejs npm脚本失败,出现"SyntaxError:Unexpected token {"

我刚刚将我的Reactjs项目导入Ubuntu上的新机器并安装了大多数依赖项,并npm install成功地禁用了以下内容:

npm WARN optional Skipping failed optional dependency /react-scripts/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.17
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.1.2
Run Code Online (Sandbox Code Playgroud)

尝试运行项目时npm start失败:

> booking-frontend@0.1.0 start /root/17-visit-booker-frontend
> react-scripts start


/root/17-visit-booker-frontend/node_modules/react-scripts/scripts/start.js:33
const {
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Function.Module.runMain …
Run Code Online (Sandbox Code Playgroud)

javascript ubuntu node.js npm-scripts

4
推荐指数
1
解决办法
6641
查看次数

使用DataProvider时,Vaadin 8网格排序不起作用

在Vaadin 8中,排序网格行就像单击列标题一样简单.这将按照此处所述升序和降序排序之间切换列.这通过grid.setItems()方法填充Grid时有效.

但是,当使用a DataProvider作为Grid数据源时,单击列标题不会对行进行排序.

有一个关于描述排序顺序文件在这里DataProvider秒,但处理的排序顺序,当有多个排序要求.

有一个简单的办法简单地使用相同的默认排序行为,当与填充网格展示grid.setItems()了当我们与填充grid.setDataProvider()

sorting vaadin-grid vaadin8

4
推荐指数
1
解决办法
2677
查看次数

SQLite 日期时间与 ISO8601 中“现在”的比较

我的日期时间信息按照 ISO8601 格式以 YYYY-mm-ddTHH:MM:SS 格式存储。但是,如果存储的日期晚于当前日期时间,我想从我的 SQLite 数据库中获取信息。

这是我正在尝试实现的示例:

SELECT * FROM mydb WHERE date > datetime('now')
Run Code Online (Sandbox Code Playgroud)

问题是 SQLite 函数 datetime('now') 以与上述相同的格式返回日期,但没有 'T' 文字,因此呈现与 datetime('now') 无法比拟的 ISO8601 格式的存储日期时间值.

有什么方法可以在不更改数据库值的情况下进行比较?

sqlite datetime date

3
推荐指数
1
解决办法
1731
查看次数

调整Vaadin图像的大小

我正在将文件中的图像插入到UI中.我按照这些说明在Vaadin 7.6.8中创建它.

String basepath = VaadinService.getCurrent().getBaseDirectory().getAbsolutePath();
FileResource resource = new FileResource(new File(basepath + "/WEB-INF/images/image.png"));
Image image = new Image("", resource);
Run Code Online (Sandbox Code Playgroud)

但是我根本无法重新缩放图像或调整图像大小.图像始终以完整大小显示.

有没有一种方法可以缩小图像而不使用CSS?

java vaadin vaadin7

3
推荐指数
1
解决办法
3220
查看次数

杰克逊序列化:忽略未初始化的int

现在首先,我已经阅读了本网站上的其他一些答案以及其他关于杰克逊序列化的答案,但它们都提供了忽略null字段的方法.但是,在Java中,int不可能null.

我正在尝试将ObjectMapjava对象转换为Json但忽略任何null字段.这适用于字符串,但int最终会取得0if未初始化的值,因为0不是null字段不会被忽略.

    private ObjectWriter mapper = new ObjectMapper().writer();
    private myClass data = new myClass(); //class contains a string and int variable
    data.setNumber(someInt); //set values
    data.setString(someString);

    String Json = mapper.writeValueAsString(data);
Run Code Online (Sandbox Code Playgroud)

有人可以对此有所了解吗?

编辑:为了澄清,我已经尝试使用Integer该类作为数据类型,但导致转换为Json字符串以抛出JsonProcessingException.

java int null serialization json

2
推荐指数
3
解决办法
6841
查看次数

Linux AMT 工具总是抛出 404 错误

我正在使用Linux命令amttool与本地网络上安装了AMT的另一台PC通信,以便独立于磁盘系统与机器通信以获取主板信息。我已经成功地通过Python 工具从机器获取基本功率数据,但没有提供更详细的信息。amttool然而,Linux显示它可以根据手册页“打印一些机器信息”。

我希望能够提取的信息是 CPU 使用率、磁盘使用率、RAM 使用率等统计信息。 但是在命令行上运行:

AMT_PASSWORD=<amt_password> amttool <amt_host_ip> info
Run Code Online (Sandbox Code Playgroud)

总是返回这个错误:

### AMT info on machine <amt_host_ip> ###
AMT version:  9.0.30
404 Not Found at /usr/bin/amttool line 242.
Run Code Online (Sandbox Code Playgroud)

假设发生错误的行号根据命令而变化,在这种情况下,我们要求使用info. 提供任何其他可能的命令会返回一个404说明错误位置的不同行号。

我知道这不是身份验证问题,因为在将密码正确传递给amttool我之前,我收到了401 unauthorized错误消息。也因为将相同的凭据传递给上面链接的 Python amt 工具成功了。

可能的问题是什么?会不会是有bug的版本?主机端是否缺少设置?

任何帮助表示赞赏。

linux motherboard intel

2
推荐指数
1
解决办法
512
查看次数

特定版本的 Maven 排除

我有一个带有 maven 依赖项的项目,它引入了两个包,其中一个引入了一个子依赖项,该子依赖项与另一个版本较低的包相同。该dependency:tree如下所示:

Dependency convergence error for xerces:xercesImpl:2.10.0 paths to dependency are:
+-com.vaadin:vaadin-client-compiler:7.6.4
  +-net.sourceforge.nekohtml:nekohtml:1.9.19
     +-xerces:xercesImpl:2.10.0
and
+-com.vaadin:vaadin-client-compiler:7.6.4
  +-xerces:xercesImpl:2.11.0
Run Code Online (Sandbox Code Playgroud)

以上是 maven 执行器插件的输出,我在其中强制执行依赖版本收敛。

有没有一种方法可以指定要排除的版本而不完全排除整个子依赖项?

maven

2
推荐指数
1
解决办法
5590
查看次数