2024-09-03

问题解释:

Ubuntu 22.04 在使用 Systemd-resolved 服务时,对 /etc/resolv.conf 文件的修改可能不会持久化,因为 Systemd-resolved 服务管理了 DNS 解析配置。

解决方法:

  1. 如果你想要直接修改 DNS 而不使用 Systemd-resolved,可以按照以下步骤操作:

    a. 禁用 Systemd-resolved 服务:

    
    
    
    sudo systemctl disable systemd-resolved

    b. 安装 dnsmasq 或其他 DNS 服务器软件,并配置它来使用你想要的 DNS 服务器。

    c. 修改 /etc/resolv.conf 文件,添加你想要的 DNS 服务器条目。

    d. 确保你的网络配置(比如 NetworkManager 或 netplan 配置)指向新的 DNS 服务器或不指定 Systemd-resolved。

  2. 如果你想要继续使用 Systemd-resolved,可以通过以下步骤设置 DNS 服务器:

    a. 使用 resolvectl 命令设置 DNS 服务器:

    
    
    
    sudo resolvectl dns [interface] [DNS-server]

    其中 [interface] 是你的网络接口名称,比如 eth0[DNS-server] 是你想要设置的 DNS 服务器地址,比如 8.8.8.8

    b. 如果你想要添加或修改上游 DNS 服务器,可以编辑 /etc/systemd/resolved.conf 文件,并在 [Resolve] 部分添加或修改 DNS= 行。

  3. 如果你只是想临时修改 DNS 而不想改动服务配置,可以使用 resolvectl 命令:

    
    
    
    sudo resolvectl dns [interface] [DNS-server]

    这会立即生效,但重启后会丢失,除非你在配置文件中设置了这些值。

确保在进行任何更改后重启网络服务或系统,以使更改生效。

2024-09-03

以下是在Ubuntu 20.04和22.04上从源代码编译安装OpenSSL和OpenSSH的步骤:

首先,确保系统是最新的,并安装必要的依赖:




sudo apt update
sudo apt install -y build-essential checkinstall zlib1g-dev libssl-dev libghc-zlib-dev libreadline-dev

编译和安装OpenSSL:




# 下载OpenSSL源代码
wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xzf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
 
# 配置、编译并安装OpenSSL
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
sudo make install
 
# 更新库链接
sudo ldconfig /usr/local/ssl/lib

编译和安装OpenSSH:




# 下载OpenSSH源代码
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
tar -xzf openssh-8.4p1.tar.gz
cd openssh-8.4p1
 
# 配置、编译并安装OpenSSH
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/include --with-md5-passwords --with-pam
make
sudo make install

配置OpenSSH服务:




# 备份原有的SSH配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
 
# 生成新的SSH配置文件
sudo cp contrib/redhat/sshd.init /etc/init.d/sshd
sudo chmod +x /etc/init.d/sshd
sudo systemctl daemon-reload
sudo systemctl enable sshd

更新系统的SSH软件包列表,并安装任何可用的更新:




sudo update-ssh --add
sudo apt update
sudo apt upgrade openssh-server

重启SSH服务以应用更改:




sudo systemctl restart sshd

确保你的系统安全,并仅从官方网站下载OpenSSL和OpenSSH的源代码,避免使用可能包含已知漏洞的旧版本。

2024-09-03

在Ubuntu系统中,内存的分配和管理通常由Linux内核和systemd服务进行。你可以使用以下命令来查看内存的使用情况:

  1. free - 显示当前系统中内存的使用情况,包括总内存、已用内存、空闲内存、缓存和交换空间的使用情况。



free -h
  1. top - 实时显示系统中各个进程的内存使用情况。



top
  1. htop - 类似于top,但提供了一个更好的用户界面和更多的信息。



sudo apt-get install htop
htop
  1. vmstat - 报告虚拟内存统计信息。



vmstat -s
  1. cat /proc/meminfo - 显示内存的详细信息。



cat /proc/meminfo

对于系统内存的分配,通常是通过配置文件或者系统设置来完成的,例如:

  • 使用swaponswapoff命令来启用或禁用交换空间。
  • 使用sysctl命令来调整内核级别的内存管理参数。

例如,启用交换空间:




sudo swapon /path/to/swapfile

调整内存管理参数:




sudo sysctl -w vm.swappiness=10

请注意,更改内存配置可能会影响系统性能,所以应该根据系统的需求和工作负载来进行调整。

2024-09-03

在Ubuntu 18.04上部署PostgreSQL 12,可以通过以下步骤进行:

  1. 更新系统包列表:



sudo apt update
  1. 安装PostgreSQL 12:



sudo apt install postgresql-12 postgresql-client-12
  1. 确认PostgreSQL服务已经启动:



sudo systemctl status postgresql
  1. 切换到postgres用户:



sudo -i -u postgres
  1. 创建一个新的角色(可选):



createuser --interactive
  1. 创建一个新的数据库(可选):



createdb <database_name>
  1. 登录到PostgreSQL命令行界面:



psql
  1. 退出PostgreSQL命令行界面:



\q

以上步骤将在Ubuntu 18.04上安装PostgreSQL 12,并提供基本的用户和数据库管理。

2024-09-03

在Ubuntu上快速部署stable diffusion模型,您可以遵循以下步骤:

  1. 安装Anaconda或Miniconda:



wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
  1. 创建一个新的conda环境并激活它:



conda create -n sd python=3.8
conda activate sd
  1. 安装PyTorch和torchvision(选择与您的系统相匹配的版本):



conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
  1. 克隆stable diffusion仓库:



git clone https://github.com/CompVis/stable-diffusion.git
cd stable-diffusion
  1. 安装所需的Python依赖项:



pip install -r requirements.txt
  1. 根据需要配置运行配置文件,例如denoising_diffusion_unet_finetune_v1.yaml
  2. 运行stable diffusion模型,例如:



python run_sd.py --config denoising_diffusion_unet_finetune_v1.yaml

请注意,上述步骤假设您有一个支持CUDA的NVIDIA GPU,并且安装了相应版本的CUDA。如果您没有GPU或者想在CPU模式下运行,可能需要修改步骤以适应CPU。

2024-09-03

在Ubuntu上设置PostgreSQL允许远程访问的步骤如下:

  1. 编辑PostgreSQL配置文件pg_hba.conf,通常位于/etc/postgresql/<version>/main/目录下。



sudo nano /etc/postgresql/<version>/main/pg_hba.conf
  1. 添加以下行到配置文件中,允许指定IP范围的访问,或者0.0.0.0/0来允许所有IP的访问(出于安全考虑,不建议这样做)。



# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5
  1. 重启PostgreSQL服务以应用更改。



sudo systemctl restart postgresql
  1. 确保Ubuntu服务器的防火墙允许远程连接到PostgreSQL的默认端口5432。



sudo ufw allow 5432/tcp
  1. 如果你使用的是云服务或者有额外的网络安全设置,请确保相应的网络安全组或策略允许远程连接。

现在应该可以从远程机器使用PostgreSQL客户端或其他工具连接到你的PostgreSQL数据库了。记得使用正确的用户名、密码和数据库名称以及服务器的公网IP地址或域名。

2024-09-03

在Ubuntu下安装交叉编译器通常指的是安装用于特定目标架构(如ARM, AArch64, MIPS等)的编译器。以下是安装ARM交叉编译器的步骤:

  1. 打开终端。
  2. 更新软件包列表:

    
    
    
    sudo apt-get update
  3. 安装交叉编译器:

    
    
    
    sudo apt-get install gcc-arm-linux-gnueabihf

这将安装用于ARM架构(如BeagleBone, Raspberry Pi等)的交叉编译器。如果你需要安装AArch64架构的编译器,可以使用:




sudo apt-get install gcc-aarch64-linux-gnu

确保你的Ubuntu软件仓库包含了这些包。如果这些包不在标准仓库中,你可能需要添加额外的软件源或者下载交叉编译器的预编译二进制文件。

