Unix & Linux

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

12
屏幕锁定和空白/暂停/睡眠后,Ubuntu 18.04不会唤醒
我正在尝试在具有AMD A12处理器和Radeon R7图形的笔记本电脑上运行Ubuntu 18.04。我什么也没有,但是我很沮丧,尽管我多年来一直使用12.04来解决此类问题,但我对Ubuntu却非常沮丧。 我有两个令人抓狂的问题,我将把它们分开发布。这些问题仅在Xorg上的Gnome和Ubuntu上发生,而在Wayland上则不会发生。但是,我被告知最好不要在Wayland上运行Gnome。 问题是计算机有时无法从挂起中唤醒。好吧,我认为它确实会醒来,因为光盘驱动器旋转并且硬盘驱动器滴答作响,但是我无法登录,因为锁定屏幕是散乱的颜色或扭曲的背景,无法登录。我什至无法按ctrl-F1来提示。所有输入被冻结。 我想知道Xorg是否配置正确。我正在运行Oilaf视频驱动程序,该驱动程序在Wayland上运行良好,因此我不知道Xorg和该驱动程序是否存在问题。

3
sed捕获组不起作用
我有一个格式为的字符串[0-9]+\.[0-9]+\.[0-9]。我需要分别提取第一个,第二个和第三个数字。据我了解,捕获组应该能够做到这一点。我应该可以sed "s/\([0-9]*\)/\1/g用来取得第一个号码,sed "s/\([0-9]*\)/\2/g获取第二个数字以及sed "s/\([0-9]*\)/\3/g获取第三个数字。但是,在每种情况下,我都会得到整个字符串。为什么会这样呢?
27 sed 


