百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

从0开始学习KVM-KVM学习笔记(4)- CentOS安装软件及开发工具

nanshan 2025-01-17 12:28 11 浏览 0 评论

从0开始学习KVM-KVM学习笔记(4)- CentOS安装软件及开发工具



CentOS更新系统时间

使用NTP更新系统时间

sudo yum update -y    # 更新软件包
sudo yum install -y ntp   # 安装ntp
sudo ntpdate cn.pool.ntp.org # 根据网络时间校正
sudo tzselect # 选择时区:5Asia->9 China->1->Beijing Time ->1 yes
sudo echo 'TZ='Asia/Shanghai'; export TZ' > ~/.profile # 时区信息写入配置文件
sudo hwclock -w  # 软件时间同步至硬件时间

24小时制设置

sudo mv /etc/localtime /etc/localtime.bak
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date # 查看当前时间
Mon Jan 13 15:31:14 CST 2025
# CentOS时间/日期/24小时制设置完毕

CentOS安装开发工具及常用软件

之前CentOS是最小化安装,系统并没有安装常用软件及开发工具,现在根据需要安装一些常用软件及工具。

安装一些常用软件和工具

sudo yum update -y
sudo yum install -y traceroute bind-utils net-tools git wget screen ntp clang cmake mlocate ctags    #安装一些下载工具及常用软件 

安装开发者工具Development Tools

sudo yum update -y    # 更新软件包
sudo yum groupinstall -y 'Development Tools' --setopt=group_package_types=mandatory,default,optional

# 此过程稍微有点长,视网络状态而定,请耐心等待安完成
# Complete!

命令格式及参数说明 setopt=group_package_types=mandatory,default,optional

该命令会从配置的软件仓库中下载并安装“Development Tools”软件包组中的所有软件包,包括必须的、默认的和可选的软件包。

  • sudo:以超级用户权限执行命令,因为安装软件包组通常需要管理员权限。
  • yum:调用 YUM 包管理器。
  • groupinstall:用于安装软件包组。
  • -y:自动回答“yes”,在安装过程中自动确认所有提示,无需人工干预。
  • 'Development Tools':要安装的软件包组的名称。这个组通常包含了一系列开发工具,如编译器(gcc、g++ 等)、调试器(gdb)、版本控制系统(git 等)等,用于软件开发。
  • --setopt=group_package_types=mandatory,default,optional
    • --setopt:用于设置 YUM 的选项。
    • group_package_types=mandatory,default,optional:指定要安装的软件包类型。
      • mandatory:必须安装的软件包,是软件包组的核心组件。
      • default:默认安装的软件包,通常是与核心组件紧密相关的常用工具。
      • optional:可选安装的软件包,提供额外的功能或工具,可以根据需要选择安装。

安装高版本gcc

GCC(GNU Compiler Collection)是一个功能强大的编译器集合,用于编译多种编程语言,包括 C、C++、Objective-C、Fortran、Ada 和 Go 等。

GCC 作为 Linux 系统中最重要的编译器之一,提供了丰富的功能和强大的性能,支持多种编程语言和平台,是开发者进行软件开发、调试和优化的必备工具。通过 GCC,开发者可以高效地编写、编译和调试代码,提高开发效率和代码质量。

gcc —-version    #查看当前gcc版本

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

CentOS7的SCL源在2024年6月30日停止维护了。 当scl源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云。

sudo yum install -y centos-release-scl    # 安装SCL源
sudo yum install -y centos-release-scl-rh   # # 安装SCL源
cd /etc/yum.repos.d/    # 进入yum源文件夹
sudo cp CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak   # 备份SCL源文件
sudo cp CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak   # # 备份SCL源文件
# CentOS7的SCL源在2024年6月30日停止维护了
# 当前scl源里面默认使用了centos官方的地址,无法连接,需要更换为阿里云。

更换SCL源为阿里云源

sudo vi /etc/yum.repos.d/CentOS-SCLo-scl.repo
将[centos-sclo-sclo]字段中的
# baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/ 修改为
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/
将[centos-sclo-sclo]字段中的
mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo修改为
# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
也就是将mirrotlist注释掉,不让它起作用

修改完毕后:wq保存退出

sudo vi /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
将将[centos-sclo-sclo-rh]字段中的
#baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/ 修改为
baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/

将[centos-sclo-sclo]字段中的
# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
也就是将mirrotlist注释掉,不让它起作用

修改完毕后:wq保存退出

sudo yum repolist && sudo yum clean all && sudo yum makecache
# 列出所有仓库&&清理所有缓存&&生成yum仓库缓存
sudo yum install -y devtoolset-8-toolchain    # 安装devtoolset-8-toolchain
sudo scl enable devtoolset-8 bash   # 启用devtoolset-8
sudo echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile    # 用户登录里启用devtoolset-8
sudo source /opt/rh/devtoolset-8/enable   # 立马启用devtoolset-8

gcc (GCC) 4.8.5升级到gcc (GCC) 8.3.1 ,gcc升级成功。

gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装openssl和openssl-devel

sudo yum install -y openssl openssl-devel

编译安装/升级cmake

在 Linux 系统中,CMake 是一个功能强大的跨平台自动化构建系统生成器,主要用于简化软件的构建过程。

使用源码编译安装cmake,先查看下系统自带的cmake版本信息:

cmake --version
cmake version 2.8.12.2
wget https://cmake.org/files/v3.21/cmake-3.21.5.tar.gz    # 从官网下载cmake源码
tar -zxvf cmake-3.21.5.tar.gz   # 解压源码(.tar.gz)到当前目录
cd cmake-3.21.5   # 进入cmake文件夹
su    # 切换到root用户
Password:     # 输入root密码,此处输入的密码不可见,输入完成后按回车键确认

./bootstrap   # 配置工具,用于生成适合当前系统的 Makefile
sudo make   # 根据 Makefile 中的规则编译项目。Makefile 是一个包含编译规则和依赖关系的文件,make 会读取这个文件并执行编译任务

# ==============以make的配置(`./bootstrap`)和编译(`make`)过程很长,要耐心等待完成===============
# [  0%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/ProcessUNIX.c.o
# [  10%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/Base64.c.o
# [  20%] Building C object Source/kwsys/CMakeFiles/cmsys.dir/EncodingC.c.o
# .....................  省略部份  .....................
# .....................  省略部份  .....................
# [100%] Building CXX object Source/kwsys/CMakeFiles/cmsys.dir/Glob.cxx.o
# [100%] Building CXX object Source/kwsys/CMakeFiles/cmsys.dir/RegularExpression.cxx.o
# [100%] Building CXX object Source/kwsys/CMakeFiles/cmsys.dir/SystemTools.cxx.o
# ========================================================================================

sudo make install   # 安装编译后的软件。这个命令会将编译生成的文件(如可执行文件、库文件、配置文件等)复制到指定的安装目录。

cmake 安装完成

cmake --version
cmake version 3.21.5

源代码编译安装Python3

Python 3 与 OpenSSL 之间存在紧密的依赖关系,Python 3 的 ssl 模块通过 OpenSSL 实现了 SSL/TLS 协议的支持,包括证书验证、加密算法和协议版本等。确保系统中安装了 OpenSSL 库,并正确配置证书路径,可以确保 Python 3 的 ssl 模块正常工作。安装Python3应先安装OpenSSL。

安装新版OpenSSL

openssl version   # 原openssl版本
OpenSSL 1.0.2k-fips  26 Jan 2017
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1o.tar.gz    # 下载最新版openssl
su    # 切换到root用户
tar -xzvf openssl-1.1.1o.tar.gz    # 解压包
cd openssl-1.1.1o    # 进入目录
mkdir /usr/local/openssl    # 建立安装目录
./config --prefix=/usr/local/openssl no-zlib --shared    # 配置安装路径参数等
make    # 编译
make install # 安装

配置新版OpenSSL

#备份原来的配置
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl/ /usr/include/openssl.bak


#配置新版本的链接
#======================================================
#将安装好的openssl的include软连到/usr/include
ln -s /usr/local/openssl/include/openssl /usr/include/openssl


#软链到升级后的libssl.so
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/local/lib64/libcrypto.so.1.1

#ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
#ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

#将安装好的openssl命令软连到/usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

修改系统配置

# 写入openssl库文件的搜索路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

# 使修改后的/etc/ld.so.conf生效
ldconfig -v

