Unix & Linux

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

1
如何安装ansible的特定版本?
如何使用Yum或其他方法安装特定版本的Ansible? 当我尝试安装2.0版时,它说没有可用的软件包2.0。 我检查了epel仓库。只有两个rpm,但没有包含2.0版的rpm。为什么将它们删除?有什么方法可以安装特定版本的ansible,例如2.0?

3
如何从Ubuntu 15.04'Vivid'升级
尝试升级Ubuntu 15.04时: sudo do-release-upgrade 我收到一条错误消息: An upgrade from 'vivid' to 'xenial' is not supported with this tool 我什至找到了关于此问题的错误报告: https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1609796 但没有提供解决方案。

2
退出Shell后,后台作业会怎样?
从我的理解,工作是管道从某一个shell启动的,你可以管理这些作业(fg,bg,按Ctrl-Z)从该壳体内。一个作业可以包含多个进程/命令。 我的问题是,当包含外壳的原始外壳退出时,这些作业会发生什么?假设未设置huponexit,因此退出shell后后台进程继续运行。 假设我已经完成: $ run.sh | grep 'abc' & [1] job_id 然后我退出这个外壳。我将输入一个新的shell并运行jobs,显然看不到任何内容。但是我可以做ps aux | grep run.sh并看到此过程正在运行,并且我也将ps aux | grep grep看到并grep 'abc'正在运行该过程。 有没有一种方法可以获取完整管道的作业ID,以便我可以一口气杀死它,或者一旦退出原始Shell,是否必须与另一个Shell分别杀死所有进程?(我已经尝试了后者,但它确实有效,但是跟踪所有过程似乎很麻烦。)
9 shell  process  kill  jobs 

