Unix & Linux

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

3
Systemd Postgresql启动脚本
我正在将postgresql安装到第二台服务器上 以前我安装了postgresql,然后使用提供的脚本 ./contrib/start-scripts/linux 放入正确的目录 # cp ./contrib/start-scripts/linux /etc/rc.d/init.d/postgresql92 # chmod 755 /etc/rc.d/init.d/postgresql92 然后我可以按预期执行 # service postgresql92 start 但是,新机器正在使用Systemd,看来有一种完全不同的方法来执行此操作 我不想为此而and毁,所以我想知道是否有人可以指出正确的方向,以实现相同的结果

4
passwd文件中的star是什么意思?
我有一台需要启动的计算机,但是密码似乎是虚假的。另外,我无法安装用于写入的驱动器,它是mips处理器,因此无法将其粘贴在另一台机器上运行它。 无论如何,他们的passwd文件中有一些看起来像这样的用户,用户名后带有星号。这是指空白密码还是什么? root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh daemon:*:1:1:daemons:/:/dev/null bin:*:2:2:System Tools Owner:/bin:/dev/null uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh sys:*:4:0:System Activity Owner:/var/adm:/bin/sh adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh

1
为什么bash参数扩展在systemd服务文件中不起作用?
我正在尝试使用systemd的,EnvironmentFile并在文件中设置命令时向命令添加选项。我在单位文件中具有以下内容: ExecStart=/usr/bin/bash -c "echo ${PORT:+port is $PORT}" 当我启动服务时,它什么也没有回应。 预期的工作如下: ExecStart=/usr/bin/bash -c "echo port is $PORT" 这表示文件已正确读取。 参数替换也可以在命令行上使用: $ PORT=1234 bash -c 'echo ${PORT:+port is $PORT}' port is 1234 我想念什么?

3
在vi中搜索和替换控制字符(^ @,^ M,^ I…)
我从/proc/some_proc_id/cmdlineubuntu机器上复制了这一行, java^@-jar^@/usr/lib/selenium/selenium-server-standalone.jar^@-port^@4444^@-trustAllSSLCertificates^@ 不知何故,空格字符用^@vi 表示。我尝试使用命令将它们替换为空格字符, :%s#^@# #g 但是它说pattern not found ^@。 如何替换特殊字符,尤其是以克拉符号开头的特殊字符?

2
如何更改目录的所有者
编辑:问题是Apple使用权限来标记备份并阻止您对其进行修改(可能是安全功能)。通过使用,chmod -RN <dir>我从所有具有重要数据的文件夹中删除了ACL数据,这使我成为了所有者并应用了适当的权限。 最初的问题是 我有一个非常大的备份(> 700GB),现在具有错误的权限(我的UID在全新安装过程中更改了,很长一段时间),我需要更改它们。耗时的选项是手动浏览每个文件夹并更改权限,但这会花费很多时间。 我想用来chown使自己成为我所有重要数据的所有者,然后chmod 700在所有这些文件夹上rwx使用以仅授予我权限。 理想的解决方案是使用一种方法find来递归查找与正则表达式匹配的文件夹(我的当前文件夹是.*/[DCV].*|Pictures|M[ou].*),然后将我的UID设置为所有者并将权限设置为700。 我无法掌握的重要信息: 但是,当我尝试运行时,chown Me DirectoryName我得到了chown: DirectoryName: Operation not permitted。 我发现的所有内容都与更改文件而不是目录的权限有关。也许我看错了方向? 某事告诉我,没有办法将我的UID rwx和---其他所有人共享。 我该如何实现?我正在运行Mac OS X 10.10.3。 我知道,这是在UNIX / Linux论坛(我运行Mac),但这个问题是一个很大的关于使用shell, ,chown,chmod和权限的任何解决方案张贴在这里将适用于任何基于UNIX的操作系统。如果发布的解决方案可以使我的旧备份重新出现在Time Machine中,那将是更好的选择。 感谢所有及时答复,但chown由于某种原因似乎在目录上不起作用的人。这是.sparsebundle网络驱动器上的磁盘映像吗?我以为它将与任何外部驱动器上的相同。

3
Shell中的日期验证
我想在shell脚本中验证以下日期格式 2015-Jul-13 我正在使用,date -d "2015-Jul-13" +"%Y-%b-%d"但是它给了错误 date: invalid date '2015-Jul-13'


3
如何从KDE面板中删除启动器?
我认为通过谷歌搜索这个问题非常简单,因为它很简单,所以回答起来会容易得多,但是我不得不在这里提出这个问题。我想做的是在Sabayon的KDE 4面板上删除不再需要的启动器。 这是一个屏幕截图,在左下角,您将依次看到Google Chrome,Terminator和Konsole的图标(代表启动器)。我想删除Konsole启动器。我自己设法找到的唯一解决方案是,删除整个面板,创建一个新面板,然后添加所需的启动器,而忽略不需要的启动器。随着我的发射器列表的不断增长,随着时间的流逝,此解决方案将变得越来越乏味,因此,如果有人有一个更简单的解决方案,为什么我会更喜欢。 对我来说,最自然的解决方案是右键单击不需要的启动器,然后找到一个删除启动器的选项,但这是我右键单击Konsole启动器得到的菜单: 单击“图标设置”就给了我这个: 这只是用于Konsole启动器的桌面配置文件的选项,据我所知,与从KDE面板中删除启动器无关。
14 kde4  panel  sabayon 

