我将命令输入uname -a到我大学的服务器中并得到了这个:
2.6.18-274.3.1.el5 #1 SMP Tue Sep 6 20:14:03 EDT 2011 i686 i686 i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
他们是否试图隐藏服务器运行的 Linux 版本?或者它显示的内核意味着它们不是?因为当我uname -a在 Linux 盒子上输入时,它显示我正在运行 Ubuntu。我只是想弄清楚他们是否出于安全原因想要保密。
无法通过在 ubuntu 14.04 上运行以下命令来 grep xrdp 版本行
$ sudo xrdp -v | grep -i "version"
Run Code Online (Sandbox Code Playgroud)
输出:空白
$ sudo xrdp -v
Run Code Online (Sandbox Code Playgroud)
输出 :
logging configuration:
LogFile: /var/log/xrdp.log
LogLevel: 4
EnableSyslog: 1
SyslogLevel: 4
xrdp: A Remote Desktop Protocol server.
Copyright (C) Jay Sorg 2004-2014
See http://www.xrdp.org for more information.
Version 0.9.0
Run Code Online (Sandbox Code Playgroud)
当尝试使用如下所示的其他程序时perl command
$ sudo perl -V | grep "version"
Run Code Online (Sandbox Code Playgroud)
输出 :
Summary of my perl5 (revision 5 version 18 subversion 2) configuration:
Run Code Online (Sandbox Code Playgroud)
如何获取版本 0.9.0 作为命令的输出!
当我这样做时openssl version,我得到以下信息
OpenSSL 1.1.0j 20 Nov 2018 (Library: OpenSSL 1.1.0k 28 May 2019)
Run Code Online (Sandbox Code Playgroud)
j和库版本之间的差异k在这里意味着什么?
我尝试openssl通过执行更新apt-get update && apt-get install openssl,然后当我执行 a 时openssl version,我得到以下信息:
OpenSSL 1.1.0k 28 May 2019
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我是 Linux 的新手,所以对这些版本控制细节有点困惑。
我通常使用apt包管理器安装早期版本(3.11.2),并从源手动安装更高版本(3.12)。当我像这样执行 python 脚本时:
./python_script.py
Run Code Online (Sandbox Code Playgroud)
该脚本使用较早的版本而不是较新的版本。出于可移植性的原因,我想将默认的 shebang 行#!/usr/bin/env python3单独保留在脚本的开头。
这是一个示例测试脚本。
#!/usr/bin/env python3
import sys
def main():
print(sys.version)
main()
Run Code Online (Sandbox Code Playgroud)
编辑:通过上述配置,我认为目前最快的解决方案(可能不是最好的,因为未来的后果,请参阅下面社区的详细解释的答案和评论)是更改 / 中 python3 符号链接的目标/usr/local/bin/python3.12的/usr/local/bin/python3.12 的替代品,其中存储了我的 python3.12 二进制文件。
编辑2:如第二个屏幕截图所示,./myscript.py通过验证该目录位于环境变量中的目录/usr/local/bin之前并将二进制文件重命名为./usr/binPATHpython3.12/usr/local/bin/python3
bash shell 中确定用于编译当前运行的内核的 GCC 版本的可靠方法是什么?我需要它的形式,major.minor.patch以便我可以将它与输出中第一行的最后一个标记进行比较gcc --version。
我一直在/proc/version使用以下内容进行解析:
awk '{print $8}' /proc/version | tr -d ','
Run Code Online (Sandbox Code Playgroud)
但是,我正在查找的版本字符串并不总是出现在/proc/version. 有更稳健的方法吗?一个仅适用于 Ubuntu 的强大解决方案就足够了,如果更困难的话,无需使其独立于发行版。
我已经安装了 Ubuntu Server 10.10,现在我想安装一些软件,如 PostgreSQL、Nginx 和 PHP。但是,获得最新稳定版软件的首选方式是什么?
例如,我尝试过,sudo apt-get install postgresql但安装了 8.4 版的 PostgreSQL,但 9.0.1 是最新版本。
我之前在 NginX 上遇到过这个问题。解决方案是下载源文件并编译最新版本,这需要一些时间。后来一位朋友告诉我,这不是安装软件的首选方式。
有什么建议吗?
我查看了联机帮助页,没有-v关于--versionpgrep 或 pkill 的争论。我如何获得有关版本的一些信息?
我这么问是因为在我的 Ubuntu 版本上,人pgrep给了我一本与我的服务器上不同的手册。理想情况下,我也会在我的机器上安装相同的版本。
我写了一组脚本,我想成为便携式的,但我需要知道是否sh在当前平台上表示bash,ksh或ash。有明确的方法吗?
我首先想到的是检查哪个外壳具有哪个--version:
$ zsh --version
zsh 5.0.2 (x86_64-apple-darwin13.0)
$ bash --version
GNU bash, version 4.3.39(1)-release (x86_64-apple-darwin13.4.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ ksh --version
version sh (AT&T Research) 93u+ 2012-08-01
$ dash --version
dash: 0: Illegal option …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个命令,列出安装在(Debian)系统上的最新内核。例如,grub-mkconfig“以某种方式”知道最新的内核版本是什么。它是如何实现这一目标的?我知道我可以通过查看来查看它,但是是否有可以正确解释版本的命令?