Unix & Linux

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

3
Linux为什么不允许用户级网络端口权限?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 偶尔,我会搜索如何在Linux中进行用户级权限以进行网络端口访问,并且变得相当枯燥。例如,如果您有一台运行关键进程的计算机在端口5080上侦听,我觉得应该有一种方法可以让仅特定的一组受信任用户访问该端口-就像任何其他理智的权限过程一样完成,例如文件系统权限。 但是似乎所有用户都可以使用高端口,而低端口仅可用于root用户,只有粗暴的黑客(例如authbind和iptables转发)允许其他用户使用低端口。这似乎是一个很奇怪的情况,所以我想知道,为什么要这样设计,为什么人们没有必要改变这种情况?

3
提取三个单引号之间的文本
我的档案中有以下内容 description: ''' This rule forbids throwing string literals or interpolations. While JavaScript (and CoffeeScript by extension) allow any expression to be thrown, it is best to only throw <a href="https://developer.mozilla.org /en/JavaScript/Reference/Global_Objects/Error"> Error</a> objects, because they contain valuable debugging information like the stack trace. Because of JavaScript's dynamic nature, CoffeeLint …

3
屏幕亮度100%使用专有Nvidia驱动程序
为了玩Steam游戏(现在可以),在Debian Jessie上安装了专有的Nvidia驱动程序之后,我根本无法改变亮度,它无法发挥最大作用,并且在夜间会刺激我的眼睛。我已经尝试过Debian Wiki中的所有解决方案 例如将line:添加Option "RegistryDwords" "EnableBrightnessControl=1;"到/etc/X11/xorg.conf和/etc/X11/xorg.conf.d/20-nvidia.conf 但这没有用,即使在Debian论坛中它似乎也可以工作(标记为已解决): xbacklight根本不起作用,我也不知道该怎么办。我将发布任何终端命令的所有输出,请帮忙。

1
将所有进程的已交换内存拉出交换
在不写入磁盘的情况下,如何快速将所有进程的已交换内存从交换中拉出? 关于这个问题的背景很琐碎,因为系统性的问题是其他各方正在处理,这个问题是必须的。但是,现在,我遇到一个问题,即当负载和IO等待非常高时,我经常不得不释放OpenVZ节点上的交换空间。 交换通常主要由少数几个在单个容器上运行的MySQL和蛤processes进程消耗。重新启动这些服务可以释放交换并解决节点上的问题,但是出于明显的原因,这是不希望的。 我正在寻找一种方法,可以在节点过载时快速从那些进程中释放掉交换,并且需要比当前方法更快的操作: unswap(){ [[ $1 && $(ls /proc/$1/maps) ]] && ((gcore -o /tmp/deleteme $1 &>/dev/null; rm -fv /tmp/deleteme.$1)&) 2>/dev/null || echo "must provide valid pid";};unswap 此核心转储会强制访问所有ram,从而完成了将其退出交换的工作,但是我尚未找到避免将其写入文件的方法。另外,如果我可以隔离当前交换的地址范围并将该部分转储到/ dev / null中,则看起来该过程会更快,但是我还没有找到一种方法来做到这一点。 这是一个巨大的节点,因此通常的交换/交换方法非常耗时,并且再次,该节点的配置不受我的控制,因此解决根本原因并不属于这个问题。但是,如果能洞悉我如何迅速释放掉大部分交换而又不中断/重启任何事情,将不胜感激。 环境:CentOS 6.7 / OpenVZ 对于以后可能会迷失方向的任何人的更新: 使用Jlong的输入,我创建了以下函数: unswap(){ (awk -F'[ \t-]+' '/^[a-f0-9]*-[a-f0-9]* /{recent="0x"$1" 0x"$2}/Swap:/&&$2>0{print recent}' /proc/$1/smaps | while read …

5
使用不同的参数运行相同的命令
我有一个不太宽松的程序可以使用。不幸的是,该程序不仅允许以下内容 "command -a -b -c" 要么 "command -abc" 所以我必须总是输入以下内容 command -a && command -b && command -c 我很确定有一种更有效的输入方式,但无法弄清楚。

2
为什么非数字记录在排序后显示为“ 0”?
我想根据文件名中的数字对文件进行排序。这些是文件: $ ls *.f 0.f 13.f 1.f 22.f 4.f abc.f 排序结果: $ ls *.f | sort -t. -k1n 0.f abc.f # note this file! 1.f 4.f 13.f 22.f 我所期望的是: $ ls *.f | sort -t. -k1n abc.f 0.f 1.f 4.f 13.f 22.f 为什么abc.f只在之后0.f和之前显示1.f?是因为0不被数字处理sort吗?我在网上搜索,没有找到任何参考。
8 sort 

1
tune2fs-在大型ext4文件系统上保留多少空间
我知道关于使用一个文件系统要保留多少空间有几个问题tune2fs -m,但是有些建议是矛盾的,有些建议似乎只与挂载的文件系统有关root,而似乎没有专门针对的ext4。 我要询问的驱动器是3 TB混合SSD /硬盘,其中一个分区使用格式化ext4,并且仅用于媒体文件。Root,home和swap都位于SSD驱动器上各自的分区中,我将不为所动。 目前,在3 TB的ext4文件系统上,已保留5%的磁盘空间(默认值),但高达150 GB。如果可以的话,我希望将其减少到1%,即30 GB,这样可以释放120 GB。请注意,文件系统已满92%,剩余的5%为保留空间。 该答案的建议表明,在几乎完整的ext3文件系统上将保留空间设置为5%是明智的,以避免碎片。然后声明ext4更有效,并明确指出:“ ext4的多块分配器更具抗碎片性”。然后,它不会继续建议合理的百分比ext4。 我想知道将3 TB ext4文件系统上的保留驱动器空间减小到1%,同时仍然保持足够的文件系统碎片保护是否安全? 如果30 GB的1%的保留空间不够用,那么多少才是安全的呢? 谢谢。

1
bash:此shell中无作业控制
我有一个最小的Linux系统。 init是/bin/bash,仅库中的最少数量/lib/,/dev/静态填充,没有运行的守护进程(无udev的,..) 当bash开始时,出现以下错误: bash: cannot set terminal process group (-1) inappropriate ioctl for device bash: no job control in this shell 当我使用strace启动bash时,得到以下输出: rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address) ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 …
8 bash  terminal  tty  ioctl 

7
查找早于X天的文件并按文件大小输出
我正在尝试使文件早于几天,并根据其大小及其所有信息(大小,完整路径等-由提供的类似信息)以降序排列ls。 虽然我可以通过以下方式查找较旧的文件: find . -mtime +10 我无法列出所需的信息。
8 files 

1
在KVM上启动EFI
我在运行内核3.19的Ubuntu 14.04上。我正在尝试使用virt-manager启动虚拟机。我已经安装ovmf了EFI固件,并使用CD插槽中的Gentoo ISO引导了计算机。 我看到OVMF固件徽标,然后看到一些日志消息,如下所示: Boot failed. EFI DVD/CDROM Boot failed. EFI Floppy. Boot failed. EFI Floppy 1. 然后,它初始化网卡(大概用于网络引导),然后放入EFI Shell: 如何在KVM / libvirt中启动EFI引导?

2
变量分配影响当前正在运行的外壳
在编写一些代码时,我发现这一行: $ TZ="America/Los_Angeles" date; echo "$TZ" Thu Dec 24 14:39:15 PST 2015 正确给出“洛杉矶”的实际时间,并且TZ不保留变量的值。一切都应该预期。 但是,使用此行(我以前用来扩展某些格式,并且基本上执行相同的操作)保留了TZ的值: TZ="America/Los_Angeles" eval date; echo "$TZ" Thu Dec 24 14:41:34 PST 2015 America/Los_Angeles 经过多次测试后,我发现这仅在某些shell中发生。它发生在破折号,ksh中,但不发生在bash或zsh中。 Q的 问题是: 为什么现在的外壳中保留TZ的值? 如何避免/控制这种情况(如果可能)? 额外。 我使用以下两行在几个shell中运行测试: myTZ="America/Los_Angeles" unset TZ; { TZ="$myTZ" date; } >/dev/null; echo -n " direct $TZ" unset TZ; { TZ="$myTZ" …

1
从活动磁盘运行系统时,有什么方法可以从iso引导吗?
这个有点复杂的问题让我解释一下期望值: 我知道我们可以添加menuentry带有ISO文件位置的GRUB 并使用GRUB条目从ISO引导。(即此方法) 但是假设: 我有一个存储在计算机(硬盘)中的GNU / Linux(例如Trisquel 7.0)的ISO文件,在 /dev/sda3/ 我想安装在 /dev/sda4 我有Ubuntu 14.04安装(可启动)磁盘,可以从中安装或尝试运行系统。 考虑我当前没有安装任何操作系统,或者已安装的系统崩溃/损坏(与当前的引导加载程序无关) 问题是:使用安装盘,运行实时环境(例如,尝试在不安装Ubuntu 14.04的情况下尝试安装),是否可以从ISO(Trisquel 7.0的版本)引导/dev/sda3并在其上安装该系统/dev/sda4?我如何能? 注意:我同意最好从iso创建/刻录要安装的系统的活动磁盘/ USB,但是如果现在没有可用的磁盘/ usb,那么我可以进行上述操作吗? 我认为有一种可能的技术:从HDD上的(Ubuntu的)实时环境安装GRUB,指向我最终要从中引导的ISO(Trisquel)的路径!如何?
8 grub2  iso  livecd  bootable 

1
检测ssh-agent身份的剩余寿命
该ssh-add命令允许您指定要添加到的身份的生存期ssh-agent。例如,如果我输入 ssh-add -t 1h 该标识将在1小时后失效。然后,我可以使用列出代理当前代表的身份ssh-add -l。 有没有一种方法(除了在运行ssh-add命令时记录信息)来确定身份的剩余寿命?如果不是,是否有一些与安全性相关的原因,为什么不应该有一种方法来获取此信息?

1
未检测到USB驱动器/ arch [关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 2年前关闭。 我有一个似乎在lsblk或fdisk上都未检测到的USB驱动器。以下是一些输出: Dmesg: [93812.546850] usb 2-1.2: new high-speed USB device number 33 using ehci-pci [93812.631628] usb-storage 2-1.2:1.0: USB Mass Storage device detected [93812.632314] scsi host18: usb-storage 2-1.2:1.0 udevadm: UDEV [93905.859931] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/host20/target20:0:0/20:0:0:0/block/sdb (block) UDEV [93905.878766] change /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/host20/target20:0:0/20:0:0:0/block/sdb (block) fdisk: $ sudo fdisk -l /dev/sdb fdisk: cannot open /dev/sdb: …
8 usb-drive 

1
Bash脚本解析带引号的参数
请考虑这个名为test的简单脚本: #!/bin/bash echo $1 以及以下命令和调用: $ echo "A B" A B $ echo ""A B"" A B $ echo """A B""" A B $ echo """A B""" A B $ ./test "A B" A B $ ./test ""A B"" A $ ./test """A B""" A B $ ./test """"A B"""" …

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.