2024-08-16

在Linux中,可以使用stat命令查看文件的创建时间。但是,标准的Unix文件系统并不保存文件的创建时间,只保存修改时间、访问时间和状态改变时间。因此,在大多数Linux文件系统中,文件的创建时间是不可访问的。

如果你的文件系统支持保存文件的扩展属性(如ext4),你可以使用ls命令的-o选项来查看文件的扩展属性,包括创建时间(如果有的话)。

下面是如何查看文件的扩展属性,包括创建时间的方法:




ls -l --time=atime --time-style=full-iso /path/to/your/file

如果你想要查看文件的修改时间、访问时间和状态更改时间,可以使用以下命令:




stat /path/to/your/file

如果你需要查看文件夹的创建时间,可以使用以下命令:




stat /path/to/your/directory

请注意,如果你的文件系统不支持保存文件的创建时间,那么上述命令将无法显示创建时间。

2024-08-16

在CentOS 7上更新GCC版本至8.3.1以支持C17(C17对应C语言标准的ISO/IEC 9899:2018),你可以通过以下步骤进行:

  1. 安装SCL仓库:



sudo yum install centos-release-scl
  1. 安装新版本的GCC(例如8.3.1):



sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++
  1. 启用新版本的GCC:



scl enable devtoolset-8 bash
  1. 验证GCC版本:



gcc --version

请注意,启用新版本的GCC后,只对当前会话有效。如果你想在系统范围内永久使用新版本的GCC,你可以在启用新版本后更新系统的gccg++软链接。

此外,如果你想要GCC支持C++17特性,你还需要安装C++17的库libstdc++-8.3.1:




sudo yum install devtoolset-8-libstdc++-devel

请确保在编译时指定C标准和C++标准,例如使用-std=c17-std=c++17编译选项。

2024-08-16

在Ubuntu 22.04上使用arm-linux-gnueabi交叉编译器编译Qt 5.15.2的步骤如下:

  1. 安装必要的依赖项:



sudo apt-update
sudo apt-get install build-essential \
    libgl1-mesa-dev \
    libgles2-mesa-dev \
    libegl1-mesa-dev \
    libxkbcommon-dev \
    libsqlite3-dev \
    gperf \
    flex \
    bison \
    glib-2.0 \
    libicu-dev \
    libdbus-1-dev \
    libxcb-keysyms-dev \
    libxcb-image-dev \
    libxcb-shm0-dev \
    libxcb-render-util-dev \
    libxcb-xfixes0-dev \
    zlib1g-dev
  1. 下载Qt 5.15.2源代码:



wget https://download.qt.io/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz
tar xf qt-everywhere-src-5.15.2.tar.xz
cd qt-everywhere-src-5.15.2
  1. 配置Qt编译系统:



./configure -prefix /usr/local/qt5arm \
    -opensource \
    -confirm-license \
    -release \
    -strip \
    -xplatform linux-arm-gnueabi-g++ \
    -optimized-qmake \
    -pch \
    -skip qt3d \
    -skip qtcanvas3d \
    -skip qtcharts \
    -skip qtconnectivity \
    -skip qtdatavis3d \
    -skip qtdoc \
    -skip qtgamepad \
    -skip qtlocation \
    -skip qtmacextras \
    -skip qtnetworkauth \
    -skip qtpurchasing \
    -skip qtremoteobjects \
    -skip qtscript \
    -skip qtscxml \
    -skip qtsensors \
    -skip qtspeech \
    -skip qtsvg \
    -skip qttools \
    -skip qttranslations \
    -skip qtwayland \
    -skip qtwebengine \
    -skip qtwebview \
    -skip qtwinextras \
    -skip qtx11extras \
    -make libs \
    -make examples \
    -nomake tests \
    -nomake tools \
    -gcc-toolchain /usr/bin/arm-linux-gnueabi- \
    -hostprefix /usr/local/qt5arm \
    -device linux-arm-gnueabi-g++ \
    -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- \
    -openssl-linked targeting arm
  1. 编译和安装Qt:



make -j$(nproc)
sudo make install

以上步骤会在你的Ubuntu系统上使用arm-linux-gnueabi交叉编译器编译Qt 5.15.2,并将其安装到/usr/local/qt5arm目录下。请确保你的交叉编译器路径是正确的,并且根据你的目标硬件架构(例如armv7, aarch64)来调整编译选项。

2024-08-16

在Linux/UNIX和Windows上安装MySQL的大体步骤相同,但是具体的命令和配置可能会有所不同。以下是基于Linux/UNIX和Windows安装MySQL的基本步骤:

Linux/UNIX系统安装MySQL:

  1. 使用包管理器安装MySQL。例如,在Ubuntu上,可以使用以下命令:



sudo apt-get update
sudo apt-get install mysql-server
  1. 启动MySQL服务:



sudo service mysql start
  1. 运行安全安装脚本设置密码和调整安全选项:



sudo mysql_secure_installation
  1. 登录MySQL:



mysql -u root -p

输入你在安全安装过程中设置的密码。

Windows系统安装MySQL:

  1. 下载MySQL Community Server的安装程序:

访问MySQL官方网站下载适用于Windows的安装程序。

  1. 运行安装程序:

双击下载的安装文件,并遵循安装向导的步骤完成安装。

  1. 启动MySQL服务:

可以在Windows服务列表中启动MySQL服务,或者使用命令行:




net start mysql
  1. 设置密码和调整安全选项:

MySQL安装向导通常提供一个配置安全性的选项,或者可以使用MySQL提供的mysql_secure_installation脚本。

  1. 登录MySQL:



mysql -u root -p

输入你在安装过程中或通过安全脚本设置的密码。

请注意,具体的命令和步骤可能会根据不同版本的Linux/UNIX或Windows以及MySQL版本的不同而有所变化。

2024-08-16

在Rocky Linux 9/AlmaLinux 9上配置静态IP地址,你需要编辑对应的网络接口配置文件。以下是一个基本的步骤和示例代码:

  1. 找到你的网络接口名称,使用nmcli d命令。
  2. 编辑接口的配置文件。配置文件通常位于/etc/sysconfig/network-scripts/目录下,并以ifcfg-开头。

例如,如果你的接口名称是eth0,那么配置文件就是/etc/sysconfig/network-scripts/ifcfg-eth0

  1. 使用文本编辑器(如vi, vim, nano等)编辑该文件,并设置静态IP参数。

以下是一个配置静态IP的示例配置文件内容:




TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=your-interface-uuid
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=1.1.1.1
DNS2=8.8.8.8

在这个例子中,IPADDR是你想要设置的静态IP地址,PREFIX是子网掩码的前缀长度,GATEWAY是默认网关,DNS1DNS2是DNS服务器地址。

  1. 保存配置文件并退出编辑器。
  2. 重启网络服务以应用新的IP设置,可以使用以下命令:



sudo systemctl restart NetworkManager

或者重启网络接口:




sudo ifdown eth0 && sudo ifup eth0

确保替换eth0为你自己的接口名称,并根据你的网络环境配置正确的IP地址、子网掩码、网关和DNS服务器地址。

2024-08-16

在Linux下设置定时任务常见的方法有以下三种:

  1. 使用cron

    cron是Linux下的定时任务工具,可以通过crontab命令进行管理。

例如,要每天早上5点清空/tmp目录下的所有文件,可以这样设置:




0 5 * * * /bin/rm -rf /tmp/*
  1. 使用anacron

    anacroncron的补充工具,主要用于处理那些在系统关闭时间过长导致未能执行的任务。

例如,要每天执行一次脚本/path/to/script.sh




0 0 * * * /path/to/script.sh
  1. 使用at命令:

    at命令用于设置一次性定时任务。

例如,要在明天上午9点执行脚本/path/to/script.sh




at -f /path/to/script.sh 9 tomorrow

以上是设置定时任务的三种常见方法,具体使用哪种取决于你的需求和环境配置。

2024-08-16

天猫客户端是奇安信天猫安全监控系统的一部分,用于在Linux服务器上部署天猫监控客户端。以下是部署过程的简化版本:

  1. 确保系统满足安装要求(如有必要,更新系统)。
  2. 下载天猫客户端安装包。
  3. 安装依赖库(如果有必要)。
  4. 解压安装包并编译安装。
  5. 配置客户端并启动服务。

以下是一个简化的部署脚本示例:




#!/bin/bash
 
# 安装依赖
yum install -y gcc gcc-c++ make zlib-devel openssl-devel
 
# 下载天猫客户端安装包
wget http://update.tendata.com/highgo/TencentAgent_Linux64_V3.0.0.tar.gz
 
# 解压安装包
tar zxvf TencentAgent_Linux64_V3.0.0.tar.gz
 
# 编译安装
cd TencentAgent_Linux64_V3.0.0 && make
 
# 配置客户端
cd ../ && cp -a TencentAgent_Linux64_V3.0.0 /usr/local/TencentAgent
 
# 创建配置文件目录
mkdir /etc/TencentAgent
 
# 复制配置文件模板
cp /usr/local/TencentAgent/conf/tencent.conf /etc/TencentAgent/tencent.conf.default
 
# 修改配置文件(根据实际情况配置)
sed -i 's/^UserKernel.*/UserKernel = 1/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^PassWord.*/PassWord = "your_password"/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^LocalIP.*/LocalIP = "your_server_ip"/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^LocalHostName.*/LocalHostName = "your_server_hostname"/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^ServerPort.*/ServerPort = 8700/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^BackDoorPort.*/BackDoorPort = 9700/g' /etc/TencentAgent/tencent.conf.default
sed -i 's/^ServerIP.*/ServerIP = "tiankong_server_ip"/g' /etc/TencentAgent/tencent.conf.default
 
