rpmbuild错误文件未找到,即使文件在路径中
我在运行rpmbuild 时遇到了以下错误 文件中存在路径 任何帮助或提示都会受到赞赏 谢谢 rpmbuild -vv --buildroot $PWD/root --target x86_64 -bb bin-show.spec Building target platforms: x86_64 Building for target x86_64 Processing files: helloworld-1.0-1.x86_64 error: File not found: /nobackup/username/prod/packaging/redhat/bin-show/root/etc/testpackage.conf RPM build errors: File not found: /nobackup/username/prod/packaging/redhat/bin-show/root/etc/testpackage.conf 其中b
22 2024-04-05
编程技术问答社区
RPM-安装时间参数
我已经将应用程序打包到RPM软件包中,例如 myApp.rpm .在安装此应用程序时,我想从用户那里接收一些输入(输入的示例可能是 - 应用程序正在安装的环境 - " dev"," qa"," uat"," uat"," prod").基于输入,应用程序将安装适当的文件.安装应用程序时是否可以通过参数传递? P.S.:可能的解决方案可能是为每个环境创建一个RPM软件包.但是,在我们的情况下,这不是一个可行的选择,因为我们有大约20个环境,并且我们不希望有20个不同的软件包. 解决方案 通常,RPM软件包不需要用户交互. RPM的人们一次又一次地表示,没有交互式安装是RPM的明确设计目标.对于首次使用之前需要某种输入的软件包,您通常会在首次使用中提供此信息,我们将其全部包含在带有宏或其他内容的配置文件中,并告诉您的用户他们必须在应用程序可用之前配置它. 甚至通过某种类型的参数将其视为最终用户相互作用.我认为您想要的是让您的预读物或安装脚本自动检测环境,也许是通过将文件放
10 2024-04-04
编程技术问答社区
Ansible 无法为 Redhat 中的 GRUB 引导加载器设置密码
作为Salam-O-Alikum, 我写了一本Ansible Playbook,用于在Redhat和Ubuntu上设置Grub Bootloader密码,没有错误,我可以在两个位置上看到 grub2.cfg 的更改. 奇怪的是,当我重新启动两台机器时,Ubuntu Machine要求使用用户名和密码,但Redhat Machine不会. 我已经看到50多个教程的过程是相同的,而且非常简单,但我没有这样的行为.任何帮助将不胜感激. 这是我尝试的. harkening.yml --- - hosts: localhost become: yes gather_facts: true vars: grub_password_v1_passwd: puffersoft grub_password_v2_passwd: grub.pbkdf2.sha512.10000.A4DE89CBFB84A3425
4 2024-04-02
编程技术问答社区
程序用boost libs编译正常,但运行时出现错误
简而言之... c ++ program(使用boost库)在蚀中编译了罚款,但是"加载共享库时错误:libboost_thread.so.1.46.1:无法打开共享对象文件:没有此类文件或目录",它在运行它时显示. 详细信息 我正在运行C ++上的基本程序,以检查我可以正确使用Boost线程库. #include #include void hello () { Std::cout
20 2024-04-02
编程技术问答社区
程序用boost libs编译正常,但运行时出现错误
简而言之... c ++ program(使用boost库)在蚀中编译了罚款,但是"加载共享库时错误:libboost_thread.so.1.46.1:无法打开共享对象文件:没有此类文件或目录",它在运行它时显示. 详细信息 我正在运行C ++上的基本程序,以检查我可以正确使用Boost线程库. #include #include void hello () { Std::cout
8 2024-04-02
编程技术问答社区
登录时启动ssh-agent
我使用SSH别名从Bitbucket.com拉出一个网站作为远程Git Repo.我可以在服务器上手动启动SSH-agent,但每次通过SSH登录时都必须执行此操作. 我手动启动ssh-agent: eval ssh-agent $SHELL 然后我添加代理: ssh-add ~/.ssh/bitbucket_id 然后,当我这样做时显示出来: ssh-add -l 我很高兴去.有什么方法可以自动化此过程,因此每次登录时我都不必这样做?服务器正在运行Redhat 6.2(Santiago). 解决方案 请浏览本文.您可能会发现这非常有用: https:https://web.archive. org/web/20210506080335/https://mah.everybody.org/docs/ssh 以防上面的链接有一天消失,我正在捕获下面解决方案的主要部分: 通过丹尼尔·斯塔林(Daniel Starin)的Josep
16 2024-03-31
编程技术问答社区
退格键只在输入字符后擦除bash提示符
新的Linux用户在这里. 我的bash提示如下: export PS1=$"\[\e[1;32m\d \t \e[1;33mฅ^\e[m\e[1;36mᵒ\e[m\e[1;33mﻌ\e[m\e[1;36mᵒ\e[m\e[1;33m^ฅ \e[1;35m\W\e[1;32m$\]" (这是小猫ฅ^ᵒﻌᵒ^ฅ) 现在,我已经在字符串的末端添加了],当提示为空时,它不再删除我的bash提示字符.但是,一旦我开始键入命令,然后按BackSpace,它确实会删除我的bash提示. 有没有办法防止这种情况,还是这只是一个狂欢? 谢谢! 解决方案 \[...\]表示所包含的零件不会占据提示中的任何空间.因此,它们用于XTerm控制序列(\e[1;32m等),而不是及时文本(\d,\t等).尝试以下操作: PS1='\[\e[1;32m\]\d \t\[\e[1;33m\]ฅ^\[\e[m\e[1;36m\]ᵒ\[\e[m\e[1;33m\]ﻌ\[\e[
8 2024-03-29
编程技术问答社区
在Shell脚本中使用Awk来显示/etc/passwd信息
im试图在我的shell脚本中编写一个尴尬行,该线将搜索属于输入的用户的PASTWD文件信息.由于AWK仅在特定列中进行搜索,并且第一列会根据使用的用户名而变化的事实,因此我认为我必须在awk系列内使用脚本输入$用户名. 到目前为止,脚本中的行是: awk -f awkpass.awk /etc/passwd 和awkpass.awk文件中的行是: /anyone/{print "Username\t\t\t" $1 我认为我需要插入$ username而不是"任何人",因为$用户名是我用来收到用户输入的变量,但不确定.帮助非常感谢.谢谢! 解决方案 您可能可以使用其中任何一个: awk -F: "\$1 ~ /$username/ { print \"Username:\t\t\t\", \$1}" awk -F: "\$1 == \"$username\" { print \"Username:\t\t\t\", \$1}" $1
6 2024-03-29
编程技术问答社区
如何在bash脚本中设置Vncserver (redhat6)
我正在使用脚本自动设置计算机.我需要为用户为VNC服务器分配一个密码,该密码通常使用VNCServer命令完成.但是,它提示用户输入并重新输入其密码,脚本都无法执行. 那么,如何在没有交互提示的情况下设置VNC密码? 解决方案 请尝试以下bash脚本示例: #!/bin/sh vncpasswd
12 2024-03-29
编程技术问答社区
为什么/root/.bash_profile中的命令会启动两次?
这是我的/root/.bash_profile: export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 & 启动服务器时,我运行ps aux | grep SimulatedRpu,这是输出: root 2758 0.2 1.0 62316 20416 ? Sl 14:35 0:00 ./SimulatedRpu-V1 root 3197 0.5 0.9 61428 19912 pts/0 Sl 14:35 0:00 ./SimulatedRpu-V1 root 3314 0.0 0.0 5112 716 pts/0 S+ 14:35 0:00 grep SimulatedRpu 因此,关于端口的程序打印错误消息已使用. 但是,为什么/root/.bash_profile
12 2024-03-28
编程技术问答社区
BASH shell脚本的回声在同一行输出
我有一个简单的bash shell脚本,该脚本检查curl命令的HTTP响应代码. 逻辑很好,但是我被卡在"简单地打印出"输出"上. 我正在使用GNU Bash,版本3.2.25(1)-Release(x86_64-redhat-linux-gnu) 我想用一个选项卡输出URL - 然后是404 | 200 | 501 | 502响应.例如: http://www.google.co.uk200 我还会遇到一个奇怪的错误,即URL的" HTTP"部分被200 | 404 | 501 | 502覆盖.我不使用的基本bash壳脚本(功能)吗? 谢谢 英里. #!/bin/bash NAMES=`cat $1` for i in $NAMES do URL=$i statuscode=`curl -s -I -L $i |grep 'HTTP' | awk '{print $2}'` case $statuscod
10 2024-03-28
编程技术问答社区
如何在RedHat的bash脚本中不输入密码而切换到root用户?
我想通过在Redhat上的bash脚本中切换到root用户,通过在代码中指定密码而不是输入密码. 任何帮助都将不胜感激. 谢谢 解决方案 在纯文本中将密码存储在脚本中不是一个好主意.您可以使用visudo来编辑sudoers文件,并允许用户在不使用密码的情况下使用sudo运行命令. 其他解决方案 Sudo的灵活性被广泛估计.这导致了非常糟糕的实践(例如sudo su -佳能手术法). 一种更好的方法是,最好允许您打算允许的命令而无需使用密码 : phill = NOPASSWD: /bin/ls, /usr/bin/lprm 请参阅更多示例: shell sell随着时间的流逝 其他解决方案 让Sudo使用-s标志 从stdin读取 sudo -S mkdir /mnt/somedir
22 2024-03-28
编程技术问答社区
RedHat守护神的功能使用
我正在研究RHEL上的Jetty Init脚本.尝试使用INIT库提供的daemon函数(/etc/rc.d/init.d/functions). 我找到了 terse documentation 和 and Online示例(我还一直在系统上查看系统上的其他init脚本以获取示例). 从在线查看此片段以启动守​​护程序 daemon --user="$DAEMON_USER" --pidfile="$PIDFILE" "$DAEMON $DAEMON_ARGS &" RETVAL=$? pid=`ps -A | grep $NAME | cut -d" " -f2` pid=`echo $pid | cut -d" " -f2` if [ -n "$pid" ]; then echo $pid > "$PIDFILE" fi 为什么要打扰$PID并用手将其写入$PIDFILE?我想我想知道--pidfile daemon函数的--pidfile选项
10 2024-03-28
编程技术问答社区
从桌面快捷方式调用shell脚本时,无法读取.bashrc
我有一个简单的问题,了解Linux中的行为.简而言之,在Linux上,如果我从"桌面快捷方式"调用我的SH脚本,则该脚本将看不到最新的环境变量(在BashRC中设置).因此,我想知道这个外壳脚本在什么范围中? 创建一个测试柜并复制: 创建一个简单的外壳脚本'testme.sh': !/bin/sh echo "Hi This is a test script checking the env var"; echo "TESTVAR = $TESTVAR"; read in echo "Done"; 为上面的脚本创建桌面快捷方式. cd ~/Desktop vi mytest-desktop.desktop //Contents for mytest-desktop.desktop are : [Desktop Entry] Version=1.0 Type=Application Name=TestAbhishek Exec=/home/abhishe
6 2024-03-28
编程技术问答社区
如何安排每个月的第一个周日运行
我在redhat上使用bash.我需要安排一份Cron工作,以便在每个月的第一个星期日上午9:00进行.我该怎么做? 解决方案 您可以将类似的内容放在crontab文件中: 00 09 * * 7 [ $(date +\%d) -le 07 ] && /run/your/script date +%d为您提供当天的数量,然后您可以检查一天的小于或等于7.如果是,请运行您的命令. 如果您仅在周日运行此脚本,则意味着它仅在一个月的第一个星期日运行. 请记住,在crontab文件中,应逃脱date命令的格式选项. 其他解决方案 值得注意的是,看起来最明显的方法是 工作. 您可能会认为您可以写一个克朗塔布条目,该条目将周定为0(周日)和月份为1-7的日期,如下... # This does NOT work. 0 9 1-7 * 0 /path/to/your/script ...但是,由于 cron如何处理crontab线的怪癖 - 指定的
8 2024-03-27
编程技术问答社区
Azure RedHat vm yum 更新失败,提示 "SSL 对等方以证书过期为由拒绝了您的证书"。
我刚刚在Azure上启动了标准的Redhat 7 VM. i登录和类型: sudo yum update 并获取: Loaded plugins: langpacks, product-id, search-disabled-repos https://rhui-3.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/x86_64/dotnet/1/debug/repodata/repomd.xml: [Errno 14] curl#58 - "SSL peer rejected your certificate as expired." Trying other mirror. https://rhui-1.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/x86_64/dotnet/1/debug/re
8 2024-03-23
编程技术问答社区
如何使用CloudFormation在Redhat中安装aws-cfn-bootstrap/cfn-init包?
我正在尝试启动带有云形式模板的实例.启动了实例,但由于cfn-init/aws-cfn-bootstrap软件包未安装在Redhat 7 AMI中,因此userData部分未完全执行.我尝试手动安装aws-cfn-bootstrap软件包,但由于与Python版本的冲突而无法安装. 这是云形式模板的用户达塔部分 "UserData": { "Fn::Base64": { "Fn::Join": [ "\n", [ "#!/bin/bash", "set -x", "", "INSTANCE_
10 2024-03-22
编程技术问答社区
有没有可能在没有root权限的情况下安装aws-cli包呢?
标题建议,我找不到安装aws-cli的好方法(> https://github.com/aws/aws-cli/)没有root访问(或等效的sudo特权). Mac上的Way Homebrew设置可能会暗示它,前提是将一些目录和权限设置为设施将来安装的方式.但是,我还没有在Linux(特别是Red Hat Enterprise Linux或Centos发行版)中找到任何方法. 我也知道Rhel的SCL( 解决方案 有一个用于此目的的捆绑安装程序. 安装aws命令到$HOME/bin $ wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip $ unzip awscli-bundle.zip $ ./awscli-bundle/install -b ~/bin/aws set $PATH环境变量 $ echo $PATH | grep ~/bin // See if $PATH conta
16 2024-03-22
编程技术问答社区
Ansible 'no_log'为调试输出中的特定值,而不是整个模块
我正在为Ansible Automation(EX407)的RedHat认证专家学习,并且正在使用no_log模块参数.我有一本示例剧本构成; --- - hosts: webservers tasks: - name: Query vCenter vmware_guest: hostname: "{{ vcenter['host'] }}" username: "{{ vcenter['username'] }}" password: "{{ vcenter['password'] }}" name: "{{ inventory_hostname }}" validate_certs: no delegate_to: localhost no_log: yes ... 当禁用no_log时,我会得到有关VM的很多有用的调试信息,但是当禁用no_log时,我显然无法保护我的剧本拱顶数据(
58 2024-03-21
编程技术问答社区