3
如何清除/重置智能电池内存?
因此,我为笔记本电脑购买了一块新电池,从一开始,我就遇到了问题。 电池几乎完全从制造商处放电了。我将其插入计算机后,击球手会报告充电速率为0,因此永远不会达到“完全充电”状态 几分钟后,X11崩溃了,我现在在(upower -i /org/freedesktop/UPower/devices/battery_BAT0): native-path: BAT0 vendor: Hewlett-Packard model: Primary power supply: yes updated: Fri 21 Oct 2016 08:28:33 AM CEST (106 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 17.8704 Wh energy-empty: 0 Wh energy-full: 24.192 Wh energy-full-design: …


1
sed中〜的解释
我现在正在学习sed。这个波浪号“〜”让我感到困惑。 例如,命令 sed -n '1~2 w output.txt' input.txt 正在打印奇数行(到文件output.txt)。 在同一教程中,还给出了跳过从1到2的行,然后开始打印第2行旁边的行的情况,以防我们使用 sed -n '1~2 p' input.txt 这个波浪号的绝对解释是什么?
9 sed 

3
如何使用sed或ex用新的文本块(代码)替换一个块(多行代码)?
我必须用另一个文本块替换文件中的大文本块(shell脚本代码)。 我如何使用sed替换多行字符串给我留下了深刻的印象?antak回答 ,多行替换Bruce Ediger回答 但是我在使用它们时遇到了一些麻烦。 antak在他的回答中已经提到过,1h;2,$H;$!d;g;不建议将大文件()流到整个缓冲区,因为大文件会导致内存过载。 我知道sed可以与块功能一起使用,以保持块外的文本不变。我要使用此功能。但是如果我用 sed -i '/marker1/,/marker2/s/.*/new text (code)/' filename 它将为每个流重复插入新文本(代码)。因此,我必须将可视块作为一个流,使用类似于antak先前所建议的内容,但要针对该块(而不是针对整个文件)。 正如Bruce Ediger所提到的,可以尝试使用以(dot)ex开头的附加功能,但是我的新文本(code)包含以dot开头的行,可以将其视为附加语法的点。在这种情况下如何使用?a. ex'的dd'行数'可能会删除多行,但是如果我在/ marker1 /和/ marker2 /之间有一个块,行数不固定(可变)将被新文本(代码)替换,该怎么办呢?
9 sed  ex 


1
OpenSSL可以解码不包含换行符的base64数据吗?
我在bash变量中有两个base64数据块。base64数据中通常的换行符已由空格代替,并且该变量基本上是一个非常长的单行字符串。 我可以解码变量中包含的base64数据的两个块,但是在尝试执行此操作时遇到了一些细微差别。我想了解我是否正确处理此问题,或者是否有更好的方法来解码不包含换行符的base64数据。这是我所拥有的: 第一个块是350个字符,我可以像这样成功解码它: echo ${DATA::350} | openssl base64 -d | wc -c 256 第二个块是5745个字符,但以上命令未产生预期的结果。即: $ echo {DATA:350} | openssl base64 -d | wc -c 432 但是,如果我把换行符重新插入,它会起作用: $ echo ${DATA:350} | tr ' ' "\n" | openssl base64 -d | wc -c 4240 我预计会有一些行长问题,第一个块足够小以避免发生,并且这似乎是所使用的base64解码器的功能(两个常用的解码器base64和的openssl base64行为不同)。 的base64解码器(代替openssl base64)停止在第一无效字符(空格),并因此只是解码而输出的OpenSSL 432个字符(9“线”)的第一个“行”(48个字节的输出数据)。该base64命令具有忽略垃圾的选项,因此可以正常工作: $ echo ${DATA:350} …
9 openssl  base64 

4
文件中的grep单词,然后复制文件
我有一组文件(* .zip,*。txt,*。tar.gz,*。doc,... etc)。这些文件位于路径中。我想查找所有文件(* .txt),然后仅复制包含特定单词的文本文件(例如LINUX / UNIX)。 我执行以下操作: find . -name "*.txt" | grep 'LINUX/UNIX' 该命令能够找到所有文本文件,然后“ grep”通过仅列出包含“ LINUX / UNIX”的文本文件来过滤生成的文本文件。 如何将这些最终文件(即包含“ LINUX / UNIX”的文本文件)复制到特定的选择路径? 我试图申请 xargs find . -name "*.txt" | grep 'LINUX/UNIX' | xargs cp <to a path> 但这没用

3
如何在Mac上制作可启动的Debian USB?
他们的方法 https://wiki.debian.org/InstallingDebianOn/Apple/MacBookAir/3-2 不起作用(一切正常,但usb无法启动)。似乎也已经过了几年并且已经过时了。其他Disto可以解决此问题,但不是debian。任何建议如何调试这些程序后为什么我的USB都无法成为Debian可启动设备。 我的步骤是: 1)使用磁盘工具擦除USB驱动器并创建FAT分区(我也尝试过exFAT和OSX Extended)。 2)下载iso并将其转换为img: hdiutil convert debian-8.4.0-i386-DVD-1.iso -format UDRW -o debian-8.4.0-i386-DVD-1.img 并重命名结果以从名称中删除“ .img”。我也尝试过用UDTO代替UDRW。 3)使用diskutil列表找到我的USB位置,这是 /dev/disk2 4)卸载USB:diskutil unmountDisk /dev/disk2 5)整理图像: sudo dd if=debian-8.4.0-i386-DVD-1.img of=/dev/disk2 bs=1m 花了几个小时。结果是无法读取usb的预期消息。 6)用以下方法弹出USB: diskutil eject /dev/disk2 结果是USB无法启动-在加载屏幕中按Alt键-USB不显示。

4
麦克风无法在ArchLinux上使用
语境 我已经archlinux在笔记本电脑上运行了很多年,不需要麦克风。现在,我需要它,但是找不到正确配置它的方法。 我使用alsa和pulseadio。 alsamixer作为用户运行,我有两个指标: || || Master Capture 我将它们都取消静音并启用了合理的(〜50%)值。 alsamixer作为root 运行,我有几个指标: || || || || || || Master Headphones Speaker PCM Microphone MIC Boot || || || || || Beep Loopback Internal Internal Capture 如果启用Loopbackroot用户身份,我可以通过扬声器听到麦克风的声音。 如果我alsamixer以用户身份明确选择了声卡,则得到的命令与以root用户身份运行的命令相同(如果Loopback在此处启用,则我也确实会听到扬声器的麦克风声音)。我得到以下内容: (在右边还有两个Internal量表,Loopback(启用/禁用)和可变的Off-hook) 但是,无论我做什么以及与Alsa仪表干涉多少,我都从未设法将麦克风传递给用户应用程序。本质上,每次运行时,arecord我都会得到以下输出: $ arecord -vv -f dat /dev/null Recording WAVE '/dev/null' : Signed 16 …

3
在CentOS安装中创建分区(标准分区与LVM物理卷)
所有。请原谅我不熟悉Linux。我正在尝试在VMWare中安装CentOS。据我所知,Linux只能创建三种分区。它们是primary, extended, and logical,对于MBR,主分区和扩展分区的最大数量为4。并且可以在扩展分区下创建无限数量的逻辑分区。(如果我错了,请纠正我。谢谢。) 但是对于CentOS。创建分区时,我得到了如下所示的选项。与的概念相比primary, extended, and logical,我无法理解Standard partition and LVM physical volume,也不知道它们之间有什么区别。创建一个是什么意思LVM physical volume?谁能告诉我更多有关这件事吗? 谢谢。
9 linux  partition  lvm 

2
xfce4-display-settings:为什么没有“延伸到左侧”?
在工作中,我的笔记本电脑设置在外接显示器的右侧。不是因为我喜欢,而是因为没有其他配置可能。当我需要扩展桌面时,我总是必须选择“ 向右扩展 ”(以启用具有自动检测分辨率的外接显示器),然后切换到“ 高级 ”,并手动将笔记本电脑显示屏的图标移到右侧外接显示器,然后按« Apply »。 当您每天必须这样做时,它会变得无聊。另外-我不知道为什么-« 镜像显示 »按钮被禁用。插入HDMI电缆后,显示选择窗口即会显示,这很棒。如果在拔下HDMI电缆之前扩展了台式机,则此后它会立即卡回到笔记本电脑面板,这也很棒。因此,我不需要“ 外部显示器 ”和“ 笔记本电脑 ”按钮。 总而言之,该面板上的4个按钮中只有一个是一半有用,而其他按钮则根本没有用。 那么,有没有……计划在其中添加“ 向左扩展 ”按钮xfce4-display-settings?为什么任意限制延伸到右侧?左边是邪恶的吗?

2
是否可以使用systemd根据文件的存在来启动和停止服务?
到目前为止,我的配置是: foo.path [Path] PathExists=/tmp/foo.path [Install] WantedBy=multi.user.target foo.service [Unit] Description=Matt Test BindsTo=foo.path [Service] ExecStart=/bin/sh /home/mpekar/bin/foo.sh PIDFile=/run/foo.pid 这在启动时工作正常,但是在删除/tmp/foo.path时foo.service不会被杀死。有什么方法可以使systemd做到这一点,还是它不是适合该工作的工具?
9 systemd 

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.