Linux修改主机名修改hostname的方法

  1. 临时修改Linux主机名的方法 hostname newname 执行命令后发现没有变化。重新开终端即可显示,你也可以通过uname -n命令来查看当前的主机名。

  2. 永久修改Linux主机名的方法

  • 使用 hostnamectl 来改变主机名称
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@nebula3-01 ~]# hostnamectl
   Static hostname: nebula3-01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1d8987d66da0c7cd7960ca4e5aefe30f
           Boot ID: 717058195e934eb88f4631adf25ab163
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

[root@nebula-test02 ~]# hostnamectl set-hostname nebula3-02
[root@nebula-test02 ~]# hostnamectl
   Static hostname: nebula3-02
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1d8987d66da0c7cd7960ca4e5aefe30f
           Boot ID: 6b836dcf9c274ef48f334e6b53f8e296
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
[root@nebula-test02 ~]# 

退出后,重新登录即可

  • 通过修改/etc/hostname 文件,本质和上面一样
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@nebula-test03 ~]# hostnamectl
   Static hostname: nebula-test03.novalocal
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1d8987d66da0c7cd7960ca4e5aefe30f
           Boot ID: 683f9e34bce149659226bcdfc0dce6ed
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
[root@nebula-test03 ~]# cat /etc/hostname
nebula-test03.novalocal
[root@nebula-test03 ~]# echo "nebula3-03" > /etc/hostname

[root@nebula-test03 ~]# hostnamectl
   Static hostname: nebula3-03
Transient hostname: nebula-test03.novalocal
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 1d8987d66da0c7cd7960ca4e5aefe30f
           Boot ID: 683f9e34bce149659226bcdfc0dce6ed
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

通过机器名ping 通彼此

修改/etc/hosts 文件,添加 ip 域名 即可。 vim /etc/hosts

1
2
3
4
172.18.163.124 test-server-01
172.18.163.115 test-server-02
172.18.163.114 test-server-03
172.18.163.85  test-server-04