一旦安装完成,你可以通过在命令行中输入 arm-linux-gnueabihf-gcc --version 来检查ARM交叉编译器版本,或者使用 aarch64-linux-gnu-gcc --version 来检查AArch64交叉编译器版本。

2024-09-03

为了创建Ubuntu rootfs,你需要下载Ubuntu的预构建镜像或者自行制作。以下是使用debootstrap工具制作Ubuntu rootfs的基本步骤:

  1. 安装debootstrap(如果尚未安装):

    
    
    
    sudo apt-install debootstrap
  2. 创建rootfs目录结构:

    
    
    
    mkdir ubuntu-rootfs
  3. 使用debootstrap命令制作rootfs:

    
    
    
    debootstrap --arch=arm64 focal ubuntu-rootfs http://archive.ubuntu.com/ubuntu

    其中--arch=arm64指定了架构,focal是Ubuntu的代号,表示Ubuntu 20.04,而ubuntu-rootfs是你的rootfs目录,http://archive.ubuntu.com/ubuntu是Ubuntu的镜像地址。

  4. 一旦完成,你可以通过添加必要的库和工具来进一步配置你的rootfs:

    
    
    
    sudo apt-get install --reinstall -y --download-only debian-keyring debian-archive-keyring
    dpkg-scanpackages ubuntu-rootfs/deb/ | gzip -9c > ubuntu-rootfs/deb/Packages.gz
  5. 你还可以复制/etc/apt/sources.list/etc/apt/sources.list.d/*到你的rootfs中,并编辑它们以指向你的rootfs内部的包。

以上步骤会创建一个基本的Ubuntu rootfs,你可以在此基础上进一步定制化。如果你需要针对不同的硬件或架构进行调整,请确保相应地修改debootstrap命令中的架构参数。

2024-09-03

在Ubuntu系统中安装MySQL、Redis、Nginx和JDK的命令如下:

  1. 更新系统包列表:



sudo apt update
  1. 安装MySQL服务器:



sudo apt install mysql-server
  1. 安装Redis服务器:



sudo apt install redis-server
  1. 安装Nginx:



sudo apt install nginx
  1. 安装OpenJDK:



sudo apt install default-jdk

安装完成后,您可能需要进行配置以确保它们正常运行。例如,您可能需要设置数据库root密码、配置Redis、启动Nginx和MySQL服务等。

启动MySQL服务:




sudo systemctl start mysql

启动Redis服务:




sudo systemctl start redis-server

启动Nginx服务:




sudo systemctl start nginx

使服务开机自启:




sudo systemctl enable mysql
sudo systemctl enable redis-server
sudo systemctl enable nginx

注意:具体的配置和使用方法可能会根据您的具体需求和系统环境有所不同,请根据实际情况进行相应的配置和使用。

2024-09-03



# 更新软件包列表
sudo apt-update
 
# 安装依赖包
sudo apt-get install -y wget apt-transport-https software-properties-common
 
# 导入JetBrains Toolbox的GPG密钥
wget -qO- "https://download.jetbrains.com/toolbox/jetbrains-toolbox-1.20.6293.tar.gz" | tar xz
 
# 添加JetBrains Toolbox的仓库
sudo "./jetbrains-toolbox-1.20.6293/jetbrains-toolbox.sh" --create-desktop-entry
 
# 删除解压的文件
rm -rf jetbrains-toolbox-1.20.6293
 
# 安装JetBrains Toolbox
sudo apt-get install -y jetbrains-toolbox
 
# 如果遇到libfuse.so.2相关的错误,则尝试以下命令
sudo apt-get install -y fuse

这段代码首先通过apt-get更新了软件包列表,并安装了必要的依赖项。然后,它导入了JetBrains Toolbox的GPG密钥,并添加了它的官方仓库。最后,它安装了JetBrains Toolbox。如果在安装过程中遇到libfuse.so.2相关的错误,它会尝试安装fuse包来解决依赖问题。