2
这是Linux分页应该如何表现吗?
当我的Linux系统接近分页时(例如,在我的情况下,16GB的内存几乎已满,16GB的交换空间完全为空),如果新进程X尝试分配一些内存,系统将完全锁定。也就是说,直到不成比例的页面(已浪费X的内存分配请求的总大小和速率)为止。请注意,不仅gui变得完全没有响应,甚至sshd之类的基本服务也被完全阻止。 这是我用来以更“科学”的方式触发此行为的两段代码(当然是粗糙的)。第一个从命令行获取两个数字x,y,然后继续分配和初始化y字节的多个块,直到分配了x个以上的总字节。然后无限期地睡觉。这将使系统处于分页的边缘。 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc, char** argv) { long int max = -1; int mb = 0; long int size = 0; long int total = 0; char* buffer; if(argc > 1) { max = atol(argv[1]); size = atol(argv[2]); } printf("Max: %lu …

8
配管,移位或参数扩展更有效吗?
我试图找到最有效的方法来迭代某些值,这些值在用空格分隔的单词列表中彼此保持一致的值数(我不想使用数组)。例如, list="1 ant bat 5 cat dingo 6 emu fish 9 gecko hare 15 i j" 因此,我希望能够仅遍历list并仅访问1,5,6,9和15。 编辑:我应该明确指出,我要从列表中获取的值的格式不必与列表的其余部分不同。使它们与众不同的仅仅是它们在列表中的位置(在这种情况下,位置1,4,7 ...)。因此,列表可能是,1 2 3 5 9 8 6 90 84 9 3 2 15 75 55但我仍然想要相同的数字。而且,假设我不知道列表的长度,我希望能够做到这一点。 到目前为止,我想到的方法是: 方法一 set $list found=false find=9 count=1 while [ $count -lt $# ]; do if [ "${@:count:1}" …

7
为什么没有像Android或iOS这样的权限?
当我在Linux上安装GIMP或LibreOffice之类的程序时,我从未被询问过权限。通过在Ubuntu上安装程序,我是否明确授予该程序对驱动器上任何位置的读/写权限以及对Internet的完全访问权限? 从理论上讲,GIMP可以读取或删除驱动器上的任何目录,而不需要sudo类型的密码吗? 我只是好奇这在技术上是否可行,而不是在可能与否之间。当然,我知道这不太可能。

4
为什么我要签出在GitHub上删除的分支?
在我们的GitHub存储库中,一位同事删除了一个名为的分支release。但是,当我在git checkout release本地运行时,我总是得到被删除的分支release。同样,即使我签出了另一个分支,也使用删除了该release分支,git branch -D release然后再次运行git checkout release。 GitHub存储库上有什么要修复的,还是我应该在本地修复?
26 git 

3
如何检测和缓解Linux系统上的Intel特权升级漏洞(CVE-2017-5689)?
根据2017年5月1日英特尔安全中心发布的信息,英特尔处理器上存在一个严重漏洞,该漏洞可能允许攻击者使用AMT,ISM和SBT获得特权(特权升级)。 由于AMT可以直接访问计算机的网络硬件,因此该硬件漏洞将使攻击者可以访问任何系统。 英特尔®主动管理技术(AMT),英特尔®标准可管理性(ISM)和英特尔®小型企业技术版本的固件版本6.x,7.x,8.x 9.x,10中存在特权提升漏洞.x,11.0、11.5和11.6,它们可以允许没有特权的攻击者控制这些产品提供的可管理性功能。在基于Intel的消费类计算机上不存在此漏洞。 英特尔已经发布了适用于Windows 7和10 的检测工具。我正在使用来自dmidecode -t 4英特尔网站的信息,并且通过在英特尔网站上搜索发现自己的处理器正在使用Intel® Active Management Technology (Intel® AMT) 8.0。 受影响的产品: 在针对英特尔®主动管理技术,英特尔®小型企业技术和英特尔的英特尔可管理性固件版本6.x,7.x,8.x 9.x,10.x,11.0、11.5和11.6中已发现该问题。 ®标准可管理性。6之前或11.6之后的版本不受影响。 说明: 无特权的本地攻击者可以提供可管理性功能,以获取有关英特尔可管理性SKU的非特权网络或本地系统特权:英特尔®主动管理技术(AMT),英特尔®标准可管理性(ISM)和英特尔®小型企业技术(SBT) 如何轻松检测和缓解Linux系统上的Intel特权升级漏洞?


1
在shebang之后签到?
在Apache httpd项目的“ support / apxs.in”脚本中,之后是带@符号的文本#!。也就是说,脚本的第一行是: #!@perlbin@ -w 这是Perl还是UNIX内核?换句话说,可以使用path/to/script/script_name.in?执行该脚本。 如果不是,那么使用#!?启动脚本的原因是什么?

1
如果“ bash <文件>”有效,为什么“源<文件>”抛出错误?
我有以下脚本: #!/bin/bash set -x if :; then echo a fi 如果我运行bash /tmp/file,a则会被回显,但是如果我运行source /tmp/file,则会得到: bash: /tmp/test: line 6: syntax error: unexpected end of file 输出: knezi@holly tmp]$set -x; source /tmp/test; set +x + source /tmp/test ++ set -x bash: /tmp/test: line 6: syntax error: unexpected end of file + set +x …

11
以.test而非./test的身份执行
假设我与可执行文件位于同一文件夹中,则需要输入以下内容才能执行该文件: ./file 我宁愿不必键入/,因为/我很难键入。 有没有更简单的方法来执行文件?理想情况下,只是一些简单的语法,例如: .file 或其他方式,但比必须在/该处插入字符要容易。 也许有某种方法可以在/bin目录中放置某些内容,或为解释器创建别名,以便可以使用: p file


1
如何使用cgroup将除白名单以外的所有进程限制为单个CPU?
Red Hat有一个关于cgroups的指南,可能对您有所帮助(但不能回答这个问题)。 我知道如何在启动该进程的命令期间通过以下方式将特定进程限制为特定的CPU: 首先,将以下*放入/etc/cgconfig.conf: mount { cpuset = /cgroup/cpuset; cpu = /cgroup/cpu; cpuacct = /cgroup/cpuacct; memory = /cgroup/memory; devices = /cgroup/devices; freezer = /cgroup/freezer; net_cls = /cgroup/net_cls; blkio = /cgroup/blkio; } group cpu0only { cpuset { cpuset.cpus = 0; cpuset.mems = 0; } } 然后启动一个进程,并使用以下命令将其专门分配给该cgroup: cgexec -g cpuset:cpu0only myprocessname 我可以通过以下方式自动限制特定进程名称的所有实例(我认为这是正确的)/etc/cgrules.conf: …


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.