# 启动客户端
/usr/local/TencentAgent/start.sh

在实际部署时,需要根据实际情况修改配置文件中的服务器IP、密码、主机名等信息。此脚本提供了从下载安装包到配置启动的完整流程,便于快速部署。

2024-08-16

在Linux中,可以使用chmod命令来修改文件权限。

基本语法如下:




chmod [options] mode file

其中mode可以是数字形式的权限表示,例如644代表所有者有读写权限,组用户和其他用户只有读权限;或者是以u(用户/所有者)、g(组)、o(其他)、a(所有人,包括u、g、o)开头的符号性权限表示。

例如:

  • 将文件file.txt的权限设置为所有人都有读写权限:

    
    
    
    chmod 666 file.txt

    或者

    
    
    
    chmod u=rw,g=rw,o=rw file.txt
  • 给所有者添加执行权限:

    
    
    
    chmod u+x file.txt
  • 去除组用户的写权限:

    
    
    
    chmod g-w file.txt
  • 给其他用户设置读权限:

    
    
    
    chmod o=r file.txt
  • 递归地给一个目录及其所有子目录和文件设置权限:

    
    
    
    chmod -R 755 directory_name

确保你有足够的权限去修改文件权限,通常需要超级用户权限才能修改其他用户文件的权限。

2024-08-16

在Linux aarch64架构上,您可以通过以下步骤来安装Redis:

  1. 下载Redis源码包:

    您可以从Redis官网下载与您的系统架构相匹配的源码包。如果您是在线状态,可以直接使用wgetcurl下载。

  2. 解压源码包:

    
    
    
    tar xzf redis-VERSION.tar.gz
  3. 编译Redis:

    进入解压后的Redis目录,编译源码:

    
    
    
    cd redis-VERSION
    make
  4. 安装Redis:

    
    
    
    make install
  5. (可选)配置Redis:

    您可以复制redis.conf文件到一个合适的位置进行配置:

    
    
    
    cp redis.conf /etc/redis.conf
  6. 启动Redis服务:

    直接运行redis-server命令:

    
    
    
    redis-server /etc/redis.conf

如果您需要离线安装,您需要将编译所需的依赖库和Redis源码包带到目标机器上进行安装。

离线安装步骤:

  • 将编译Redis所需的依赖库和Redis源码包通过USB设备或其他方式传输到目标机器。
  • 在目标机器上安装这些依赖库。
  • 按照上述步骤解压、编译和安装Redis。

请注意,您需要确保所有依赖库都与您的系统架构兼容,并且已经预先安装在离线环境中。

2024-08-16

在Linux 8.0上安装Oracle 11.2.0.4的步骤如下:

  1. 系统要求:

    • 至少2GB物理内存
    • 至少400MB的交换空间
    • 至少3GB可用磁盘空间
  2. 下载Oracle 11.2.0.4的安装包。
  3. 安装必要的依赖包:

    
    
    
    sudo yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat
  4. 创建Oracle用户和组:

    
    
    
    sudo groupadd oinstall
    sudo groupadd dba
    sudo useradd -g oinstall -G dba oracle
    sudo passwd oracle
  5. 设置Oracle环境变量:

    编辑Oracle用户的.bash_profile文件,添加以下内容:

    
    
    
    export ORACLE_BASE=/home/oracle/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=ORCL
    export PATH=$PATH:$ORACLE_HOME/bin
  6. 创建相关目录并修改权限:

    
    
    
    sudo mkdir -p /home/oracle/app/oracle
    sudo chown -R oracle:oinstall /home/oracle/app/oracle
    sudo chmod -R 775 /home/oracle/app/oracle
  7. 使用Oracle用户登录,解压Oracle安装包并运行安装程序:

    
    
    
    unzip -q oracle-database-11g-linux-x86-64.zip
    cd database
    ./runInstaller
  8. 在图形化安装向导中按照提示进行安装。
  9. 安装完成后,运行Oracle配置脚本:

    
    
    
    sudo su - oracle
    cd $ORACLE_HOME/root.sh
  10. 最后,编辑/etc/sysctl.conf文件,添加以下内容以调整系统参数:

    
    
    
    fs.file-max = 6815744
    kernel.shmmax = 物理内存的一半
    kernel.shmall = 物理内存 / 页大小
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default = 262144
    net.core.rmem_max = 2097152
    net.core.wmem_default = 262144
    net.core.wmem_max = 2097152
  11. 使更改生效:

    
    
    
    sudo sysctl -p
  12. 配置Oracle的环境变量,编辑/home/oracle/.bashrc,添加:

    
    
    
    export ORACLE_BASE=/home/oracle/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=ORCL
    export PATH=$PATH:$ORACLE_HOME/bin
  13. 重新登录Oracle用户或者重新加载环境变量:

    
    
    
    source ~/.bashrc
  14. 测试Oracle是否安装成功: