☰
2310月问题描述
2026/10/10 8:01:16 网站建设 项目流程

apt包管理


修改apt目录,不存在apt.conf文件,但是存在apt.conf.d目录,如何修改apt的安装目录

apt-get命令是 Ubuntu 系统中的包管理工具,可以用来安装、卸载包,也可以用来升级包,还可以用来把系统升级到新的版本。

  • 语法格式:
apt-get [options] command
  • 配置文件:

早期 apt-get 默认的配置文件为 /etc/apt/apt.conf,但是当前的 Ubuntu 系统中默认没有这个文件。

如果 /etc/apt/apt.conf 文件存在,apt-get 仍然会读取它。但现在的设计思路是把配置文件分隔后放置在 /etc/apt/apt.conf.d 目录下,这样更容易管理。

  • 查看系统的更新记录

日志文件 /var/log/apt/history.log 记录了系统的更新历史记录。通过它可以查看所有通过 apt 命令执行的安装、升级、删除记录:

  • 官方文档:https://debian-handbook.info/browse/zh-CN/stable/sect.apt-get.html

  • 如果你想改变APT的安装目录(也就是改变软件包被解压和安装的地方)

    需要明白APT默认会安装软件到系统目录,例如/usr/、/lib/等。要更改这些设置是相当复杂的,因为它会影响系统的核心部分。然而,如果你只是想改变APT的缓存目录(也就是.deb文件被下载的地方),这是可以做到的。

dell@dell-Precision-3630-Tower mkdir/nvme/apt-archives-deb dell@dell-Precision-3630-Tower  /etc/apt/apt.conf.d sudovim./99custom Dir::Cache::Archives"/nvme/apt-archives-deb/";

扩展\.deb文件的缓存

APT 在/var/cache/apt/archives/目录中保存每个下载的.deb文件的副本。在频繁更新的情况下,该目录下每个软件包的数个版本可能会占用大量磁盘空间;您应当经常整理它们。可以使用如下两个命令:apt-get clean完全清空整个目录;apt-get autoclean仅移除不会再下载的软件包(因为它们已从 Debian 镜像中消失)和明显无用的软件包(配置参数APT::Clean-Installed可以阻止移除安装中的.deb文件)。

linux根目录空间太小需要重装并保留原有数据和环境


参考链接:https://blog.csdn.net/qq_43289711/article/details/116159418

根据别人所说,好像可以保留数据,环境,软件和编译环境

感觉重点都在与备份/home/dell,/etc,/nvme,/usr,/opt

利用g进行golang多版本管理


参考链接:

https://ytool.cloud/golang/g.html

dell@dell-Precision-3630-Tower  ~ unsetGOROOT dell@dell-Precision-3630-Tower  ~ unsetGOBIN dell@dell-Precision-3630-Tower  ~  goenvGO111MODULE="on"GOARCH="amd64"GOBIN=""GOCACHE="/home/dell/.cache/go-build"GOENV="/home/dell/.config/go/env"GOEXE=""GOFLAGS=""GOHOSTARCH="amd64"GOHOSTOS="linux"GONOPROXY=""GONOSUMDB=""GOOS="linux"GOPATH="/nvme/go"GOPRIVATE=""GOPROXY="https://goproxy.cn,direct"GOROOT="/usr/local/go"GOSUMDB="sum.golang.org"GOTMPDIR=""GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"GCCGO="gccgo"AR="ar"CC="gcc"CXX="g++"CGO_ENABLED="1"GOMOD="/dev/null"CGO_CFLAGS="-g -O2"CGO_CPPFLAGS=""CGO_CXXFLAGS="-g -O2"CGO_FFLAGS="-g -O2"CGO_LDFLAGS="-g -O2"PKG_CONFIG="pkg-config"GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build837690482=/tmp/go-build -gno-record-gcc-switches"

Go 环境变量如下:

  • GOROOT=/usr/local/go: 指明 Go 的安装路径。
  • GOPATH=/nvme/go: 指明你的 Go 项目/工作路径。
  • GOBIN是空的:不单独设置二进制文件路径,将使用GOPATH/bin。
  • GOPROXY=https://goproxy.cn,direct: 你使用的 Go module 代理。

无法切换golang版本的原因的是因为/etc/profile中写明了export PATH=$PATH:/usr/local/go/bin

安装golang

参考链接

https://cloud.tencent.com/developer/article/1623121

wget-chttps://dl.google.com/go/go1.14.2.linux-amd64.tar.gz-O-|sudotar-xz-C/usr/local

通过将 Go 目录添加到$PATH环境变量,系统将会知道在哪里可以找到 Go 可执行文件。

这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装):

exportPATH=$PATH:/usr/local/go/binsource~/.profile

通过打印 Go 版本号,验证安装过程。

go version

ubuntu环境配置文件


参考链接:

https://www.jianshu.com/p/b16f9fe441b2

用户级别配置文件

  • .bashrc

    该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

  • .bash_profile

  • .zshrc

  • ~/.profile

    在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

系统级别配置文件

  • /etc/environment

    在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。

  • /etc/profile

    在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

  • /etc/bash.bashrc

  • /etc/zsh/zshrc

1. 用户主目录下的.profile或.bashrc文件(推荐)

登录到你的用户(非root),在终端输入:
$ sudo gedit ~/.profile(or .bashrc)
可以在此文件末尾加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
保存文件,注销再登录,变量生效。
该方式添加的变量只对当前用户有效。

2. 系统目录下的profile文件(谨慎)

在系统的etc目录下,有一个profile文件,编辑该文件:
$ sudo gedit /etc/profile
在最后加入PATH的设置如下:
export PATH=”$PATH:your path1:your path2 ...”
该文件编辑保存后,重启系统,变量生效。
该方式添加的变量对所有的用户都有效。

3. 系统目录下的 environment 文件(谨慎)

在系统的etc目录下,有一个environment文件,编辑该文件:
$ sudo gedit /etc/environment
找到以下的 PATH 变量:
PATH="<......>"
修改该 PATH 变量,在其中加入自己的path即可,例如:
PATH="<......>:your path1:your path2 …"
各个path之间用冒号分割。该文件也是重启生效,影响所有用户。
注意这里不是添加export PATH=… 。

llvm编译安装


  • 查看llvm(包括clang等项目)

    sudoapt-getinstallninja-build dell@dell-Precision-3630-Tower  /nvme/llvm-project   main  dpkg-l|grepbuild-essential ii build-essential12.8ubuntu1.1 amd64 Informational list of build-essential packagesgitclone--depth1https://github.com/llvm/llvm-project.git
  • 编译和构建llvm和clang

    cdllvm-project#cmake -S llvm -B build -G <generator> [options]dell@dell-Precision-3630-Tower  /nvme/llvm-project   main  cmake-Sllvm-Bbuild-GNinja-DCMAKE_BUILD_TYPE="Debug"-DLLVM_ENABLE_PROJECTS="clang"-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"-DCMAKE_INSTALL_PREFIX="/nvme/compile-local"#-S llvm源代码路径#-B build制定了构建目录的路径,在这个目录下 CMake 将生成所有的构建文件。如果这个目录不存在,CMake 将尝试创建它。-- The C compiler identification is GNU9.4.0 -- The CXX compiler identification is GNU9.4.0 -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/cc -- Detecting C compiler ABI info -- Detecting C compiler ABI info -done-- Checkforworking C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features -done-- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info -done-- Checkforworking CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features -done-- bolt project is disabled -- clang project is enabled -- clang-tools-extra project is disabled -- compiler-rt project is disabled -- cross-project-tests project is disabled -- libc project is disabled -- libclc project is disabled -- lld project is disabled -- lldb project is disabled -- mlir project is disabled -- openmp project is disabled -- polly project is disabled -- pstl project is disabled -- flang project is disabled -- Found Python3: /usr/bin/python3.8(found suitable version"3.8.10", minimum required is"3.6")found components: Interpreter -- Lookingfordlfcn.h............-- Performing Test HAVE_STEADY_CLOCK -- Performing Test HAVE_STEADY_CLOCK -- Performing Test HAVE_STEADY_CLOCK -- success -- Configuringdone-- Generatingdone-- Build files have been written to: /nvme/llvm-project/build#error[4398/4889]Linking CXX executable bin/clang-scan-deps FAILED: bin/clang-scan-deps:&&/usr/bin/c++-fPIC-fno-semantic-interposition -fvisibility-inlines-hidden-Werror=date-time -fno-lifetime-dse-Wall-Wextra-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers-pedantic-Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -fno-common -Woverloaded-virtual -fno-strict-aliasing-g-Wl,-rpath-link,/nvme/llvm-project/build/./lib tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/ClangScanDeps.cpp.o tools/clang/tools/clang-scan-deps/CMakeFiles/clang-scan-deps.dir/clang-scan-deps-driver.cpp.o-obin/clang-scan-deps -Wl,-rpath,"\$ORIGIN/../lib:"lib/libLLVMCore.a lib/libLLVMOption.a lib/libLLVMSupport.a lib/libLLVMTargetParser.a-lpthreadlib/libclangAST.a lib/libclangBasic.a lib/libclangDependencyScanning.a lib/libclangDriver.a lib/libclangFrontend.a lib/libclangLex.a lib/libclangSerialization.a lib/libclangTooling.a lib/libclangFormat.a lib/libclangToolingInclusions.a lib/libclangToolingCore.a lib/libclangRewrite.a lib/libclangCodeGen.a lib/libclangFrontend.a lib/libclangDriver.a lib/libLLVMWindowsDriver.a lib/libLLVMOption.a lib/libclangParse.a lib/libclangSerialization.a lib/libclangSema.a lib/libclangEdit.a lib/libclangSupport.a lib/libclangAnalysis.a lib/libclangASTMatchers.a lib/libclangAST.a lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCoverage.a lib/libLLVMFrontendHLSL.a lib/libLLVMLTO.a lib/libLLVMExtensions.a lib/libLLVMAArch64CodeGen.a lib/libLLVMAArch64AsmParser.a lib/libLLVMAArch64Disassembler.a lib/libLLVMAArch64Desc.a lib/libLLVMAArch64Info.a lib/libLLVMAArch64Utils.a lib/libLLVMAMDGPUCodeGen.a lib/libLLVMPasses.a lib/libLLVMCoroutines.a lib/libLLVMIRPrinter.a lib/libLLVMMIRParser.a lib/libLLVMAMDGPUAsmParser.a lib/libLLVMAMDGPUDisassembler.a lib/libLLVMAMDGPUDesc.a lib/libLLVMAMDGPUInfo.a lib/libLLVMAMDGPUUtils.a lib/libLLVMARMCodeGen.a lib/libLLVMARMAsmParser.a lib/libLLVMARMDisassembler.a lib/libLLVMARMDesc.a lib/libLLVMARMInfo.a lib/libLLVMARMUtils.a lib/libLLVMAVRCodeGen.a lib/libLLVMAVRAsmParser.a lib/libLLVMAVRDesc.a lib/libLLVMAVRDisassembler.a lib/libLLVMAVRInfo.a lib/libLLVMBPFCodeGen.a lib/libLLVMBPFAsmParser.a lib/libLLVMBPFDesc.a lib/libLLVMBPFDisassembler.a lib/libLLVMBPFInfo.a lib/libLLVMHexagonCodeGen.a lib/libLLVMHexagonAsmParser.a lib/libLLVMHexagonDisassembler.a lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiCodeGen.a lib/libLLVMLanaiAsmParser.a lib/libLLVMLanaiDisassembler.a lib/libLLVMLanaiDesc.a lib/libLLVMLanaiInfo.a lib/libLLVMLoongArchCodeGen.a lib/libLLVMLoongArchAsmParser.a lib/libLLVMLoongArchDisassembler.a lib/libLLVMLoongArchDesc.a lib/libLLVMLoongArchInfo.a lib/libLLVMMipsCodeGen.a lib/libLLVMMipsAsmParser.a lib/libLLVMMipsDesc.a lib/libLLVMMipsDisassembler.a lib/libLLVMMipsInfo.a lib/libLLVMMSP430CodeGen.a lib/libLLVMMSP430AsmParser.a lib/libLLVMMSP430Desc.a lib/libLLVMMSP430Disassembler.a lib/libLLVMMSP430Info.a lib/libLLVMNVPTXCodeGen.a lib/libLLVMNVPTXDesc.a lib/libLLVMNVPTXInfo.a lib/libLLVMPowerPCCodeGen.a lib/libLLVMPowerPCAsmParser.a lib/libLLVMPowerPCDesc.a lib/libLLVMPowerPCDisassembler.a lib/libLLVMPowerPCInfo.a lib/libLLVMRISCVCodeGen.a lib/libLLVMipo.a lib/libLLVMFrontendOpenMP.a lib/libLLVMLinker.a lib/libLLVMVectorize.a lib/libLLVMRISCVAsmParser.a lib/libLLVMRISCVDisassembler.a lib/libLLVMRISCVDesc.a lib/libLLVMRISCVInfo.a lib/libLLVMSparcCodeGen.a lib/libLLVMSparcAsmParser.a lib/libLLVMSparcDesc.a lib/libLLVMSparcDisassembler.a lib/libLLVMSparcInfo.a lib/libLLVMSystemZCodeGen.a lib/libLLVMSystemZAsmParser.a lib/libLLVMSystemZDisassembler.a lib/libLLVMSystemZDesc.a lib/libLLVMSystemZInfo.a lib/libLLVMVECodeGen.a lib/libLLVMVEAsmParser.a lib/libLLVMVEDesc.a lib/libLLVMVEDisassembler.a lib/libLLVMVEInfo.a lib/libLLVMWebAssemblyCodeGen.a lib/libLLVMWebAssemblyAsmParser.a lib/libLLVMWebAssemblyDisassembler.a lib/libLLVMWebAssemblyUtils.a lib/libLLVMWebAssemblyDesc.a lib/libLLVMWebAssemblyInfo.a lib/libLLVMX86CodeGen.a lib/libLLVMInstrumentation.a lib/libLLVMCFGuard.a lib/libLLVMGlobalISel.a lib/libLLVMX86AsmParser.a lib/libLLVMX86Desc.a lib/libLLVMX86Disassembler.a lib/libLLVMX86Info.a lib/libLLVMXCoreCodeGen.a lib/libLLVMAsmPrinter.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMScalarOpts.a lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a lib/libLLVMBitWriter.a lib/libLLVMObjCARCOpts.a lib/libLLVMTransformUtils.a lib/libLLVMTarget.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a lib/libLLVMSymbolize.a lib/libLLVMDebugInfoPDB.a lib/libLLVMDebugInfoMSF.a lib/libLLVMDebugInfoBTF.a lib/libLLVMDebugInfoDWARF.a lib/libLLVMObject.a lib/libLLVMIRReader.a lib/libLLVMBitReader.a lib/libLLVMAsmParser.a lib/libLLVMCore.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a lib/libLLVMTextAPI.a lib/libLLVMXCoreDesc.a lib/libLLVMXCoreDisassembler.a lib/libLLVMCodeGenTypes.a lib/libLLVMMCDisassembler.a lib/libLLVMXCoreInfo.a lib/libLLVMMC.a lib/libLLVMBinaryFormat.a lib/libLLVMTargetParser.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMSupport.a lib/libLLVMDemangle.a-lrt-ldl-lpthread-lm/usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libtinfo.so&&:collect2: fatal error: ld terminated with signal9[已杀死]compilation terminated.[4407/4889]Linking CXX shared module lib/SampleAnalyzerPlugin.so ninja: build stopped: subcommand failed. 因为内存不够,所以改为编译release#默认安装路径是/usr/local,clang的路径是/usr/local/bin#本次安装路径是/nvme/compile-local/bindell@dell-Precision-3630-Tower  /nvme/compile-local/bin  ./clang-vclang version18.0.0(https://github.com/llvm/llvm-project.git 1482106c9960300e729b1a58e5e25b6ac1c150ba)Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /nvme/compile-local/bin/. Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9 Candidate multilib:.;@m64 Selected multilib:.;@m64 Found CUDA installation: /usr/local/cuda, version11.8dell@dell-Precision-3630-Tower  /nvme/compile-local/bin  ./llvm-as--versionLLVM(http://llvm.org/): LLVM version18.0.0git Optimized build. dell@dell-Precision-3630-Tower  /nvme/compile-local/bin sudovim~/.zshrc[sudo]dell 的密码: 对不起,请重试。[sudo]dell 的密码:exportPATH=$PATH:/nvme/compile-local/bin dell@dell-Precision-3630-Tower  /nvme/compile-local/bin source~/.zshrc

增加swap空间(2GB-20GB)


参考链接:

https://blog.csdn.net/Vin_tt/article/details/110421022

方法一:永久增加交换空间sudomkdir/nvme/swapfilecd/nvme/swapfile#使用dd创建一个20GB的交换文件:#注意:1GB = 1,048,576KB。因此,20GB = 20 * 1,048,576KB = 20,971,520KB。sudoddif=/dev/zeroof=swapbs=1024count=20971520#格式化为交换分区:sudomkswap-fswap#启用交换文件:sudoswaponswap#使交换文件在启动时自动挂载:echo'/nvme/swapfile/swap none swap sw 0 0'|sudotee-a/etc/fstab#如果/目录(根目录)下已经存在一个swapfile,并且你还希望使用/nvme/swapfile/swap,你可以同时启用两个交换文件。操作系统会管理多个交换空间,并根据需要在它们之间分配页面。#要同时使用两个交换文件#确保/etc/fstab中有以下两行内容(每个交换文件一行):/swapfile none swap sw00/nvme/swapfile/swap none swap sw00#可选:调整交换空间的优先级:/swapfile none swap sw,pri=1000/nvme/swapfile/swap none swap sw,pri=2000#上述设置中,/nvme/swapfile/swap的优先级为20,而根目录下的swapfile的优先级为10。因此,/nvme/swapfile/swap会更优先地被使用。#方法二:临时增加#你可以在编译时创建并启用交换空间。如果你的系统在编译大型项目(例如LLVM、Linux内核等)时因内存不足而遇到问题,临时增加交换空间可能会帮助解决这个问题#创建交换文件sudoddif=/dev/zeroof=/swapfile_tempbs=1Mcount=4096status=progress#上述命令将创建一个大小为4GB的交换文件。你可以根据需要调整count值来更改交换文件的大小。#设置文件权限:sudochmod600/swapfile_temp#初始化交换文件:sudomkswap/swapfile_temp#启用交换文件:sudoswapon/swapfile_temp#执行编译任务:#在此时,你可以开始你的编译任务。#完成编译后,禁用并删除交换文件:#一旦编译任务完成,为了回收磁盘空间和系统资源,你应该禁用并删除临时的交换文件:sudoswapoff /swapfile_tempsudorm/swapfile_temp#通过这种方法,你可以根据需要临时增加交换空间来帮助编译任务,然后在任务完成后回收资源。不过,如果你经常需要额外的交换空间,考虑创建一个持久的交换空间可能更为合适。

GOPATH管理


GO有关目录 /usr/lib/go-1.19.bak/bin/go /usr/local/go/bin/go /home/dell/go /nvme/go

内网和外网ip


#内网 ✘ dell@dell-Precision-3630-Tower  /nvme/baum/git-project/milvus_compose  ifconfig

外网

百度ip地址

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询