小编Lor*_*eno的帖子

为什么 Linux From Scratch 中使用 Canadian Cross 进行交叉编译?

我正在阅读《Linux From Scratch 11.0》一书。在三。构建 LFS 交叉工具链和临时工具,ii。工具链技术说明,有一些关于加拿大交叉编译的内容。我不明白为什么需要 3 个阶段和 3 台机器才能达到最终结果。文本假设我们从计算机 A 和一个在 A 上运行并为 A 生成二进制文件的编译器开始。那么为什么我们不直接使用该编译器来构建一个在 C 上运行并为 C 构建二进制文件的编译器呢?构建一个在 A 上运行但为 B 构建的编译器,然后构建一个在 B 上运行但为 C 构建的编译器,最后构建在 C 上运行并为 C 构建的编译器,为什么会有这么多麻烦呢?

我还在维基百科上找到了一篇关于它的文章 - https://en.wikipedia.org/wiki/Cross_compiler

cross-compilation

8
推荐指数
2
解决办法
3798
查看次数

通过 SSH 将数据写入文件有权限错误,即使使用 sudo

我正在创建一个自动化脚本。作为其中的一部分,我想添加一个 cron 作业。这是脚本失败的一部分:

BACKUP_USER=backupbot
SCRIPT_NAME=backup-script.sh

scp -i ./ssh-key ./$SCRIPT_NAME user@server:/tmp
ssh -i ./ssh-key user@server "
    sudo mv /tmp/$SCRIPT_NAME /home/$BACKUP_USER/bin/ &&
    sudo chown $BACKUP_USER /home/$BACKUP_USER/bin/$SCRIPT_NAME &&
    sudo chmod 100 /home/$BACKUP_USER/bin/$SCRIPT_NAME &&
    sudo sed -i 's/THE_URL/'${1}'/' /home/$BACKUP_USER/bin/$SCRIPT_NAME &&
    sudo echo '*/1 * * * *' $BACKUP_USER /home/$BACKUP_USER/bin/$SCRIPT_NAME > /etc/cron.d/discourse-backup"
Run Code Online (Sandbox Code Playgroud)

有问题的命令是:

sudo echo '*/1 * * * *' $BACKUP_USER /home/$BACKUP_USER/bin/$SCRIPT_NAME > /etc/cron.d/discourse-backup
Run Code Online (Sandbox Code Playgroud)

我越来越:

bash:第 5 行:/etc/cron.d/discourse-backup:权限被拒绝

在此之前,一切都按原样执行。我的最后一条命令有什么问题?我认为这是引号的一些问题 - 我尝试了单引号和双引号的多种组合,但最终得到了相同(或更糟)的结果。

bash ssh sudo io-redirection shell-script

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