小编200*_*ess的帖子

更改符号链接的权限

我有一个具有这些权限的符号链接:

lrwxrwxrwx 1 myuser myuser       38 Aug 18 00:36 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
Run Code Online (Sandbox Code Playgroud)

符号链接位于 .tar.gz 存档中。现在,当我使用 maven 解压缩 tar.gz 存档时,符号链接不再有效。因此,我试图重建符号链接。首先,我使用ln创建符号链接,但如何设置与原始符号链接相同的权限?

chmod symlink

49
推荐指数
3
解决办法
19万
查看次数

${1+"$@"} 在 shell 脚本中是什么意思,它与 "$@" 有何不同?

在 Perl 文档中,perlrun(1)建议使用双语 shell/Perl 头文件启动 Perl 脚本:

#!/bin/sh
#! -*-perl-*-
eval 'exec perl -x -wS $0 ${1+"$@"}'
    if 0;
Run Code Online (Sandbox Code Playgroud)

什么${1+"$@"}意思?我尝试"$@"改用(使用 Bash 作为 /bin/sh),它似乎也能正常工作。


编辑

下面的两个答案说它应该是${1:+"$@"}. 我知道${parameter:+word}bash(1) 中记录的(“使用替代值”)语法。然而,我不相信,因为

  1. 无论${1+"$@"}"$@"工作得很好,即使在没有参数。如果我创建 simple.sh 作为

    #!/bin/sh
    eval 'exec /usr/bin/perl -x -S -- $0 "$@"'
        if 0;
    #!perl
    use Data::Dumper;
    print Dumper(\@ARGV);
    
    Run Code Online (Sandbox Code Playgroud)

    和 question.sh 作为

    #!/bin/sh
    eval 'exec /usr/bin/perl -x -S -- $0 ${1+"$@"}'
        if 0;
    #!perl
    use Data::Dumper;
    print Dumper(\@ARGV);
    
    Run Code Online (Sandbox Code Playgroud)

    我可以让两者以相同的方式工作: …

shell bash perl

47
推荐指数
2
解决办法
4万
查看次数

OS X:如何在 ssh 会话期间防止计算机进入睡眠状态

当我通过ssh 连接到网络上的OS X计算机时,会话会持续到OS X进入睡眠模式。

除了物理碰撞鼠标或键入键,或者手动禁用睡眠功能之外,有没有办法在我的SSH会话期间防止这种情况发生?

编辑:ssh 会话通常是一个简单的 sshfs 安装。

osx ssh power-management

34
推荐指数
5
解决办法
2万
查看次数

根据位置自动设置Linux时区

如何在 Linux 中使用 Internet 自动设置系统默认时区?在我看来,NTP 服务器只能更新时间,不能更新时区。有没有可以更改时区的服务器?

linux networking timezone geolocation

23
推荐指数
2
解决办法
2万
查看次数

从字符串变量中提取第二个单词

我有一个"rtcpOnNbActive true"存储在变量中的字符串x。我想提取“true”作为子字符串并存储在一个变量中。我怎样才能做到这一点?

bash string variable

19
推荐指数
4
解决办法
11万
查看次数

只减慢一个进程来调节 CPU 温度

  1. 我有一个程序。当它运行时,CPU 温度从 50 摄氏度上升到 80 摄氏度,这是我最关心的问题。

    我可以控制 CPU 频率来减慢它的速度,但其他进程也会减慢,这是我不想要的。

    是否可以在不影响其他进程的情况下减慢特定进程的速度以保持 CPU 冷却?

    我的操作系统是 Ubuntu 10.10。

  2. 我试图通过 设置进程的优先级,但nice -n 15 myprogram不确定这是否有效。CPU 为 77 摄氏度。

    是否nice只设置进程与其他进程的相对优先级?即,如果其他进程没有运行,这个不错的进程会运行得很快吗?我想设置整个过程运行缓慢。

linux process

12
推荐指数
2
解决办法
1万
查看次数

Linux内核的内存限制

我有一个令人困惑的问题。我有一个使用sg执行自定义 CDB的库。有几个系统通常会在sg 中出现内存分配问题。通常,sg驱动程序有大约 4mb 的硬限制,但我们在这些具有 ~2.3mb 请求的少数系统上看到它。也就是说,CDB 正准备分配 2.3mb 的传输。这里不应该有任何问题:2.3 < 4.0。

现在,机器的配置文件。它是一个 64 位 CPU,但运行 CentOS 6.0 32 位(我没有构建它们,也与这个决定没有任何关系)。这个 CentOS 发行版的内核版本是 2.6.32。他们有 16GB 的内存。

