Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

2
如何在x86-64机器上为i386目标构建rpm?
我正在使用rpmbuild命令构建一个rpm : rpmbuild -bb --root <DIRECTORY> --target i386 --define "_topdir <DIRECTORY>" <specfile>.spec 当我使用SLED 10 SP3 x86计算机时,它可以成功运行。但是在我的SLES 10 SP3 x64虚拟机上,它显示以下错误: error: No compatible architectures found for build 最初我没有使用--targetoption,它仍然在x86机器上运行,但是x64机器上存在相同的错误。 请帮助我解决此错误


2
Debian的dpkg是否存储软件包更改的时间/日期(即安装/清除)?
我知道,dpkg并且dpkg-query是很好的工具,以了解当前安装在Debian系统上的包。除了记录到文件中的信息/var/log/dpkg.log.*是存在的,让我知道任何其他地方,当一个变化发生(即时间和日期一包的安装的)? 假设这个问题在这里说,Debian的软件包系统不关心存储约一个deb文件来源的信息(和好,应该怎么办呢?)我开始以为/var/log/dpkg.log.*就是什么时候什么信息的唯一地方dpkg发生相关完全存储。 也许有人可以确认这一点。否则,请告诉我有关软件包安装的时间信息是否存储(实际上是太好了!)在哪里找到它们(哪个文件?)。
8 debian  logs  dpkg 


2
如何使用Bash在二进制文件中查找2个字节,增加它们的值并替换?
我试图在二进制文件中找到两个字节,然后增加这两个字节的值并将其替换为文件中的字节。这两个字节位于位置0x82-0x83上。现在,我已经使用此命令成功提取了这两个字节: #!/usr/bin/env bash BYTES=$(tail -c +131 "$1" | head -c 2) 这些字节的值是:1B 1F。我坚持: 如何将字节转换为整数?应该是6943十进制。 如何将二进制数据附加/回显到文件 如何在位置0x82-0x83的文件内写入增加的字节。我可以使用head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin,但是必须有更好的方法。 我可以用PHP做到这一点,应该会更容易,但是我对如何在bash中做到这一点感兴趣。


2
mdadm的“备用”数字是什么意思?
我使用以下命令从六个硬盘驱动器创建了一个基于mdadm的RAID 5: # mdadm --create /dev/md0 --level=5 --raid-devices=5 \ /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 \ --spare-devices=1 /dev/sdg1 我希望该阵列具有一个热备用,即/ dev / sdg1。但是,检查mdadm --detail显示2个备用零件: # mdadm --detail --scan ARRAY /dev/md0 metadata=1.2 spares=2 name=... 而且,如所示的阵列大小为df2 TB,这仅对应于我使用的500 GB驱动器中的四个。 那么,什么是确切的语义--spare-devices?手册页指出它“指定了初始阵列中备用(eXtra)设备的数量。”,但这似乎并非如此。

3
Cron不在特定日期运行,而是在所有其他日期运行
我有一个cron设置,每天晚上10点执行bash脚本。我还有另一个cron设置,要在每月的1号运行。两个克朗都启动bash脚本,bash脚本中唯一不同的是它们传递给底层Java程序的参数(模拟Java程序的命令行启动)。 问题是,我需要以某种方式在每月的1号停用每日cron,以使两者都不会尝试在同一天运行。这可以自动执行吗? 我想我可以创建另一个bash脚本来在1日之前编辑cron,然后在备份内容之后再次编辑cron,但这似乎……不干净。

1
以与外部键盘一致的方式交换<esc>和<caps lock>
我有一个名为〜/ .speedswapper的文件,其中包含以下内容: ! Swap caps lock and escape remove Lock = Caps_Lock keysym Escape = Caps_Lock keysym Caps_Lock = Escape add Lock = Caps_Lock ...当我跑步时xmodmap ~/.speedswapper,这会切换esc和Caps Lock键。我的〜/ .profile文件中有这一行,因此每当我登录时,这些键都会切换。 但是,如果我插入外部USB键盘,则该设置似乎不会持久。我的笔记本电脑的键盘工作得很好,但是我必须再次运行命令才能使外部键盘切换两个键。幸运的是,这样做似乎并没有影响我笔记本电脑的键盘-它们似乎是同步的。 一种解决方案是在插入外部键盘时找到某种方式来运行xmodmap命令,但是如果它更健壮,我将对另一种键盘交换解决方案持开放态度。操作系统是Ubuntu 13.04。 鉴于justbrowsing的评论,看来可以通过编写udev规则来实现-我认为我必须使用RUN选项,并且应该在/ dev / hidraw0或/ dev / hidraw1上触发它们,当我插入键盘时会出现...,但我仍在尝试绕开这个概念,因此,我感谢任何知道udev在做什么的人的帮助。

1
如何从一开始就学习内核编程?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我最近完成了毕业。而且我只有C的基本知识。但是我想研究Linux内核,并根据需要对其进行自定义。我不仅想定制,还想为Linux内核贡献自己的想法。 但是我现在是从0开始!因此,请建议我如何开始以及从何开始!

3
bash $ {VAR // search / replace}和奇怪的正则表达式行为
我正在尝试使用$ {VAR // search / replace}参数扩展对变量进行搜索和替换。我有一个相当漫长而邪恶的PS1,我想算出扩展后的大小。为此,我必须删除一堆我塞进其中的转义序列。但是,在尝试删除所有ANSI CSI SGR序列时,我遇到了语法问题。 鉴于我的PS1: PS1=\[\033]0;[\h] \w\007\]\[\033[1m\]\[\033[37m\](\[\033[m\]\[\033[35m\]\u@\[\033[m \]\[\033[32m\]\h\[\033[1m\]\[\033[37m\]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m \]\t\[\033[37m\]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m\]\[\033[36m\]\w\[\033[1m \]\[\033[37m\])\[\033[35m\]${git_branch}\[\033[m\]\n$ (是的,我知道病了...) 我正在尝试做: # readability search='\\\[\\033\[[0-9]*m\\\]' # do the magic sane="${PS1//$search/}" 但是这些似乎有点贪婪[0-9](几乎就像[0-9]被当作​​一个.替代): echo "${PS1//$search/}" \[\033]0;[\h] \w\007\]\n$ 如果我删除*,然后更改[0-9]为[0-9][0-9](这是更说明性的),那么我将接近预期的结果: $ search='\\\[\\033\[[0-9][0-9]m\\\]' $ echo "${PS1//$search/}" \[\033]0;[\h] \w\007\]\[\033[1m\](\[\033[m\]\u@\[\033[m\]\h\[\033[1m \]\[\033[1m\])\[\033[m\]-\[\033[1m\](\[\033[m\]\t\[\033[1m\])\[\033[m\]-\[\033[1m \](\[\033[m\]\w\[\033[1m\])$(git_branch)\[\033[m\]\n$ 为什么*(零个或多个)做疯狂的事情?我在这里想念什么吗?如果我通过sed传递相同的正则表达式,则会得到预期的结果: echo $PS1 | sed "s/$search//g" \[\033]0;[\h] \w\007\](\u@\h)-(\t)-(\w)$(git_branch)\n$

1
Linux上脚本的功能
如果我想在可执行文件上设置功能(capabilities(7)),CAP_NET_BIND_SERVICE并且该文件是脚本,我是否必须setcap(8)在启动该脚本的解释器上设置功能()还是足以在脚本文件上设置功能()本身? 注意:该问题特别涉及Scientific Linux 6.1,但我认为可以普遍回答。

1
如何将电源开/关信号发送到VGA监视器?
我用了一些旧的备件为我的厨房做一个售货亭。它正在运行OpenBSD,并具有基于文本的简单UI(无X Server)。 我计划添加一个带有运动传感器的Arduino,该传感器通过串行端口与我的应用程序通信,这样,如果有任何运动,监视器将打开并显示时间和天气,并且在一段时间不活动之后将关闭。 我想知道是否有可能在软件中做到这一点,然后我必须拆开显示器并创建硬件解决方案(模拟用光电隔离器或晶体管按下电源按钮或插拔VGA电缆)。 我感觉这是可能的,因为电源管理软件似乎可以这样做,但是我不确定该怎么做。

2
“ cd&”是什么意思?
我知道如何通过键入从终端更改目录 cd &lt;directory&gt; 但是这是场景。我正在使用终端进入git存储库的文件夹。 glenn存储库 glenn-remdroid存储库 给定上面的文件夹结构,我想进入,glenn-remdroid-repository因为这是我的存储库。 cd glennRepositories 在切换到glenn-remdroid-repository之前,我错误地键入了命令 cd &amp; 代替cd *。我cd *之所以使用该文件夹,是因为该文件夹名对我来说太长了,抱歉。 当我执行时cd &amp;,终端回复 [1] 7519 当我执行cd *这件事时 [1]+ Done cd (wd: ~/glennRepositories) (wd now: ~/glennRepositories/glenn-remdroid-repository) 有谁代表什么cd &amp;及其输出?Google不知道我的问题:)

3
在几个命令上获得意外的彩色输出
我刚刚将此添加到我的.bashrc彩色输出less: # Colorize less man pages. export LESS_TERMCAP_md=$'\e[01;34m' export LESS_TERMCAP_us=$'\e[01;33m' export LESS_TERMCAP_so=$'\e[01;44;37m' export LESS_TERMCAP_mb=$'\e[01;31m' export LESS_TERMCAP_mr=$'\e[01;35m' export LESS_TERMCAP_me=$'\e[00m' export LESS_TERMCAP_ue=$'\e[00m' export LESS_TERMCAP_se=$'\e[00m' ...突然之间,某些命令(似乎与显示环境变量有关)产生了与这些新设置匹配的颜色输出。我逃避错了吗?还是这是故意行为?我尝试了其他几种转义形式,但不适用于less。 例如,这是env命令的屏幕截图。 php -i 也具有彩色输出,但仅在环境变量部分上。
8 bash  colors  xterm 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.