Debian8.2配置了/etc/environment不管用的解决办法

本文介绍了两种解决轻量级桌面管理服务(lightdm)代理问题的方法。第一种方法是通过编辑bash配置文件并设置JAVA_HOME及http_proxy环境变量。第二种更推荐的方法则是备份并编辑lightdm的PAM配置文件,添加特定的环境配置行来解决问题。
  • 不是很好的解决办法

    编辑/etc/bash.bashrc文件,在文件的最后加上

    . /etc/environment
    export JAVA_HOME http_proxy(具体有什么视自己文件中定义的为准)

    然后不管你是注销啊还是重启啊,随便你了。

  • 我认为比较好的解决办法

    首先备份文件:/etc/pam.d/lightdm文件

    然后编辑/etc/pam.d/lightdm文件,

    在session    required    pam_limits.so

    的下面加上这么一行:

    session  required     pam_env.so

    保存,退出,然后,不管你是重启还是注销随你了。

转载于:https://my.oschina.net/u/1444992/blog/600636

<think>嗯,用户之前问过关于系统中没有apt命令的问题,我给出了解决方案,包括检查/etc/debian_version和/etc/redhat-release文件来判断系统类型。现在用户回来反馈说这两个文件都没有,我需要进一步分析可能的情况。 首先,用户可能使用的是其他Linux发行版,比如Arch Linux、Gentoo或者SUSE等,这些系统通常会有Debian或Red Hat相关的文件。另外,也有可能系统是容器化的,比如Docker容器,基础镜像可能非常精简,去除了这些标识文件。还有一种可能是用户误删了这些文件,过可能性较低,或者系统配置被修改过。 接下来,我需要指导用户如何进一步确认系统类型。除了之前提到的命令,可能需要更全面的检查方法,比如查看/etc/os-release文件,这个文件在大多数现代Linux发行版中都存在。如果这个文件也没有,可能需要查看其他常见文件,比如检查包管理器是否存在,如pacman、zypper等,或者使用uname命令查看内核信息。 另外,用户可能对Linux系统太熟悉,需要给出明确的步骤,避免使用过于专业的术语。可能需要分步骤列出同的检查方法,帮助用户逐步排查。同时,需要考虑用户的环境是否特殊,比如容器、嵌入式系统或自定义构建的系统,这些情况可能需要同的处理方式。 最后,总结可能的情况,并给出对应的解决方案,比如使用其他包管理器,或者建议用户提供更多系统信息以便进一步帮助。需要确保回答清晰,结构合理,让用户能够一步步排除问题。</think>--- ### 问题分析:系统中缺失 `/etc/debian_version` 和 `/etc/redhat-release` 文件 如果系统中 **既没有 `/etc/debian_version`,也没有 `/etc/redhat-release`**,说明你的Linux发行版 **属于Debian/Ubuntu或Red Hat/CentOS系列**。以下是进一步排查和确认系统类型的步骤: --- #### 1. **检查其他系统标识文件** 大多数Linux发行版会通过特定文件标明身份。尝试以下命令: ```bash # 查看通用系统信息文件(几乎所有现代系统都有) cat /etc/os-release # 检查其他常见发行版标识文件 ls /etc/*release* /etc/*version* ``` - **常见标识文件示例**: - **Arch Linux**: `/etc/arch-release` - **openSUSE**: `/etc/SUSE-release` - **Gentoo**: `/etc/gentoo-release` - **Alpine**: `/etc/alpine-release` --- #### 2. **通过包管理器推断系统类型** 包管理器是判断发行版的核心依据: - 运行以下命令检查包管理工具是否存在: ```bash # 检查常见包管理器 which apt # Debian/Ubuntu which yum # CentOS 7及以下 which dnf # CentOS 8+/Fedora which pacman # Arch/Manjaro which zypper # openSUSE which emerge # Gentoo which apk # Alpine ``` --- #### 3. **检查系统内核信息** 通过内核版本和编译信息辅助判断: ```bash # 查看内核信息(关注输出中的发行版标识) uname -a # 检查内核版本(适用于嵌入式或定制系统) cat /proc/version ``` --- #### 4. **特殊场景可能性** 若上述方法仍无法确认,可能是以下情况: - **容器环境**(如Docker): - 基础镜像可能极度精简(如 `scratch`、`busybox`),无标准标识文件。 - 尝试检查容器运行时信息: ```bash cat /proc/self/cgroup | grep "docker\|containerd" ``` - **自定义编译系统**: - 用户自行构建的Linux发行版可能移除了标识文件。 - **非主流发行版**: - 例如 **Void Linux**、**Clear Linux**、**NixOS** 等。 --- ### 解决方案汇总 | 场景 | 操作 | |------|------| | **确认是Arch Linux** | 使用 `pacman` 管理软件包:<br>`sudo pacman -S <包名>` | | **确认是openSUSE** | 使用 `zypper`:<br>`sudo zypper install <包名>` | | **确认是Alpine** | 使用 `apk`:<br>`sudo apk add <包名>` | | **容器环境** | 检查镜像名称或重新构建包含所需工具的镜像 | | **无法确认发行版** | 提供以下信息进一步分析:<br>- `cat /etc/os-release` 的输出<br>- 包管理器名称<br>- 内核信息(`uname -a`) | --- ### 示例:通过 `/etc/os-release` 确认系统 若 `cat /etc/os-release` 输出如下内容: ```bash NAME="Alpine Linux" ID=alpine VERSION_ID=3.18.4 ``` 则可明确系统为 **Alpine Linux**,使用 `apk` 作为包管理器。 --- 若有其他输出或疑问,可提供具体信息继续分析!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值