技术

Linux 有问必答:如何知道当前正在使用的 shell 是哪个?

问题: 我经常在命令行中切换 shell。是否有一个快速简便的方法来找出我当前正在使用的 shell 呢?此外,我怎么能找到当前 shell 的版本? 找到你当前正在使用的 Shell 版本 有多种方式可以查看你目前在使用什么 shell,最简单的方法就是通过使用 shell 的特殊参数。 其一,一个名为 "$$" 的特殊参数 表示当前你正在运行的 shell 实例的 PID。此参数是只读的,不能被修改。所以,下面的命令也将显示你正在运行的 shell 的名字: $ ps -p $$ PID TTY TIME CMD 21666 pts/4 00:00:00 bash 上述命令可在所有可用的 shell 中工作。 如果你不
2015-11-27
2分钟阅读时长

如何在 Linux 上从 NetworkManager 切换为 systemd-network

在 Linux 世界里,对 systemd 的采用一直是激烈争论的主题,它的支持者和反对者之间的战火仍然在燃烧。到了今天,大部分主流 Linux 发行版都已经采用了 systemd 作为默认的初始化(init)系统。 正如其作者所说,作为一个 从未完成、从未完善、但一直追随技术进步 的系统,systemd 已经不只是一个初始化进程,它被设计为一个更广泛的系统以及服务管理平台,这个平台是一个包含了不断增长的核心系统进程、库和工具的生态系统。 systemd 的其中一部分是 systemd-networkd,它负责 systemd 生态中的网络配置。使用 systemd-networkd,你可以
2015-11-23
5分钟阅读时长

RHCE 系列(七):在 Linux 客户端配置基于 Kerberos 身份验证的 NFS 服务器

在本系列的前一篇文章,我们回顾了如何在可能包括多种类型操作系统的网络上配置 Samba 共享。现在,如果你需要为一组类 Unix 客户端配置文件共享,很自然的你会想到网络文件系统,或简称 NFS。 RHCE 系列:第七部分 - 设置使用 Kerberos 进行身份验证的 NFS 服务器 在这篇文章中我们会介绍配置基于 Kerberos 身份验证的 NFS 共享的整个流程。假设你已经配置好了一个 NFS 服务器和一个客户端。如果还没有,可以参考 安装和配置 NFS 服务器 - 它列出了需要安装的依赖软件包并解释了在进行下一步之前如何在服务器上进行初始化配置。 另外,
2015-11-17
4分钟阅读时长

Linux 有问必答:如何在 Linux 上自动设置 JAVA_HOME 环境变量

问题:我需要在我的 Linux 机器上编译 Java 程序。为此我已经安装了 JDK (Java Development Kit),而现在我正试图设置 JAVA_HOME 环境变量使其指向安装好的 JDK 。关于在 Linux 上设置 JAVA_HOME 环境变量,最受推崇的办法是什么? 许多 Java 程序或基于 Java 的集成开发环境 (IDE)都需要设置好 JAVA_HOME 环境变量。该变量应指向 Java 开发工具包 (JDK)或 Java 运行时环境 (JRE)的安装目录。JDK 不仅包含了 JRE 提供的一切,还带有用于编译 Java 程序的额外的二进制代码和库文件(例如编译器,调试器及 JavaDoc 文档生成器)。JDK 是用
2015-11-17
2分钟阅读时长

如何在 Linux 上使用 SSHfs 挂载一个远程文件系统

你曾经想过用安全 shell 挂载一个远程文件系统到本地吗?如果有的话,SSHfs 也许就是你所需要的。它通过使用 SSH 和 Fuse(LCTT 译注:Filesystem in Userspace,用户态文件系统,是 Linux 中用于挂载某些网络空间,如 SSH,到本地文件系统的模块) 允许你挂载远程计算机(或者服务器)到本地。 注意: 这篇文章假设你明白SSH 如何工作并在你的系统中配置 SSH。 准备 在使用 SSHfs 挂载之前,需要进行一些设置 - 在你的系统上安装 SSHfs 以及 fuse 软件包。你还需要为 fuse 创建一个组,添加用户到组,并创建远程文件系统将会驻留的目录
2015-11-16
2分钟阅读时长

Linux 有问必答:如何在debian及其衍生发行版中改变默认的 Java 版本

提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误。看上去像程序编译所使用的Java版本与我本地的不同。我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境会设置一个target变量来设置程序可以运行的最低Java版本。如果你Linux系统上运行的程序不能满足最低的JRE版本要求,那么你会在运行的时候遇到下面的错误。 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/xmodulo/hmon/gui/NetConf : Unsupported major.minor version 51.0 比如,程序在Java JRE 1.7下编译,但是系统只有J
2015-11-16
2分钟阅读时长

SSL/TLS 加密新纪元 - Let's Encrypt

根据 Let’s Encrypt 官方博客消息,Let’s Encrypt 服务将在下周(11 月 16 日)正式对外开放。 Let’s Encrypt 项目是由互联网安全研究小组(ISRG,Internet Security Research Group)主导并开发的一个新型数字证书认证机构(CA,Certificate Authority)。该项目旨在开发一个自由且开放的自动化 CA 套件,并向公众提供相关的证书免费签发服务以降低安全通讯的财务、技术和教育成本。在过去的一年中,互联网安全研究小组拟定了 ACME 协议草案,并首次实现了使用该协议的应用套件:服务端 Boulder 和客户端 letsencrypt。 至于为什么 Let’s
2015-11-11
4分钟阅读时长