OpenSSL安装完成

openssl version   # 版本信息
OpenSSL 1.1.1o  3 May 2022

安装python3

CentOS7 自带的Python版本信息

python --version
Python 2.7.5
whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
ll /usr/bin/python*
lrwxrwxrwx. 1 root root    7 Jan  3 17:46 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root    9 Jan  3 17:46 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7144 Nov 15  2023 /usr/bin/python2.7

安装Python3必要的依赖包(软件/插件)

sudo yum install -y zlib* bzip2-devel libffi-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel xz-devel python-devel python-backports-lzma curl-devel

sudo yum install -y yum-utils    # 安装必要工具yum-utils ,功能是管理repository及扩展包的工具 (主要是针对repository)
sudo yum-builddep -y python    # 使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用该命令会自动处理

配置openssl环境变量,为编译安装Python3作准备

export LDFLAGS=" -L/usr/local/openssl/lib"   # 用于指定OpenSSL库文件的路径
export CPPFLAGS=" -I/usr/local/openssl/include"   # 用于指定OpenSSL头文件的路径
export PKG_CONFIG_PATH="/usr/local/openssl/lib/pkgconfig"   # # 用于指定OpenSSL配置文件的路径

下载Python3源码并编译安装

wget https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tgz   # 下载Python3.7.8源码
tar -zxvf Python-3.7.8.tgz    # 解压
sudo mkdir /usr/local/python3   # 建立安装目录
cd Python-3.7.8 
./configure --enable-shared --with-openssl=/usr/local/openssl --prefix=/usr/local/python3    # 配置python3源码

Configure 参数说明:

--prefix: 指定安装路径,否则安装过程中软件所需要的文件会复制到不同目录,删除、复制软件很不方便

--enable-optimizations: 可以提高 Python 代码 10%-20% 的运行速度

--with-openssl: 安装 pip 所需要的 ssl

这时候需要检查一下最后的ssl配置是否正常

make    # 编译源码
sudo make install   # 安装,写入系统文件需要使用sudo权限

配置Python3

sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# 修改环境变量 ~/.bash_profile
PATH=/usr/local/python3/bin:$PATH:$HOME/bin
export PATH
## 使其生效
source ~/.bash_profile

sudo cp /usr/local/python3/lib/libpython3.7m.so.1.0 /usr/lib64

验证Python3及ssl安装成功,系统保留了Python2.5,也安装了Python3

python -V
Python 2.7.5

python3 -V
Python 3.7.8
python3
Python 3.7.8 (default, Jan 14 2025, 13:12:59)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>>
Ctrl+D    # 退出

安装VIM

Vim 是一个功能强大的文本编辑器,广泛用于 Linux 和其他 Unix-like 系统中。它以其高效的文本编辑能力和丰富的插件生态系统而闻名。Vim 适合编写各种类型的文本文件,包括源代码、配置文件和普通文本。

Vim是一个类似于Vi的高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个。

源码编译安装最新版VIM

删除旧的vim

rpm -qa|grep vim
yum remove vim-* -y
yum remove vim-mini*
wget https://github.com/vim/vim/archive/refs/tags/v9.1.1012.tar.gz    # 下载最新版vim
tar -xzvf v9.1.1012.tar.gz    # 解压vim
cd vim-9.1.1012/src
./configure --with-features=huge --enable-cscope --enable-fontset --enable-pythoninterp=yes --with-python-config-dir=/usr/lib64/python2.7/config --enable-python3interp=yes --with-python3-config-dir=/usr/local/python3/lib/python3.7/config-3.7m-x86_64-linux-gnu  --prefix=/usr/local/vim
make 
sudo make install

## 创建链接
ln -s /usr/local/vim/bin/vim /usr/bin/vim

查看VIM版本是否支持python

vim --version | grep python
+cmdline_hist      +langmap           '+python/dyn'     +viminfo
+cmdline_info      +libcall           '+python3/dyn'      +virtualedit

Note:

./configure 后面的配置选项 需要啥自己添加

--with-features=huge:支持最大特性

--enable-multibyte:打开多字节支持,可以在Vim中输入中文

--enable-rubyinterp:打开对ruby编写的插件的支持

--enable-pythoninterp:打开对python编写的插件的支持

--with-python-config-dir=
/usr/lib64/python2.7/config 指定python路径(此处是腾讯云CentOS7.4的python2路径)

--enable-python3interp:打开对python3编写的插件的支持

--with-python-config-dir=
/usr/local/python3.7/lib/python3.7/config-3.7m-x86_64-linux-gnu 指定python3路径(此处是我指定位置安装python3后的路径,CentOS编译安装python3.7.0)

--enable-perlinterp:打开对perl编写的插件的支持

--enable-luainterp:打开对lua编写的插件的支持

--enable-gui=gtk2:gtk2支持,也可以使用gnome,表示生成gvim

--enable-cscope:打开对cscope的支持

--prefix=/usr/local/vim:指定将要安装到的路径(自行创建)


安装配置vim插件

之前在另一台CentOS上安装过vim插件并配置好vimrc(vim的配置文件),为节省时间直接将其打包并上传到新的服务器。

安装的插件有:

  • Plugin 'gmarik/Vundle.vim' " vim插件管理器Vundle
  • Plugin 'scrooloose/nerdtree' " vim目录树插件NERDTree,设置<F2>为快捷键
  • Plugin 'majutsushi/tagbar' " vim插件Tagbar 需Ctags支持,设置<F4>为快捷键
  • Plugin 'Valloric/YouCompleteMe' " vim自动补全插件YouCompleteMe
  • Plugin 'vim-airline/vim-airline' " vim状态栏插件air-line
  • Plugin 'vim-airline/vim-airline-themes' " vim状态栏插件air-line
  • Plugin 'kien/ctrlp.vim' " vim插件文件跳转ctrlp
  • Plugin 'vim-scripts/indentpython.vim' " 自动缩进python代码
  • Plugin 'scrooloose/syntastic' " 代码语法检查插件
  • Plugin 'Raimondi/delimitMate' " 成对生成(),{},[]

在客户机上操作,上传已安装的插件及字体文件

scp vim-linux-x86_64.tar.gz xiaoqiang@10.91.19.38:/tmp    # 将打包好的vim插件/配置文件上传到服务器的/tmp下
vim-linux-x86_64.tar.gz                       100%  298MB 110.2MB/s   00:02   # 上传完成
scp powerline_fontrs.tar.gz xiaoqiang@10.91.19.38:/tmp    # # 将打包好的字体文件上传到服务器的/tmp下
powerline_fontrs.tar.gz                       100%   31MB 101.1MB/s   00:00   # 上传完成

在服务器上操作,安装/配置 vim插件

# 先给服务器改个名,有多台CentOS机器,容易混淆
sudo hostnamectl set-hostname kvm-server
# 改完名后重启下
sudo reboot

# 将上传到服务/tmp目录下的插件文件和字体文件移动到当前目录下,当前目录是~
[xiaoqiang@kvm-server ~]$ mv /tmp/vim-linux-x86_64.tar.gz .
[xiaoqiang@kvm-server ~]$ mv /tmp/powerline_fontrs.tar.gz .

tar -xzvf vim-linux-x86_64.tar.gz   # 解压后的目录是.vim,在Linux中带点的目录/文件是隐藏的,不可见
ll -ah
total 430M
drwx------.  8 xiaoqiang xiaoqiang 4.0K Jan 14 15:02 .
drwxr-xr-x.  3 root      root        23 Jan  8 16:28 ..
drwx------.  6 xiaoqiang xiaoqiang   74 Dec  6 14:33 .vim

chmod 755 .vim    # 给.vim加个权限

mv .vim/vimrc ~/.vimrc    # 移动vim配置文件vimrc到当前用户目录下,注意那个点
vim ~/.vimrc    # 编辑配置文件
:PluginInstall  # 安装插件,看到vim框左下角显示Done!,表示插件安装完成
:qa   # 退出vim

再次打开vim时YouCompleteMe自动补全插件报错,重新安装下YouCompleteMe插件

cd ~/.vim/bundle/YouCompleteMe/   # 进入目录
python3 ./install.py --clang-completer    # 编译YCM, 需要C家族语言的语义支持

vim报错:

The ycmd server SHUT DOWN (restart with ' :YcmRestartServer')..... mToggleLogs ycmd_60834_stderr_¡317_s9q.log' to check the logs.

# 在vim中NORMAL模式下按:键,输入YcmRestartServer,重启ycm服务,检查出报错信息的log文件,log保存在/tmp目录下
# 如这里提示log文件是ycmd_60834_stderr_¡317_s9q.log
# 打开log文件,查看信息
cat /tmp/ycmd_60834_stderr_i317_s9q.log

OSError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/xiaoqiang/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/clang/lib/libclang.so.11)

GLIBCXX_3.4.20 文件没找到,出现错误信息 GLIBCXX_3.4.20 not found 通常是因为系统中的 libstdc++ 库版本过低,缺少所需的 GLIBCXX_3.4.20 版本。接下来就升级该库文件,可以通过安装gcc-11.2.0解决,但是太麻烦,直接下载个libstdc++.so.6.0.24来处理。

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX    # 检查系统中已安装的 GLIBCXX 版本

'GLIBCXX_3.4.18'
'GLIBCXX_3.4.19'
GLIBCXX_DEBUG_MESSAGE_LENGTH

下载个libstdc++.so.6.0.24并上传到服务上

scp libstdc++.so.6.0.24 xiaoqiang@10.91.19.38:/tmp
libstdc++.so.6.0.24                           100%   11MB  21.3MB/s   00:00
su    # 服务器切换到root用户

ll libstdc++.so.6.0.24    # 查看libstdc++.so.6.0.24权限
-rw-------. 1 xiaoqiang xiaoqiang 11616869 Jan 14 16:32 libstdc++.so.6.0.24

chown root:root libstdc++.so.6.0.24     # 更改文件的所有者和组为root
chmod 755 libstdc++.so.6.0.24   # 修改权限为755

ll libstdc++.so.6.0.24 
-rwxr-xr-x. 1 root root 11616869 Jan 14 16:32 libstdc++.so.6.0.24

cp libstdc++.so.6.0.24 /usr/lib64/    # 把文件复制到/usr/lib64

updatedb    # 更新locate数据库
locate libstdc++.so.6   # 查找 libstdc++.so.6 文件

ll libstdc*
lrwxrwxrwx. 1 root root       19 Jan  3 17:14 libstdc++.so.6 -> libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root   995840 Sep 30  2020 libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 11616869 Jan 14 16:43 libstdc++.so.6.0.24

mv libstdc++.so.6 libstdc++.so.6.bak    # 备份原来的软件连接文件
ln -sf libstdc++.so.6.0.24 libstdc++.so.6   # 重新建立新的libstdc++.so.6软连接

ll libstdc*     # 查看
lrwxrwxrwx. 1 root root       19 Jan 14 16:53 libstdc++.so.6 -> libstdc++.so.6.0.24
-rwxr-xr-x. 1 root root   995840 Sep 30  2020 libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 11616869 Jan 14 16:43 libstdc++.so.6.0.24
lrwxrwxrwx. 1 root root       19 Jan  3 17:14 libstdc++.so.6.bak -> libstdc++.so.6.0.19

strings  libstdc++.so.6 |grep GLIBC   # 确认glibcxx的版本
GLIBCXX_3.4
...... ......
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
...... ......
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

exit    # 退出root用户,回到普通用户(xiaoqiang)

vim ~/.vimrc    # Ymc未报错,编辑文件,ycm自动补全插件可用

附:chmod 更改权限

权限模式解释

  • 7:表示所有者(owner)的权限
    • 4:读权限(r)
    • 2:写权限(w)
    • 1:执行权限(x)
    • 7:读、写、执行权限(4 + 2 + 1 = 7)
  • 5:表示组(group)的权限
    • 4:读权限(r)
    • 1:执行权限(x)
    • 5:读、执行权限(4 + 1 = 5)
  • 5:表示其他用户(others)的权限
    • 4:读权限(r)
    • 1:执行权限(x)
    • 5:读、执行权限(4 + 1 = 5)

权限总结

  • 所有者:读、写、执行(7)
  • 组:读、执行(5)
  • 其他用户:读、执行(5)



相关推荐

Linux 的磁盘系统,和你了解的Windows差别很大

我的C盘去哪了?一个系统,如果没有存储,那么也就不能称之为系统。存储性是一个完整系统的重要组成部分。例如AWS最开始的服务就是S3(用来存储数据的云服务),足以见得存储对于一个应用平台是多么的重要。...

一文读懂 Linux 硬盘挂载:从问题到解决方案

各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作Linux系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道...

硬盘分区(硬盘分区格式)

 磁盘(硬盘)分区,可以分C、D、E等分区,大家可能都会用,会根据自已的需要确定所需的空间,但分区是如何工作的呢,内容如下。Windows中有3类:MBR分区:MasterBootRecord,也...

parted命令工具分区介绍(particle命令)

linux系统磁盘分区通常可以使用fdisk和parted命令,当分区大小小于2TB的时候,两种皆可以使用,当分区大于2TB的话,就需要用parted分区。以下介绍parted命令相关使用,以sdb为...

Linux 服务器上查看磁盘类型的方法

方法1:使用lsblk命令lsblk输出说明:TYPE列显示设备类型,如disk(物理磁盘)、part(分区)、rom(只读存储)等。NAME列显示设备名称(如sda、nvme0n1)。TR...

Linux分区命令fdisk和parted使用介绍

摘要:一般情况下,Linux分区都是选择fdisk工具,要求硬盘格式为MBR格式,能支持的最大分区空间为2T。但是目前在实际生产环境中使用的磁盘空间越来越大,呈TB级别增长;而常用的fdisk这个工具...

linux 分区原理与名词解释(linux操作系统中的分区类型)

分区的意义将磁盘分成几份,每份挂在到文件系统的那个目录在linux里的文件系统Ext2:早期的格式,不支持日志功能Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了Ext4:针对e...

linux 分区合并(linux合理分区)

查看虚拟机当前磁盘挂载情况fdisk-l选择磁盘fdisk/dev/sda查看磁盘分区情况p重新选择分区n选择主分区p保存w创建物理卷pvcreate/dev/sda3查看物理卷信息pvdi...

如何在 Linux 系统中永久禁用交换分区 ?

Linux操作系统中的交换分区或交换文件充当硬盘上的临时存储区域,当物理内存(RAM)满时,系统使用该存储区域。它用于交换较少使用的内存页,这样系统就不会因为运行应用程序而耗尽物理内存。随着技术的发...

Linux 如何知道硬盘已用多少空间、未用多少空间

刚出社会时,去了一家公司上班,老板为了省钱,买的服务器是低配的,硬盘大小只有40G,有一次网站突然不能访问了,排查半天才知道原来服务器的硬盘空间已用完,已无可用空间。第一步是查看硬盘的使用情况,第二步...

用Linux系统管理磁盘空间 就该这么来

要想充分有效的管理使用Linux系统中的存储空间,用户必须要做的就是双管齐下,一边扩充空间一边限制空间。不得不说的就是很多时候磁盘空间就像水资源,需节制水流。说到要如何实现限制空间就离不开使用LVM技...

Windows 11 磁盘怎么分区?(windows11磁盘怎么分区)

Windows11磁盘分区技术解析与操作指南:构建高效存储体系一、磁盘分区的技术本质与系统价值磁盘分区作为存储系统的基础架构,通过逻辑划分实现数据隔离与管理优化。Windows11采用NTF...

linux上创建多个文件分区,格式化为 ext2、ext3、ext4、XFS 文件

以下是在Linux系统上创建多个20GB文件分区并格式化为不同文件系统的分步指南:步骤1:创建基础文件(4个20GB文件)bash#创建4个20GB稀疏文件(实际占用空间随写入量增长)ddif=/...

救命的U盘低格哪家最强?(低格优盘)

周二时有位童鞋留言说U盘之前做过引导盘,现在格式化不了,用各种工具都不行,而且因为U盘厂商的关系,查不到U盘主控,无法量产恢复,特来求助。小编花了点时间特意弄坏一个U盘分区,终于试出方法了,特来分享一...

Linux 查看硬件磁盘存储大小和磁盘阵列(RAID)的组合方式

一、查看硬件磁盘存储大小查看所有磁盘信息:#lsblk该命令会列出所有磁盘(如/dev/sda、/dev/nvme0n1)及其分区和挂载点。查看磁盘总容量:fdisk-l#或parted-...

取消回复欢迎 发表评论: