Ubuntu小配置

Ubuntu

内核版本

拍摄快照

在虚拟机安装好、配置号后各拍摄一次快照,并存储。

可在虚拟机出错后回滚

Root用户

Ubuntu默认不能以 Root用户身份直接登录

因此,正常操作时在需要调用 root权限时,必须使用 sudo命令来获取部分权限

Root直接登录

  • 在现有用户下为 root帐户设置密码

    sudo passwd root
    # 现在的用户的密码
    # root用户密码
    # 确认密码
    
  • 修改文件: /etc/pam.d/gdm-autologin ,用 # 注释掉

    auto retuired pam_succeed_if.so user != root quiet_success
    
  • 修改文件 /etc/pam.d/gdm-password

    auto retuired pam_succeed_if.so user != root quiet_success
    

临时转为 Root

在配置好 Root密码后,使用如下命令:

su root
# 密码

这之后的所有操作都不需要再加 sudo了

退出命令:

exit

脚本文件

权限

如果文件没有可运行权限,则不能使用 ./xxx的方式

此时可以选择 加权限或者使用其他命令运行的方式,如:

chmod o+x hello.sh
chmod u+x hello.sh
chmod 777 hello.sh
  • o:表示 other
  • u:表示 属主,user
  • g:表示 属组,group
  • 777:可读权限为4 可写为2 可执行为1;针对某文件,一种角色的权限可以表示为 4/2/1的和

bash

如果 xxx.sh没有 x权限,则可以使用

bash xxx.sh
sudo bash xxx.sh

此时,在文件内部的第一行必须标记为:

#!/bin/sh

来帮助找到 sh命令

python

如果 xxx.py没有 x权限,则可以使用

python xxx.py

此时,文件内部的第一行必须标记为:

#!bin/python3

网络相关

关于 apt换源

Ubuntu20版

1)先将 /etc/apt/sources.list备份

cp sources.list sources.list.bak

2)然后修改sources.list中的源

gedit sources.list

修改为

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

3)更新 apt

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade

4)然后就可以正常使用了

ubuntu18.04

apt源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

ubuntu16.04

apt源

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

新安装的虚拟机无法上网,可能原因:DNS无法正常解析

ubuntu 10

apt源

deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu lucid-backports main restricted universe multiverse

ubuntu 12.10

apt源

deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe
deb http://mirrors.163.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

关于虚拟机网络

可选的为 NAT模式,桥接模式和自定义模式

NAT

使用 VMnet8的网卡

桥接

类似和电脑并联

一般选用桥接,便于连接 xshell

关于SSH

使用 apt下载以下内容

sudo apt-get install net-toolssudo apt-get install openssh-server

然后使用 ifconfig查看虚拟机 IP

使用 xshell进行连接

关于FTP

宿主机和虚拟机可以通过 FTP协议互相传文件

XFTP

使用 xshell的 xftp

下载免费版 xftp后,在 xshell连接的情况下,使用 xftp进行宿主机和虚拟机的数据交互

lrzsz

可以使用 rz命令和 sz命令

先用 apt安装

sudo apt install lrzsz

然后就可以使用 rz命令将宿主机的东西传到虚拟机中

使用 sz命令将虚拟机中的东西传到宿主机中

但是貌似还是只能在 xshell中使用

关于防火墙和端口

先用 apt安装

sudo apt install ufw

开放单个端口

sudo ufw allow 80
sudo ufw allow 22

关闭单个端口

sudo ufw delete allow 80

查看防火墙的状态

sudo ufw status

重启防火墙

sudo ufw reload

关闭防火墙

sudo ufw disable

设置外来访问的默认权限(拒绝)

sudo ufw default deny

Java相关

配置 Java

直接安装Java

直接安装可以不用配置路径(好像)

主要,我也不知道直接 apt安装到了哪里,科学的讲估计是在 /usr/local下

# 直接在控制台输入 java或者 javac# 	会提示 没有该命令,然后会提示推荐安装的内容#	可以装 jre也可以装 jdk#	直接使用 apt即可安装

直接安装,虽然没有配置路径,但是貌似是存在 JAVA_HOME的,因为 tomcat可以识别到。

wget 下载安装

使用 wget命令安装

sudo wget  某个版本的java的tar.gz文件比如说wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

下载后正常解压,可以解压到 /usr/local下,也可以解压到 /opt下

tar -zxvf 压缩文件名 -C 解压后存储的路径

手动配置路径

用户环境变量

针对每个用户的环境变量,只有本用户才能有效

每个用户的家目录下有个隐藏文件 .profile

ls -a /home/zhao/.profile

在 CentOS下,叫做 .bash_profile好像

可以使用 gedit或者 vim修改其内容,建议先备份

可在其内部添加如下:

export JAVA_HOME=/usr/local/bin/jdk1.8.0_141
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

系统环境变量配置

在 /etc/profile.d 目录下新建一个脚本,命名任意,但要以 .sh为后缀

内部配置类似 上面

注意:如果,是手动解压安装 Java的,必须手动配置路径,建议配置为系统路径

配置 Tomcat

使用 wget 从官网上下载,注意版本号和 JDK版本的联系

也可以使用 XFTP 或者 rz命令从宿主机中上传

下载后解压

tar -zxvf apache-tomcat-版本号 -C 解压后的路径

然后,可以进入到该目录下查看,会发现只有 root才有访问权限

于是需要切换 root用户

su root
# 密码

在 bin目录下启动:./startup.sh

在 bin目录下关闭:./shutdown.sh

开启tomcat后,在宿主机与虚拟机上都能访问到发布的项目

# 宿主机
虚拟机ip:8080

# 虚拟机
localhost:8080

备份之后 修改配置文件

gedit conf/server.xml

配置 Redis

直接 apt安装 redis-server

sudo apt install redis-server

查看 redis状况

service redis-server status

在 /etc/redis/redis.conf 下修改redis配置

gedit redis.conf
注释掉 bind 127.0.0.1添加密码 requirepass

重启 redis-server

登录 redis-cli尝试

在宿主机上登录 Redis Desktop Manager尝试连接虚拟机上的 redis

配置 MySQL

安装MySQL

1)通过 apt安装 MySQL

sudo apt-get install mysql-server

2)初始化配置

sudo mysql_secure_installation

#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (选择N ,不会进行密码的强校验)

#2
Please set the password for root here...
New password: (输入密码)
Re-enter new password: (重复输入)

#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (选择N,不删除匿名用户)

#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N (选择N,允许root远程连接)

#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (选择N,不删除test数据库)

#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (选择Y,修改权限立即生效)

3)检查 MySQL状态

systemctl status mysql.service

4)配置远程访问

修改 /etc/mysql/mysql.conf.d/mysqld.cnf

# bind 127.0.0.1

5)登录 mysql进行修改

sudo mysql -uroot -p
use mysql;select host,user,plugin from user; -- 此时 root的 plugin和其他的不一样,表示只能用权限登录ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;UPDATE user SET host = '%' WHERE user = 'root';flush privileges;quit;

之后,切换为普通用户登录 mysql

尝试使用 宿主机的 navicat登录 虚拟机上的 mysql

MySQL卸载

1)查看依赖项

dpkg --list|grep mysql

2)卸载

sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-5.7

3)清除残留数据

dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P

4)查看依赖项

dpkg --list|grep mysql

5)删除依赖项

sudo apt-get autoremove --purge mysql-apt-config

执行 sql脚本文件

mysql -uname -ppassword database <file.sql

database为数据库的名字
file为 sql脚本的名字

配置 ZooKeeper

1)下载可以去官网

先贴一个版本在这里

wget https://mirrors.estointernet.in/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

2)解压

tar -zxvf xxx -C 目标路径

3)备份配置文件(其实默认的就是一个备份文件)

在解压后的路径下:

cp ./conf/zoo_sample.cfg ./conf/zoo.cfg

4)根据自己的需求对配置文件进行修改

5)运行

./ bin/zkServer.sh start

6)有可能会报错 java 啥的找不到

可能原因:

  1. 你还没装 JDK或者 JRE,貌似只有 JRE也能用好像;那就安装一下
  2. 需要对 bin/zkEnv.sh 进行编辑,具体内容如下

配置 Nacos

  1. 直接下载

    比如:wget https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.tar.gz

  2. 解压即可

    tar -zxvf xxxx.tar.gz

配置 ElasticSearch

  1. 下载安装包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz
    
  2. 解压

    tar -zxvf elasticsearch-6.2.3.tar.gz
    
  3. 修改 elasticsearch.yml

    vim elasticsearch-6.2.3/config/elasticsearch.yml
    
    # 1.将 network.host 注释去掉,改为 network.host: 0.0.0.0
    # 2.将 http.port: 9200 注释去掉
    
  4. 修改 /etc/sysctl.conf

    vim /etc/sysctl.conf
    
    # 添加 vm.max_map_count=262144
    # 之后执行如下命令
    sysctl -p
    
  5. 修改 /etc/security/limits.conf

    vim /etc/security/limits.conf
    
    # 修改为
    # * soft nofile 65536
    # * hard nofile 65536
    # * soft nofile 65536
    # * hard nofile 65536
    
  6. 开启服务

    ./elasticsearch -d
    
  7. 验证服务

    curl http://192.168.xxx.xxx:9200
    
    # 或用浏览器访问 
    # http://192.168.xxx.xxx:9200/
    # 得到如下内容:
    # {
    #  "name" : "hysK7H4",
    #  "cluster_name" : "elasticsearch",
    #  "cluster_uuid" : "tixRRZOVS3uBbZTUaT1DIw",
    #  "version" : {
    #    "number" : "6.2.3",
    #    "build_hash" : "c59ff00",
    #    "build_date" : "2018-03-13T10:06:29.741383Z",
    #   "build_snapshot" : false,
    #  "lucene_version" : "7.2.1",
    #    "minimum_wire_compatibility_version" : "5.6.0",
    #    "minimum_index_compatibility_version" : "5.0.0"
    #  },
    #  "tagline" : "You Know, for Search"
    #}
    
  8. 安装Head插件

    1. 安装 nodejs

      apt-get install -y nodejs
      
      # 查看 nodejs版本
      node -v
      
    2. 安装 npm

      apt-get install -y npm
      
      #查看npm版本
      npm -v
      
      #如果安装的是旧版本(2.3.0),升级版本,执行完之后如果版本没变,可以重新登陆一下再看
      npm install npm -g
      
    3. 使用npm安装grunt

      npm install -g grunt
      npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy
      
      #查看版本
      grunt -version
      
    4. 下载head插件源码

      wget https://github.com/mobz/elasticsearch-head/archive/master.zip
      unzip master.zip
      
    5. 国内镜像安装

      sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
      sudo cnpm install
      
    6. 配置 ElasticSearch,使得HTTP对外提供服务

      #修改ElasticSearch安装目录中的配置文件
      vim elasticsearch-6.2.3/config/elasticsearch.yml
      #添加一下内容
      http.cors.enabled: true
      http.cors.allow-origin: "*"
      
    7. 修改Head插件配置文件

      vim elasticsearch-head-master/Gruntfile.js
      
      #添加
      # hostname: '0.0.0.0',
      
    8. 重启elasticsearch、启动head

      ps -ef | grep elasticsearch # 找到 进程号
      kill -9 xxxx
      ./elasticsearch -d # 重启
      
      grunt server #在elasticsearch-head-master目录下
      

配置 RabbitMQ

  1. 更新 apt

    sudo apt-get update -y
    sudo apt-get install curl gnupg -y
    
  2. 安装RabbitMQ签名密钥

    curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -
    
  3. 安装apt HTTPS传输

    sudo apt-get install apt-transport-https
    
  4. 在/etc/apt/sources.list.d目录下创建bintray.erlang.list文件

    # 在文件中输入以下内容(这里以Ubuntu20.04, Erlang版本为23.x为例子)
    deb https://dl.bintray.com/rabbitmq-erlang/debian focal erlang-23.x
    
  5. 安装Erlang包

    sudo apt-get update -y
    
    sudo apt-get install -y erlang-base \
                            erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
                            erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
                            erlang-runtime-tools erlang-snmp erlang-ssl \
                            erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
    
  6. 安装 rabbitmq

    sudo apt-get install rabbitmq-server -y --fix-missing
    

配置 Docker

  1. 解除安装旧的版本(Uninstall old versions)

    旧版本的 docker应用被称为 docker, docker.io 或者 docker-engine,如果这些已经安装了,就卸载它们

     sudo apt-get remove docker docker-engine docker.io containerd runc
    

    如果执行 apt命令反馈这些内容没有被安装也是正常的

    原有的信息一般默认保存在 /var/lib/docker目录下,如果想要彻底清楚这些内容,可以继续执行以下指令

    sudo apt-get purge docker-ce docker-ce-cli containerd.io # Uninstall the Docker Engine, CLI, and Containerd packages
    
     sudo rm -rf /var/lib/docker
     sudo rm -rf /var/lib/containerd # delete all images, containers, and volumes
    
  2. 选择支持的存储驱动程序

    Ubuntu上,Docker Engine支持以下 3种驱动: overlay2, aufsbtrfs

    默认使用 overlay2,如果需要使用其他的就得手动配置 链接

  3. 正式安装,可以采用不同的方式进行安装:

    • 大部分用户会 设置 Docker repositories并依据其进行安装,这种最简单
    • 少部分用户会下载 DEB package并且手动安装和手动更新,这种方式适合在断网的情况下进行安装
    • 在测试和开发环境下,部分用户会使用 脚本语言安装
  4. 使用 repositories进行安装

    1. 设置 repository

      sudo apt-get update # 更新 apt
      
      sudo apt-get install \ # 安装相关的包
          apt-transport-https \
          ca-certificates \
          curl \
          gnupg \
          lsb-release
          
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加 Docker的依赖
      
       echo \
        "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
        $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 创建一个稳定的 repository, 可以在 stable关键词后添加 nightly 或 test关键字实现特殊的安装
      
    2. 实际安装 Docker

      sudo apt-get update # 更新 apt索引
      sudo apt-get install docker-ce docker-ce-cli containerd.io # 安装最新版本的 docker
      
    3. 安装旧版本的 Docker

      apt-cache madison docker-ce # 列出可以安装的版本
      sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io # 安装指定的版本
      
    4. 验证安装成功

      sudo docker run hello-world
      

  5. 使用 DEB package进行安装

    1. 下载 .deb文件,前往下载网址,选择你的 Ubuntu的版本(通过 lsb_release -a命令得到),选择/pool/stable,选择 amd64, armhf, arm64或者 s390x并且 下载 .deb文件

    2. 安装

      sudo dpkg -i /path/to/package.deb
      
    3. 验证

      sudo docker run hello-world
      
posted @   小么VinVin  阅读(99)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示