5
grep匹配后如何计算文件中的行数?
我正在尝试计算csv文件中有问题的行之后的行数。我知道grep -a #在找到匹配项后,可以使用语法输出#行数。我只对实际的行数感兴趣。我意识到我可以将数字设置为MAX_INT,将其传送到文件中并进行更多处理。 我正在寻找简洁的单线飞机,以告诉我人数。 有什么建议么?
14 files  grep  csv 

2
更改Linux临时端口范围有多安全?
我在Linux机器上看到以下临时端口范围。 sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000 我想将端口范围从16000开始扩展。这里的一个快速问题是:将上下文范围更改为其他应用程序有多安全?此更改会影响其他应用程序吗?我了解,仅当应用程序使用指定端口范围内的端口时,它才会受到影响。但是总的来说,这些问题是如何解决的?
14 linux  ip 

1
尽管xinput列表中有Synaptics触摸板,synclient仍未找到synaptics属性
我昨天将Fedora笔记本升级到Fedora 22。这样,synclient停止工作: 找不到突触属性。没有加载突触驱动程序? 尽管如此,xinput list显示: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)] […] 这是我这方面的配置问题吗(awesome 据我所知,我正在使用在X11下运行的窗口管理器(不确定Fedora是否做了一些隐式魔术,因为它们在22版本中引入了Wayland))还是这样做?像分发错误一样? 如果这是我的配置问题,如何解决? 这在Debian和许多其他较新的系统上也会发生。为什么,请参阅答案。

1
“ ls”在目录中显示两个相同的文件
因此,该命令ls似乎以某种方式向我显示了目录中的两个相同文件。 $ ls -Blah /System/Library/LaunchDaemons total 32 drwxr-xr-x 266 root wheel 8.8K Jun 18 10:41 . drwxr-xr-x 79 root wheel 2.6K Mar 31 12:28 .. [redacted] -rw-r--r-- 1 root wheel 715B Jun 18 10:36 tftp.plist -rw-r--r-- 1 root wheel 715B Jun 18 10:35 tftp.plist 我可以移动,重命名,编辑等其中一个文件,但另一个似乎不存在。bash选项卡补全甚至显示相同的文件。 例如,输入以下内容,然后点击 TAB $ sudo mv …
14 bash  osx  ls 

1
使用台式机作为蓝牙耳机
我的台式机扬声器要比手机好得多,因此我想用台式机扬声器代替手机的扬声器。使用USB或音频插孔对我来说很不方便,所以我只能使用蓝牙。我已经使用配对了手机bluetoothctl,但是在尝试连接时得到了以下信息: [bluetooth]# pair 00:00:00:00:00:00 Attempting to pair with 00:00:00:00:00:00 [CHG] Device 00:00:00:00:00:00 Connected: yes Request confirmation [agent] Confirm passkey 000000 (yes/no): yes [CHG] Device 00:00:00:00:00:00 Modalias: bluetooth:a000Aa000000000 [CHG] Device 00:00:00:00:00:00 UUIDs: 00000000-0000-1000-8000-00000a0a00aa [CHG] Device 00:00:00:00:00:00 UUIDs: 00000000-0000-1000-8000-00000a0a00aa ... [CHG] Device 00:00:00:00:00:00 UUIDs: 00000000-0000-1000-8000-00000a0a00aa [CHG] Device 00:00:00:00:00:00 UUIDs: 000000000-0000-1000-8000-00000a0a00aa [CHG] Device …

3
准备命令问题的答案
假设我想编写一个仅执行一个命令的shell脚本。但是此命令的设计不当。它不提供任何命令行选项。相反,它会问一些问题并等待用户输入。 有没有办法在脚本中准备此输入,因此问题会自动得到回答?

3
系统生成和进程生成
通常不要在这里发布信息,但是我正在把头发撕掉。我有一个Python脚本,它在启动时会分叉,并负责启动其他一系列进程。该脚本曾经在启动时通过sysvinit启动,但是最近我升级到Debian Jessie,因此对其进行了修改,使其可以通过systemd启动。 不幸的是,我遇到了一个我无法解决的问题。当您直接在用户外壳程序中启动脚本时,它将正确启动其子进程,并且当脚本退出时,子进程将被孤立并继续运行。 通过systemd启动时,如果父进程退出,则子进程也全部退出(嗯,它们在其中启动的Screen消失并显示为Dead ???)。 理想情况下,我需要能够在不终止所有子进程的情况下重新启动父脚本,我是否缺少某些东西? 谢谢! [Unit] Description=Server commander After=network.target [Service] User=serveruser Type=forking PIDFile=/var/Server/Server.pid ExecStart=/var/Server/Server.py ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target 编辑:我可能需要指出Python脚本本质上是其子进程的“控制器”。它根据中央服务器的请求在gnu屏幕中启动和停止服务器。它通常一直在运行,不会生成服务并退出。但是在某些情况下,我希望能够在不终止子进程的情况下重新加载脚本,即使这意味着这些进程被孤立为pid1。实际上,即使Python脚本以如下方式启动进程也没有关系:父进程,如果可能的话。 关于其工作原理的更好解释: Systemd产生/Server.py Server.py分叉并为Systemd写入pid文件 然后,Server.py根据其指示在gnu屏幕中生成服务器进程 Server.py继续运行以执行从服务器请求的任何重新启动 在不使用Systemd的情况下启动时,可以重新启动Server.py,并且启动的gnu屏幕不受影响。使用Systemd启动时,当Server.py关闭时,它们会被杀死,而不是将这些屏幕进程孤立为pid 1。

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.