查看服务器是否为SSD

  • 方法一 判断cat /sys/block/*/queue/rotational 的返回值(其中*为你的硬盘设备名称,例如sda等等),如果返回1则表示磁盘可旋转,那么就是HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。

  • 方法二 lsblk -d -o name,rota 命令

1
2
3
[root@nebula3-04 ~]# lsblk -d -o name,rota
NAME ROTA
vda     1

划分分区并挂载磁盘

本操作以该场景为例,当云服务器挂载了一块新的数据盘时,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在“/mnt/sdc”下,并设置开机启动自动挂载。

  1. fdisk -l 显示信息
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[root@ecs-test-0001 ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000bcb4e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83886079    41942016   83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

表示当前的云服务器有两块磁盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘。

  1. 执行以下命令,进入fdisk分区工具,开始对新增数据盘执行分区操作。 fdisk 新增数据盘 以新挂载的数据盘“/dev/vdb”为例: fdisk /dev/vdb
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[root@ecs-test-0001 ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x38717fc1.

Command (m for help): 
  1. 输入“n”,按“Enter”,开始新建分区。
1
2
3
4
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

表示磁盘有两种分区类型:

  • “p”表示主分区。
  • “e”表示扩展分区。

磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。 磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。

  1. 以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。
1
2
Select (default p): p
Partition number (1-4, default 1): 

“Partition number”表示主分区编号,可以选择1-4。

  1. 以分区编号选择“1”为例,输入主分区编号“1”,按“Enter”。
1
2
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):

“First sector”表示起始磁柱值,可以选择2048-209715199,默认为2048。

  1. 以选择默认起始磁柱值2048为例,按“Enter” 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。
1
2
3
First sector (2048-209715199, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):

“Last sector”表示截止磁柱值,可以选择2048-209715199,默认为209715199。

  1. 以选择默认截止磁柱值209715199为例,按“Enter”。 系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。
1
2
3
4
5
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is set

Command (m for help):

表示分区完成,即为数据盘新建了1个分区。

  1. 输入“p”,按“Enter”,查看新建分区的详细信息。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Command (m for help): p

Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x38717fc1

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048   209715199   104856576   83  Linux

Command (m for help):

表示新建分区“/dev/vdb1”的详细信息。

  1. 输入“w”,按“Enter”,将分区结果写入分区表中。
1
2
3
4
5
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

表示分区创建完成。 如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。

  1. 执行partprobe命令,将新的分区表变更同步至操作系统。

  2. 执行mkfs -t ext4 /dev/vdb1命令,将新建分区文件系统设为系统所需格式。

  3. 执行mkdir 挂载目录 => mkdir /mnt/sdc 命令,新建挂载目录。

  4. 执行mount /dev/vdb1 /mnt/sdc命令,将新建分区挂载到12中创建的目录下

  5. 查看挂载结果 df -TH

1
2
3
4
5
6
7
8
9
[root@ecs-test-0001 ~]# df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/vda1      ext4       43G  1.9G   39G   5% /
devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs          tmpfs     2.0G  9.1M  2.0G   1% /run
tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs          tmpfs     398M     0  398M   0% /run/user/0
/dev/vdb1      ext4      106G   63M  101G   1% /mnt/sdc

表示新建分区“/dev/vdb1”已挂载至“/mnt/sdc”。

设置系统给服务Systemd

以前使用Ubuntu和CentOS,一般使用SysV init(就是以前使用的service)进行进程的开机自启和进程守护。 但是,现在更多地使用systemd来实现进程的管理。

Systemd

Systemd(系统管理守护进程),最开始以GNU GPL协议授权开发,现在已转为使用GNU LGPL协议。字母d是daemon的缩写 它取替并兼容传统的SysV init。事实上,CentOS和Debian,现在默认都是使用Systemd

CentOS 7开始预设并使用Systemd Ubuntu 15.04开始并预设使用Systemd

使用Systemd的优点:

  • 按需启动进程,减少系统资源消耗
  • 并行启动进程,提高系统启动速度

查看systemd和systemctl程序相关的目录:

1
2
3
4
[root@nebula3-01 node_exporter]# whereis systemd
systemd: /usr/lib/systemd /etc/systemd /usr/share/systemd /usr/share/man/man1/systemd.1.gz
[root@nebula3-01 node_exporter]# whereis systemctl
systemctl: /usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz

Systemctl

Unit

Systemd引入了一个核心配置:Unit(单元配置)。事实上,Systemd管理的每个进程,都是一个Unit。相当于任务块。一个有12种模式:

  • Service unit:系统服务
  • Target unit:多个Unit构成的一个组
  • Device Unit:硬件设备
  • Mount Unit:文件系统的挂载点
  • Automount Unit:自动挂载点
  • Path Unit:文件或路径
  • Scope Unit:不是由 Systemd 启动的外部进程
  • Slice Unit:进程组
  • Snapshot Unit:Systemd 快照,可以切回某个快照
  • Socket Unit:进程间通信的 socket
  • Swap Unit:swap 文件
  • Timer Unit:定时器

创建配置文件

如果我们要创建一个Unit服务,我们应该如何创建配置文件呢? 我们自己配置Unit服务(后续使用Systemctl进行启动和管理),可以配置到:

  • /usr/lib/systemd/system/:推荐地址。
  • /run/systemd/system/:系统执行过程中所产生的服务脚本,这些脚本的优先级比上面的高。
  • /etc/systemd/system/:管理员根据主机系统的需求所建立的执行脚本,优先级比上面的高。
  1. 创建编写配置文件 vim /usr/lib/systemd/system/node_exporter.service

新增

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[Unit]
Description=node_exporter
After=network.target
  
[Service]
User=root
Type=simple
ExecStart=/root/node_exporter/node_exporter
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

一些解释:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- Unit
   - Description,服务的描述
   - Documentation,文档介绍
   - After,该服务要在什么服务启动之后启动,比如Mysql需要在network和syslog启动之后再启动
- Install
   - WantedBy,值是一个或多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成的子目录中
   - RequiredBy,它的值是一个或多个Target,当前Unit激活(enable)时,符号链接会放入/etc/systemd/system目录下面以Target名+.required后缀构成的子目录中
   - Alias,当前Unit可用于启动的别名
   - Also,当前Unit激活(enable)时,会被同时激活的其他Unit
- Service
   - Type,定义启动时的进程行为。它有以下几种值。
   - Type=simple,默认值,执行ExecStart指定的命令,启动主进程
   - Type=forking,以 fork 方式从父进程创建子进程,创建后父进程会立即退出
   - Type=oneshot,一次性进程,Systemd 会等当前服务退出,再继续往下执行
   - Type=dbus,当前服务通过D-Bus启动
   - Type=notify,当前服务启动完毕,会通知Systemd,再继续往下执行
   - Type=idle,若有其他任务执行完毕,当前服务才会运行
   - ExecStart,启动当前服务的命令
   - ExecStartPre,启动当前服务之前执行的命令
   - ExecStartPost,启动当前服务之后执行的命令
   - ExecReload,重启当前服务时执行的命令
   - ExecStop,停止当前服务时执行的命令
   - ExecStopPost,停止当其服务之后执行的命令
   - RestartSec,自动重启当前服务间隔的秒数
   - Restart,定义何种情况 Systemd 会自动重启当前服务,可能的值包括always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog
   - TimeoutSec,定义 Systemd 停止当前服务之前等待的秒数
   - Environment,指定环境变量
  1. 重载配置
1
systemctl daemon-reload
  1. 启动服务
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
root@nebula3-01 node_exporter]# systemctl daemon-reload
[root@nebula3-01 node_exporter]# systemctl status node_exporter 
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@nebula3-01 node_exporter]# systemctl start node_exporter 
[root@nebula3-01 node_exporter]# systemctl status node_exporter 
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-03-02 14:04:43 CST; 2s ago
 Main PID: 15015 (node_exporter)
   CGroup: /system.slice/node_exporter.service
           └─15015 /root/node_exporter/node_exporter

Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=thermal_zone
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=time
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=timex
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=udp_queues
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=uname
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=vmstat
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=xfs
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=zfs
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.269Z caller=tls_config.go:232 level=info msg="Listening on" address=[::]:9100
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.269Z caller=tls_config.go:235 level=info msg="TLS is disabled." http2=false ...::]:9100
Hint: Some lines were ellipsized, use -l to show in full.
  1. 开机自启
1
2
[root@nebula3-01 node_exporter]# systemctl enable node_exporter 
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.

查看是否开机自启, 比上面多了 enabled; vendor preset: disabled

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[root@nebula3-01 node_exporter]# systemctl status node_exporter 
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-03-02 14:04:43 CST; 11min ago
 Main PID: 15015 (node_exporter)
   CGroup: /system.slice/node_exporter.service
           └─15015 /root/node_exporter/node_exporter

Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=thermal_zone
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=time
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=timex
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=udp_queues
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=uname
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=vmstat
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=xfs
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.268Z caller=node_exporter.go:117 level=info collector=zfs
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.269Z caller=tls_config.go:232 level=info msg="Listening on" address=[::]:9100
Mar 02 14:04:43 nebula3-01 node_exporter[15015]: ts=2023-03-02T06:04:43.269Z caller=tls_config.go:235 level=info msg="TLS is disabled." http2=false ...::]:9100
Hint: Some lines were ellipsized, use -l to show in full.

查看Systemd 服务

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[root@nebula3-01 node_exporter]# systemctl 
UNIT                                                                LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount                                   loaded active running   Arbitrary Executable File Formats File System Automount Point
sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device         loaded active plugged   Virtio network device
sys-devices-pci0000:00-0000:00:04.0-virtio1-virtio\x2dports-vport1p1.device loaded active plugged   /sys/devices/pci0000:00/0000:00:04.0/virtio1/virtio-ports/v
sys-devices-pci0000:00-0000:00:05.0-virtio2-block-vda-vda1.device   loaded active plugged   /sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda/vda1
sys-devices-pci0000:00-0000:00:05.0-virtio2-block-vda-vda2.device   loaded active plugged   /sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda/vda2
sys-devices-pci0000:00-0000:00:05.0-virtio2-block-vda.device        loaded active plugged   /sys/devices/pci0000:00/0000:00:05.0/virtio2/block/vda
sys-devices-platform-serial8250-tty-ttyS1.device                    loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS1
sys-devices-platform-serial8250-tty-ttyS2.device                    loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS2
sys-devices-platform-serial8250-tty-ttyS3.device                    loaded active plugged   /sys/devices/platform/serial8250/tty/ttyS3
sys-devices-pnp0-00:00-tty-ttyS0.device                             loaded active plugged   /sys/devices/pnp0/00:00/tty/ttyS0
sys-module-configfs.device                                          loaded active plugged   /sys/module/configfs
sys-subsystem-net-devices-eth0.device                               loaded active plugged   Virtio network device
-.mount                                                             loaded active mounted   /
boot.mount                                                          loaded active mounted   /boot
dev-hugepages.mount                                                 loaded active mounted   Huge Pages File System
dev-mqueue.mount                                                    loaded active mounted   POSIX Message Queue File System
...

你可以配合grep命令操作

1
2
3
[root@nebula3-01 node_exporter]# systemctl | grep node
kmod-static-nodes.service                                                                 loaded active exited    Create list of required static device nodes for the current kernel
node_exporter.service                                                                     loaded active running   node_exporter

查看Linux 的基本信息

硬件

  • uname -a 查看内核/操作系统/CPU信息
  • head -n 1 /etc/issue 查看操作系统版本
  • cat /proc/cpuinfo 查看CPU信息
  • hostname 查看计算机名
  • lspci -tv 列出所有PCI设备
  • lsusb -tv 列出所有USB设备
  • lsmod 列出加载的内核模块
  • env 查看环境变量

资源

  • free -m 查看内存使用量和交换区使用量
  • df -h 查看各分区使用情况
  • du -sh <目录名> 查看指定目录的大小
  • grep MemTotal /proc/meminfo 查看内存总量
  • grep MemFree /proc/meminfo `查看空闲内存量
  • uptime 查看系统运行时间、用户数、负载
  • cat /proc/loadavg 查看系统负载

磁盘和分区

  • mount | column -t 查看挂接的分区状态`
  • fdisk -l 查看所有分区,扇区大小
  • swapon -s 查看所有交换分区
  • hdparm -i /dev/hda 查看磁盘参数(仅适用于IDE设备)
  • dmesg | grep IDE 查看启动时IDE设备检测状况
  • stat /boot/ 查看硬盘块情况,块大小
  • getconf PAGE_SIZE 查看页大小

网络

  • ifconfig 查看所有网络接口的属性
  • iptables -L 查看防火墙设置
  • route -n 查看路由表
  • netstat -lntp 查看所有监听端口
  • netstat -antp 查看所有已经建立的连接
  • netstat -s 查看网络统计信息

进程

  • ps -ef 查看所有进程
  • top 实时显示进程状态

用户

  • w 查看活动用户
  • id <用户名> 查看指定用户信息
  • last 查看用户登录日志
  • cut -d: -f1 /etc/passwd 查看系统所有用户
  • cut -d: -f1 /etc/group 查看系统所有组
  • crontab -l 查看当前用户的计划任务

服务

  • chkconfig --list 列出所有系统服务
  • chkconfig --list | grep on 列出所有启动的系统服务

程序

  • rpm -qa 查看所有安装的软件包

安装Golang, Minicoda, Git

Golang

  1. 下载合适的版本
  2. 输入tar -C /usr/local/ -xzf go1.20.2.linux-amd64.tar.gz 解压到合适的位置, -C 指定位置
  3. 设置GOPATH
  • echo $PATH 先查看$PATH
  • 用vim 或者其他工具打开$HOME/.profile, 输入export PATH=$PATH:/usr/local/go/bin
  1. 输入 source $HOME/.profile 是上面profile 生效
  2. 输入 go version 检查是否成功
  3. 修改go proxy 为功能镜像 go env -w GOPROXY=https://goproxy.cn,direct 输入 go env 确认 GOPROXY

Minicode

  1. 从此处下载Minicoda
  2. run bash Miniconda3-latest-Linux-x86_64.sh
  3. 根据提示安装,可以都选择默认
  4. 为了使配置生效,关闭Terminal 重新打开
  5. 输入conda list 或者 机器名前面有个base 意味着Terminal 输入python 默认为Python3,想要使用Python2, 输入Python2 即可 如果conda 没有被识别,需要把conda 加入环境变量。
1
2
3
4
vim /etc/profile

# 输入 在文件末尾添加一行:export PATH=/root/miniconda3/bin:$PATH, /root/miniconda3 是miniconda 安装的路径
# :wq 保存退出。然后 source /etc/profile 激活配置

Git

  1. 首先,把老版本的 Git 卸掉。
1
2
sudo yum -y remove git
sudo yum -y remove git-*
  1. 添加 End Point 到 CentOS 7 仓库 yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
  2. yum -y install git
  3. check version git version
  4. 配置Git
  • Set your name. git config --global user.name "Your Name"
  • Set your email address. git config --global user.email "user@exmample.com"
  • Verify the settings. git config --list