Questions tagged «linux»

使用Linux内核的一系列类似Unix的操作系统。如果您的问题仅与特定分布有关,请使用更具体的标签。

4
如何查看bash命令字符串的逐字符?
我今天早上在一个bash终端有这种奇怪的行为: user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true bash: [: missing «]» user@home:/home/user$ [ -f /etc/openvpn/client.conf ] && echo true true 第一个命令是用gedit编辑的脚本粘贴的。 第二个是直接在终端输入的。 经过一番挖掘,我发现删除第30个字符(client.conf和“]”之间的空格并用空格替换它使命令再次起作用。 我的假设是正确的:一个未知的空白角色已经进入命令,但问题是: 如何在终端中显示这些字符以便我可以调试命令?更重要的是: 我怎样才能防止这种情况再次发生? 顺便说一下,我运行Ubuntu 18.04 /法语,我粘贴命令的脚本是在USB驱动器中,也可能在Windows上编辑过。 谢谢你的非常好的答案。坏字符是c2 a0非破坏空间UTF-8字符。这个问题如何使用sed删除特殊“M-BM-的性格有关于性格有趣的事实。 奇怪的是剧本没有这个角色。所以我不知道它来自哪里。


1
Apache2 - 将子域重定向到另一个URL
我有两个子域名a.website.com和b.website.com,指向相同的IP地址。我想将b.website.com重定向到a.website.com:8080。我在.htaccess文件中有这个... RewriteEngine on RewriteCond {HTTP_HOST} b\.website\.com RewriteRule ^(.*)$ http://b.website.com:8080$1 [L] ......但它不起作用。 有没有办法让它发挥作用?


1
Linux-组成员无法删除具有rw权限的文件
下面显示了一个文件,该文件/tmp/testfile由user1拥有,其组更改为wheel,其中还包括user2。该文件具有rw该组的权限。因此,该论坛的任何成员都不能删除它吗?下面的示例输出显示user2无法删除该文件。为什么? [user2@files ~]$ ls -l /tmp/testfile -rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile [user2@files ~]$ groups user2 wheel [user2@files ~]$ rm /tmp/testfile rm: cannot remove `/tmp/testfile': Operation not permitted

2
为什么dd,cp,rsync和macOS Finder对SMB3驱动器的写入速度有差异?
Tl; dr –我们找不到从两个不同的Mac客户端通过SMB和AFP向我们的NAS写入速度限制为60 MB /秒的原因。相比之下:同一网络中的一台旧Windows 7笔记本电脑稳定地写入100 MB /秒。 如果您是第一次阅读此问题,请跳至“ 更新4”部分。rsync是导致速度降低的主要原因,即使我们不知道为什么(对于单个文件!)也是如此。 原始问题:在Mac OS 10.11.5及更高版本中查找速度瓶颈SMB3 / NAS 我们通过rsync --progress -a /localpath/test.file /nas/test.file了macOS和Windows的复制信息进行了测试。 NAS是运行当前DSM 6.0.2(也已通过5.x测试)的DS713 +,两个RAID1中的HGST Deskstar NAS SATA 4TB(HDN724040ALE640)仅具有千兆以太网组件和新的以太网电缆(至少是Cat5e)。 Mac客户端首先只能达到20 MB /秒。但是,应用此signing_required=no修复程序(在此描述)通过SMB2和SMB3将写入速度提高到60 MB /秒。AFP还可以提供大约60 MB /秒的速度。结果取决于协议和(Mac)客户端,大约5 MB /秒。 我们已经尝试过的: 网络 通过iperf3测试了网络性能。结果:926 Mbit / s。看起来不错。 尝试过双链路聚合/绑定网络接口。不用找了。 MTU增加到6000和9000。不变。 检查所有电缆。状况良好,至少一切都很好。 磁碟 已检查SMART看起来很健康。 dd if=/dev/zero of=write.test …

2
RAID-1中出现故障的Btrfs驱动器可以实时更换吗?
我正在尝试确定文件系统,想知道是否可以在不停机的情况下替换btrfs RAID中的故障驱动器。 假设我使用以下命令创建一个新的btrfs文件系统 mkfs.btrfs -d raid1 /dev/sdb /dev/sdc 现在假设有一天/dev/sdc失败了。有两种可能性:它可能会逐渐失败,显示SMART错误-在这种情况下,我可以使用添加新设备,btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt然后使用删除旧设备btrfs device delete /dev/sdc /mnt。 但是,如果突然失败,变得无法读取...在这种情况下,Web搜索表明我必须首先卸载文件系统,以降级模式安装,添加新设备,然后删除丢失的设备。 umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt 卸载显然是破坏性的操作,因此将导致停机-使用文件系统的任何应用程序都将遇到I / O错误。但是考虑到btrfs正在大量开发中,关于btrfs的这类“教程”看起来已经过时了。 问题是:考虑到btrfs的当前状态,是否可以在线进行此操作,即无需卸载? 如果没有,那么有一个仅软件的解决方案可以满足这一需求吗?
15 linux  hard-drive  raid  btrfs 

5
识别USB设备
我有五个USB相机,相同品牌,相同型号(Canyon CNR-FWC120H)。它们用于监视24/7的不同场景。我需要以某种方式从Linux(Debian)控制台或以编程方式(任何语言)确定哪个摄像机。 我尝试查看的输出lsusb -vvv,iSerial每个摄像机的字段应该有所不同,但是很遗憾,该制造商决定不打扰,并且所有摄像机在该位置都具有相同的序列号:200901010001 是否有其他方法可以独立于所连接的USB端口来确定哪个摄像机是哪个摄像机,因为不幸的是,在我的特定情况下,我不能依靠同一摄像机始终连接到同一端口这一事实。 更新经过评论中的讨论,我意识到这是不可能完成的任务。因此,请不要忘记最后一段,或者,如果您有一些巧妙的想法,欢迎您提出。我现在很想知道是否可以将设备连接到哪个USB端口;我使用主板上的内置USB端口和其他PCI USB控制器卡来容纳具有足够带宽的相机。我将需要唯一地标识端口,并且例如在计算机重新启动并且由于某种原因USB控制器以不同的顺序初始化时,端口号/标识不应更改。那可能吗? 更新2我在其中一台摄像机的日志中看到以下信息: [Wed Apr 30 18:35:02 2014] uvcvideo: Found UVC 1.00 device FULL HD 1080P Webcam (0bda:58b0) [Wed Apr 30 18:35:02 2014] input: FULL HD 1080P Webcam as /devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4 使用该命令,我调用了以下命令: udevadm info --query=all --path=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4 并得到了: P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4 E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4 E: EV=3 E: ID_BUS=usb E: …
15 linux  usb  webcam 

2
如何附加到nohup进程?
如果我使用nohup启动进程: nohup WHATEVER & 那我又怎么看呢?我的意思是如何在Linux下再次将终端连接到它,例如:Ubuntu 11.04-就像screen软件包一样。
15 linux  nohup 

4
如何将原始二进制数据查看为具有给定宽度和高度的图像?
是否存在用于Linux的程序,可以显示原始二进制数据? 我的二进制文件中的每个字节都代表一个像素,所以如果存在类似这样的地方,那将非常有用。 program_name --input=dat001.bin --width=200 --height=100 它会显示像素。 我想知道gnuplot是否可以用于此...?
15 linux 

4
如何使共享密钥.ssh / authorized_keys和sudo一起工作?
我已经设置了.ssh / authorized_keys,并能够使用pub / private键使用新的“用户”登录...我也将“用户”添加到了sudoers列表中……我现在遇到的问题是我尝试执行sudo命令,类似以下内容: $ sudo cd /root 它会提示我输入我输入的密码,但是它不起作用(我使用的是我设置的私钥密码) 此外,我还使用禁用了用户密码 $ passwd -l user 我想念什么? 我最初的言论在某处被误解了... 我正在尝试加强我的系统...最终目标是使用发布/私钥进行登录,而不是简单的密码身份验证。我已经弄清楚了如何通过authorized_keys文件进行所有设置。 另外,我最终将阻止服务器通过root帐户登录。但是在执行此操作之前,我需要sudo为第二个用户工作(该用户将一直登录到该系统)。 对于第二个用户,我想阻止常规密码登录,而只强制发布/私钥登录,如果我不通过“ passwd -l user”锁定用户……那么,如果我不使用密钥,我仍然可以使用常规密码进入服务器。 但是更重要的是,我需要让sudo与禁用了密码的用户一起使用发布/私钥设置。 编辑:好的,我想我已经知道了(解决方案): 1)我已经调整了/ etc / ssh / sshd_config并进行了设置,PasswordAuthentication no 这将防止ssh密码登录(在执行此操作之前,请确保具有有效的公用/专用密钥设置) 2)我调整了sudoers列表visudo并添加了 root ALL=(ALL) ALL dimas ALL=(ALL) NOPASSWD: ALL 3)root是唯一具有密码的用户帐户,我正在测试两个没有设置密码的用户帐户“ dimas”和“ sherry”(密码为空,passwd -d user) 以上内容基本上可以防止每个人都使用密码登录系统(必须设置公用/专用密钥)。 另外,sudoers列表中的用户具有管理员权限。他们还可以su到不同的帐户。因此,基本上“假人”可以sudo su sherry,但是“假人不能su …
15 linux  ubuntu  ssh  sudo 


1
交换时增加Linux上的桌面响应能力
到目前为止,我测试过的所有GNU / Linux发行版都存在一个问题,即当填满ram且系统开始交换时,整个桌面和图形用户界面都变得无响应,以至于有时我不得不等待大约5-10秒移动了物理鼠标,直到鼠标指针实际移动为止。 这是一种令人讨厌的行为,尤其是在低内存的系统上。 有什么方法可以赋予某些应用程序/作业(例如桌面环境等)比其他应用程序更高的优先级,使其在ram中停留,从而使实际占用所有内存的应用程序在桌面环境等之前被交换? 编辑: 我说的是使用整个RAM的情况,因此如果未禁用它,它将始终开始交换(我不希望进程被随机杀死)。我不仅在低内存环境中遇到此问题,在台式机上还存在内存8GiB的问题,部分原因是由于许多虚拟机,部分原因是内存泄漏。ZRAM也不是解决方案,因为它只会延迟问题。对于这个问题,我能想到的唯一解决方案是某些用户空间实用程序或内核API,该实用程序或内核API可以防止某些作业完全被交换,或者至少使其变得不太可能。是否有人知道其他解决方案或对现有或正在计划中的此类工具或API有所了解? 第2次编辑: 根据https://aur.archlinux.org/packages/ulatencyd-git/和https://wiki.archlinux.org/index.php/Ulatencyd的说法,ulatencyd似乎不适用于较新版本的systemd 。这可能是因为,如果我正确理解的话,systemd从用户空间的角度接管了cgroup的完全控制权。

1
如何在Linux上增加A2DP位池?
我最近买了一个蓝牙耳机(Philips SHB4000),在我告诉Linux(Mint)使用A2DP而不是HSP / HFP之后,让它停止像电话一样发出声音。 但是,我仍然想要消除烦人的crack啪声。 一些谷歌搜索建议“比特池大小”应该归咎于我,但我找不到有关如何在Linux上增加它的任何信息。我知道它可能在某个配置文件中的某个地方,但是我一直找不到。


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.