2024-08-19



#!/bin/bash
# 安装zlib库的编译依赖
sudo apt-update
sudo apt-get install -y autoconf libtool
 
# 下载zlib源码
wget "http://www.zlib.net/zlib-1.3.1.tar.gz"
 
# 解压源码包
tar -xf zlib-1.3.1.tar.gz
 
# 进入源码目录
cd zlib-1.3.1
 
# 配置编译选项
./configure
 
# 编译
make
 
# 安装
sudo make install
 
# 清理临时文件和目录
cd ..
rm -rf zlib-1.3.1*

这段脚本会在Ubuntu系统上下载、解压、编译并安装zlib 1.3.1版本。在执行脚本之前,请确保有足够的权限执行sudo命令。

2024-08-19

在Ubuntu 18.04下设置QT程序开机自启动,可以通过创建一个systemd服务单元来实现。以下是步骤和示例代码:

  1. 创建一个新的systemd服务文件。

打开一个终端,并输入以下命令来创建一个新的服务文件:




sudo nano /etc/systemd/system/your-qt-app.service
  1. 编写服务文件内容。

在编辑器中,输入以下内容:




[Unit]
Description=Your Qt Application
After=graphical.target
 
[Service]
Type=simple
ExecStart=/path/to/your/qt/application
 
[Install]
WantedBy=graphical.target

请将/path/to/your/qt/application替换为你的QT应用程序的完整路径。

  1. 重新加载systemd守护进程,使新服务生效。



sudo systemctl daemon-reload
  1. 启用服务,以便在启动时运行。



sudo systemctl enable your-qt-app
  1. (可选)立即启动服务而不用重启。



sudo systemctl start your-qt-app

确保你的QT应用程序有执行权限。如果没有,使用以下命令添加权限:




sudo chmod +x /path/to/your/qt/application

现在,每次开机时,你的QT应用程序应该会自动启动。

2024-08-19



# 查看当前的iptables规则
sudo iptables -L
 
# 添加规则,允许从任意源到本机22端口的流量(通常为SSH)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 
# 添加规则,拒绝所有到本机22端口的流量
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
 
# 删除规则,需要指定被删除规则之前的完整iptables命令
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
 
# 保存规则,使其在重启后依然有效
sudo iptables-save > /etc/iptables/rules.v4
 
# 重载规则,从保存的文件加载规则
sudo iptables-restore < /etc/iptables/rules.v4
 
# 清空所有规则(慎用)
sudo iptables -F
 
# 删除所有自定义链(慎用)
sudo iptables -X
 
# 计数器复位(如果需要)
sudo iptables -Z

这些命令提供了基本的iptables操作,包括查看规则、添加规则、删除规则、保存规则和重载规则。在执行这些操作时,请确保你有足够的权限(通常需要root权限)。在生产环境中操作iptables时,请务必小心,因为不正确的操作可能会导致网络服务中断。

2024-08-19

FreeSWITCH是一个功能强大的开源软交换平台,支持各种协议,包括SIP。以下是在Linux(CentOS和Ubuntu)上编译安装FreeSWITCH的步骤。

在CentOS上:

  1. 安装依赖项:



sudo yum install -y git gcc-c++ make libssl-dev libsqlite3-dev libuuid-devel libsndfile-dev libspeex-dev libspeexdsp-dev libopus-dev libcurl-dev
  1. 克隆FreeSWITCH的Git仓库:



git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
  1. 编译FreeSWITCH:



cd freeswitch
./bootstrap.sh -j
  1. 安装FreeSWITCH:



make install
  1. 配置FreeSWITCH:



cd /usr/local/freeswitch/conf
cp -rt ../certs .
cp vars.xml conf/autoload_configs/
  1. 启动FreeSWITCH:



cd ..
bin/freeswitch -nonat

在Ubuntu上:

  1. 安装依赖项:



sudo apt-get install -y git build-essential libssl-dev libsqlite3-dev uuid-dev libsndfile1-dev libspeex-dev libspeexdsp-dev libopus-dev libcurl4-openssl-dev
  1. 克隆FreeSWITCH的Git仓库:



git clone https://freeswitch.org/stash/scm/fs/freeswitch.git
  1. 编译FreeSWITCH:



cd freeswitch
./bootstrap.sh -j
  1. 安装FreeSWITCH:



make install
  1. 配置FreeSWITCH:



cd /usr/local/freeswitch/certs
cp -rt ../conf/autoload_configs/
  1. 启动FreeSWITCH:



cd ..
bin/freeswitch -nonat

以上步骤会在相应的Linux发行版上编译并安装FreeSWITCH,并提供基本的启动命令。具体的配置和优化可能需要根据实际需求进行调整。

2024-08-19

在Ubuntu 20.04上安装Mamba运行环境,你可以按照以下步骤操作:

  1. 更新系统包列表:



sudo apt update
  1. 安装Mamba:



sudo apt install -y mamba
  1. 验证Mamba安装:



mamba --version

关于CUDA和cuDNN的安装,可以参照NVIDIA官方文档进行操作,步骤较为复杂,但是网上有很多详细的指南。

安装CUDA可以使用以下命令:




sudo apt install nvidia-cuda-toolkit

安装cuDNN通常需要从NVIDIA官网下载对应版本的.deb文件,然后使用dpkg安装:




sudo dpkg -i /path/to/cudnn-local-repo_{version}_amd64.deb
sudo apt update
sudo apt install libcudnn8

安装PyTorch,你可以使用Mamba来安装,这样可以利用conda环境管理:




mamba install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c conda-forge

请确保替换cudatoolkit=11.3为你希望安装的CUDA版本。

注意:在执行这些命令时,请确保你的Ubuntu 20.04系统已经安装了NVIDIA驱动,并且支持CUDA。如果你的GPU不支持CUDA或者驱动版本过旧,可能需要先更新或安装合适的NVIDIA驱动。

2024-08-19

Linux (Ubuntu) 中 crontab 命令用于设置周期性执行的任务,也就是定时任务。

基本语法如下:




crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]

参数说明:

  • -u user: 指定某个用户的定时任务。
  • file: file 是命令文件的名字, 里面包含了要执行的命令。
  • -e: 编辑当前用户的 crontab 文件内容。
  • -l: 显示当前用户的 crontab 文件内容。
  • -r: 删除当前用户的 crontab 文件。

crontab 文件的格式:




* * * * * command-to-be-executed

字段说明:

  • 第一个星号:代表分钟,范围为 0-59。
  • 第二个星号:代表小时,范围为 0-23。
  • 第三个星号:代表日期,范围为 1-31。
  • 第四个星号:代表月份,范围为 1-12。
  • 第五个星号:代表星期几,范围为 0-7(0 和 7 都代表星期天)。
  • command-to-be-executed:需要执行的命令。

例如,每天早上 6 点清空 /tmp 目录下的所有文件:




0 6 * * * /bin/rm -rf /tmp/*

Windows 中的定时任务可以通过任务计划程序(Task Scheduler)来设置。

步骤如下:

  1. 打开任务计划程序。
  2. 点击“创建基本任务...”。
  3. 输入名称和描述。
  4. 选择触发器(例如,每天、一次、登录时等)。
  5. 设置具体的时间和日期。
  6. 选择要启动的程序或脚本。
  7. 完成设置后,点击“完成”。

这样,你设定的任务就会按照你的要求定时执行了。

2024-08-19

在CentOS和Ubuntu上安装Python 3.12.2的步骤如下:

CentOS

  1. 安装依赖项:

    
    
    
    sudo yum groupinstall -y "Development Tools"
    sudo yum install -y openssl-devel bzip2-devel libffi-devel
  2. 下载Python 3.12.2源码:

    
    
    
    wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
  3. 解压源码:

    
    
    
    tar xzf Python-3.12.2.tgz
  4. 编译安装:

    
    
    
    cd Python-3.12.2
    ./configure --enable-optimizations
    make altinstall

使用 altinstall 是为了避免覆盖系统默认的Python版本。

Ubuntu

  1. 安装依赖项:

    
    
    
    sudo apt update
    sudo apt install -y build-essential zlib1g-dev libssl-dev libncurses5-dev libncursesw5-dev libreadline-dev libffi-dev
  2. 下载Python 3.12.2源码:

    
    
    
    wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
  3. 解压源码:

    
    
    
    tar xzf Python-3.12.2.tgz
  4. 编译安装:

    
    
    
    cd Python-3.12.2
    ./configure --enable-optimizations
    make altinstall

同样,使用 altinstall 是为了避免覆盖默认的Python版本。

请注意,Python 3.12.2可能不会在所有系统上完美工作,因为它是一个较新的版本,可能还需要一些时间来稳定和测试。在生产环境中,建议使用更加稳定的版本,如Python 3.8、3.9或3.10。

2024-08-19

在Kubuntu 24.04上更换为阿里云的Ubuntu镜像源可以通过编辑sources.list文件来实现。以下是具体步骤和示例代码:

  1. 打开终端。
  2. 备份当前的sources.list文件:

    
    
    
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
  3. 编辑sources.list文件:

    
    
    
    sudo nano /etc/apt/sources.list
  4. 将文件中的内容替换为阿里云的Kubuntu 24.04镜像源。你可以根据你的Kubuntu版本选择合适的版本代号(比如jammy、focal等)。以下是一个示例源(以jammy为例,替换为你对应的版本):

    
    
    
    deb http://mirrors.aliyun.com/kubuntu/ jammy main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/kubuntu/ jammy main restricted universe multiverse
    deb http://mirrors.aliyun.com/kubuntu/ jammy-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/kubuntu/ jammy-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/kubuntu/ jammy-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/kubuntu/ jammy-backports main restricted universe multiverse
    deb http://mirrors.aliyun.com/kubuntu/ jammy-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/kubuntu/ jammy-security main restricted universe multiverse
  5. 保存并关闭文件(如果使用nano,则通过Ctrl+O保存,然后Ctrl+X退出)。
  6. 更新软件源:

    
    
    
    sudo apt update
  7. 升级现有的软件包(可选):

    
    
    
    sudo apt upgrade

以上步骤将会将你的Kubuntu系统更换为阿里云的Ubuntu镜像源,提供更快的软件包下载速度。

2024-08-19

在Ubuntu 20.04上安装AX201网卡驱动通常不需要手动操作,因为Ubuntu通常会自动识别并安装所需的驱动程序。如果自动安装失败,你可以尝试以下步骤手动安装驱动:

  1. 确认网卡型号:使用lspcilsusb命令查看网卡型号。



lspci | grep -i network
lsusb | grep -i network
  1. 查找适合你网卡的驱动:可以访问网卡制造商的官网或者Linux驱动相关网站查找。
  2. 安装驱动:如果你找到了驱动,可以使用以下命令手动安装。

例如,如果你找到了Intel AX201的驱动,可以使用以下步骤:




# 下载驱动(以.tar.gz为例,请替换为实际下载链接)
wget https://example.com/intel-ax201-driver.tar.gz
 
# 解压驱动
tar -zxvf intel-ax201-driver.tar.gz
 
# 进入驱动目录
cd intel-ax201-driver
 
# 编译安装驱动(具体命令根据驱动提供的说明操作)
sudo ./configure
sudo make
sudo make install
 
# 重新加载无线网卡
sudo modprobe iwlwifi

如果你是从Ubuntu的官方源安装,通常会自动包含最新的驱动。如果不是,你可能需要添加额外的软件源或者从制造商官网下载安装。

如果你的AX201网卡是USB接口的,在连接后Ubuntu应该能够自动安装驱动。如果是内置的网卡,可能需要从主板制造商提供的Linux支持或者BIOS更新中获取驱动。

2024-08-19

故障描述:Ubuntu重启后无法进入系统,且网络无法连接。

故障解决:

  1. 开机进入GRUB菜单:在启动时按下ShiftEsc键以显示GRUB菜单。
  2. 选择Advanced Options:使用键盘上的方向键选择“Advanced options for Ubuntu”或类似选项。
  3. 选择recovery mode:选择“recovery mode”并按Enter
  4. 使用root shell:在recovery菜单中,选择“root”,以便进入root shell。
  5. 修复网络:通常可以通过重新配置网络接口来解决网络问题。例如,如果你的网络接口是eth0,可以使用以下命令:

    
    
    
    ifconfig eth0 up
    dhclient eth0
  6. 重新挂载文件系统为读写模式:

    
    
    
    mount -o remount,rw /
  7. 尝试修复或重新配置网络管理器:

    
    
    
    systemctl restart networking.service

    或者

    
    
    
    systemctl restart NetworkManager
  8. 重新生成initramfs:

    
    
    
    update-initramfs -u
  9. 重新启动系统:

    
    
    
    reboot

如果以上步骤无法解决问题,可能需要进一步的诊断,例如检查系统日志文件(如/var/log/syslog)、查看是否有硬件问题(如通过lshw命令检查网络硬件状态)或检查是否有最近的系统更新导致的问题。如果问题仍然存在,可能需要备份重要数据后尝试重新安装系统。