【Linux】环境变量 && apt下载

项目,基本都在配置环境,刚好补充一下Linux体系知识。但内容比较杂乱。

两大板块知识:

  1. 环境变量
  2. apt下载

环境变量.bashrc

参考:https://blog.csdn.net/m0_46172703/article/details/134793642

目前感知最明显的差异就是环境变量,跟windows感觉完全不一样。

但这不一样的问题并不是说他们之间可能管理存在什么差异,而应该是Linux通常面对多用户,而windows多半面向单机用户

所以个人使用windows基本不需要考虑,需要配置环境变量直接添加就好了,出问题无脑删就完事。

但Linux比较用在服务器,多人使用,需要考虑多用户情况,所以大部分都是自己写自己环境变量,然后命令启动。缺点是每次都需要启动一下,好处是多用户情况下,基本对对方透明。

环境变量两个基本内容:

  1. 命令查找路径
  2. 变量设置

通过命令bash 直接启动默认当前用户home目录下的.bashrc,自定义的话就后面加上文件路径。然后可以通过exit退出

apt下载工具软件

因为我用的是ubuntu,所以用的是apt,如果是centos用的是yum.
但是具体原理应该是类似的

RSA加密

一种公钥私钥加密手段,目标是让内容不能够被别人知道。
一般是自身设置一个私钥,根据这个私钥发布公钥给别人,然后别人通过公钥加密,只有通过私钥才能够解密

但这个跟apt下载工具没什么关系

是公私钥可以有另外一个作用,signment(签名

简单一点理解就是,通过发布我自己的公钥,让大家都知道我正版公钥是什么,然后针对我的内容用私钥加密,因为大家都知道我的公钥是什么,大家可以用公钥解密获得结果

这样可以避免大家下到盗版软件

而这个也是为什么apt下载时候会看到有什么sha256 什么相关的hash

现在一般用gbg,这个好像比较复杂,也没去详细了解

apt 下载过程

会过来说apt下载过程

上面提及了加密算法,所以后续的软件下载模式就需要提前先知道这个公司密钥是什么。

所以有时候官网下载的时候有什么curl x x x x x gbg xx
这歌过程就是去获取官方发布的密钥

再通过apt命令,去添加具体的下载地址
然后apt update命令会将具体地址与具体软件名称关联起来
最后直接apt-get install xx软件名就可以下载了

而我们在配置apt 镜像的过程,只配置了一个地址
实际上apt update的时候,会遍历每一个mirror,将它下面所有的软件与具体名称关联起来,所以后续才能够直接apt install
而其中基本每一个mirror的每一个软件都弄好了密钥这个过程,所以很多时候感觉好像没有密钥这个东西

杂知识

用户添加

#添加用户
useradd -d {dir_path} -m {username}
#添加用户的密码
passed {username} 

假设说这时候发现切换用户前面什么都没有,只有一个$。说明脚本软件用的不对,需要用root去改一个文件,改成bash启动,而不是sh

tee

追加文件内容命令

#追加文件,直到遇见EOF
tee -a {file_name}  <<'EOF'

echo "{content}" | tee -a {file_name}
### 在 Docker 中安装 Wine 要在 Docker 容器中通过命令 `sudo apt update && sudo apt install wine` 安装 Wine,需要注意一些细节。以下是具体方法以及可能遇到的问题及其解决方案。 #### 1. 创建并配置 Dockerfile 为了在 Docker 容器中安装 Wine,可以通过创建自定义的 Dockerfile 来实现。以下是一个简单的 Dockerfile 示例: ```dockerfile # 基础镜像选择 Ubuntu 22.04 LTS FROM ubuntu:22.04 # 设置环境变量以避免交互式配置 ENV DEBIAN_FRONTEND=noninteractive # 更新包管理器索引并安装必要的依赖项 RUN apt-get update && \ apt-get upgrade -y && \ apt-get install -y software-properties-common && \ dpkg --add-architecture i386 && \ wget -nc https://dl.winehq.org/wine-builds/winehq.key && \ apt-key add winehq.key && \ add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main' && \ apt-get update && \ apt-get install -y --install-recommends winehq-stable # 清理不必要的文件以减少镜像大小 RUN rm -rf /var/lib/apt/lists/* && \ rm -f winehq.key # 设置默认命令 CMD ["bash"] ``` 此脚本执行的操作包括更新软件源列表、添加 WineHQ 的官方仓库密钥[^1],并将架构扩展到支持 32 位应用程序(因为某些 Windows 应用程序需要 32 位支持)。最后一步清理缓存是为了减小最终生成的 Docker 镜像体积。 #### 2. 构建和运行容器 完成上述 Dockerfile 后,在同一目录下构建镜像: ```bash docker build -t my-wine-image . ``` 这会基于当前目录中的 Dockerfile 文件来创建一个新的名为 `my-wine-image` 的镜像。 接着可以启动一个带有该镜像的新容器: ```bash docker run -it --name my-wine-container my-wine-image bash ``` 此时进入了一个新的 Bash shell 环境,其中已经预装好了 Wine。 #### 3. 解决公钥问题 如果尝试直接修改 `/etc/apt/sources.list` 或者导入外部存储库时遇到了类似于 “NO_PUBKEY” 错误,则需手动获取缺失的 GPG 密钥。例如对于错误消息提到的两个密钥 ID (`40976EAF437D05B5`, `3B4FE6ACC0B21F32`) 可分别处理如下: ```bash gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 gpg --export --armor 40976EAF437D05B5 | tee /etc/apt/trusted.gpg.d/ubuntu-archive-keyring.asc gpg --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 gpg --export --armor 3B4FE6ACC0B21F32 | tee /etc/apt/trusted.gpg.d/linuxmint-archive-keyring.asc ``` 之后再次运行 `apt-get update` 即可正常工作[^2]。 #### 4. 测试 Wine 是否成功安装 一旦完成了以上步骤,可以在终端里简单测试一下 Wine 是否被正确部署: ```bash wine --version ``` 应该返回类似这样的输出:`wine-X.Y.Z (Staging)` 表明 Wine 已经就绪待用了。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值