以下是系统上的内存使用情况(不过,因为此错误发生在自动化测试期间,我尚未验证这是否反映了从sg返回此 errno 时的状态)。

top - 00:54:46 up 5 days, 22:05,  1 user,  load average: 0.00, 0.01, 0.21
Tasks: 297 total,   1 running, 296 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  15888480k total,  9460408k used,  6428072k free,   258280k buffers
Swap:  4194296k …
Run Code Online (Sandbox Code Playgroud)

linux kernel out-of-memory

12
推荐指数
1
解决办法
7772
查看次数

在 Debian 中,哪个包负责创建 /etc/default/grub?

有许多软件包的名称中包含 grub,并且是 GRUB(Grand Unified Boot Loader)的一部分。安装在我的系统上的是 -

  1. grub-common
  2. 鸸鹋
  3. grub-pc
  4. grub-pc-bin
  5. grub-theme-starfield
  6. grub2
  7. grub2-common
  8. grub2-splashimages

我先看了看是符号链接文件还是普通文件——

 [$] ll -h /etc/default/grub

    -rw-r--r-- 1 root root 1.2K 2017-01-22 14:16 /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

我看了一下,但找不到任何可以告诉我此文件来自何处的信息?

[$] dpkg -S /etc/default/grub

dpkg-query: no path found matching pattern /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

或者

[$] dpkg-query -W /etc/default/grub

dpkg-query: no packages found matching /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

debian configuration dpkg grub2 package-management

10
推荐指数
1
解决办法
1185
查看次数

apt-get 是如何工作的?

我目前正在使用 Ubuntu 并尝试在 VM 上安装 Debian 系统,这意味着我必须处理软件包。因为我是新手,所以我在网上阅读了很多关于它的内容,尤其是 debian wiki(ubuntu wiki 也很有用)。特别是,我已经学习了如何制作本地存储库以及如何正确编辑 sources.list 文件。

但是,我仍然对它的工作原理有一些疑问,我在网上找不到详细信息。

  • 首先,当您使用在线存储库时。我知道 apt-get 将按照您在 source.list 文件中编写的链接并搜索 Packages.gz 存档。我不明白的是这个简单的存档(似乎只是可安装包的列表)如何允许安装包?Packages.gz 是否提供了有关如何查找 .deb 文件然后继续安装的 apt 信息?或者是别的什么?

  • 其次,关于 Sources.gz 存档。我读过它是 Packages.gz 中列出的包的源代码,但在大多数情况下不需要它。所以,如果我在我的 source.list 文件中添加指向这个 Sources.gz 的链接,它到底给了我什么?这有什么意义?

  • 三、关于本地仓库;这与前面的问题有关。我知道如何使用 .deb 文件创建本地存储库,但假设我只有这个 Packages.gz 存档:这还不够,对吧?如果我有 Sources.gz 存档,它会起作用吗?

  • 最后,我在 Debian 存储库中看到,除了 dist 存储库之外,还有一个包含大量 .deb 的池存储库。我知道安装它们的方法(下载 .deb 及其依赖项,使用 dpkg -i 安装它们),但是有更简单的方法吗?更自动的东西,它可以在线找到 .deb,找到它的依赖项,然后安装所有东西?(就像 apt-get 一样,但据我所知,apt-get 仅适用于 Packages.gz 和 Sources.gz 档案,而不直接适用于 .deb)

对不起,这不是一个真正的问题,而是一个问题列表 ^^ 但我在网上找到的所有内容主要是“apt-get 在在线存储库中搜索包及其依赖项并通过 dpkg 安装它”,我会喜欢关于它的更多细节。

apt software-installation package-management

10
推荐指数
1
解决办法
1249
查看次数

如何通过 IP 地址阻止客户端访问我的 Web 服务器上的某些 URL?

如何永久阻止任何访问已知易受攻击页面的 IP 地址,例如/phpMyadmin/?我正在运行 Debian 服务器,我经常看到机器人或黑客扫描我的服务器以寻找漏洞。

73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpMyadmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpMyAdmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyAdmin/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin2/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin3/ HTTP/1.0" 404 182 "-" "Mozilla/5.0 Jorgee"
73.199.136.112 - - [16/Oct/2017:05:18:05 -0700] "HEAD /phpmyadmin4/ HTTP/1.0" …
Run Code Online (Sandbox Code Playgroud)

firewall webserver

9
推荐指数
2
解决办法
2239
查看次数