day21学习笔记(3月31日)
yum补充、Ubuntu系统
yum知识补充
- yum的配置文件和文件格式
yum的配置文件/etc/yum.conf
yum源仓库文件,是ini格式
常用的文件格式:ini格式、xml格式、yaml格式
yum在安装人间的时候,会根据机器的基础rpm包化境来决定需要哪些依赖包,如果机器中已经存在了依赖的环境包,在yum安装的过程中就不会安装已有的依赖包
- yum缓存概念的理解
yum网络下载安装软件的过程是,去/etc/yum.repos.d/*.repo寻找仓库源。
假设在本地机器网络环境比较差,下载文件的速度非常慢,每次下载都要去网上下载,就会非常的浪费网络资源,为了能够加速下载和安装,在配置yum源的时候一般都会生成一个yum的缓存(有磁盘持久化缓存,内存缓存),放于/var/cache/yum/x86_64中,每次下载的时候就不用去网上下载,默认会去缓存的目录中下载。
cache缓存的优点:能快读的下载安装网络中的软件包
cache缓存的缺点:当yum源数据更新,如果不清理缓存直接下载软件,就会下载缓存中的软件,所以当重新配置了yum源安装软件时需要清理缓存和日志信息,重新生成缓存。
- 实战最小化系统安装离线安装各种工具包(自建仓库)
1、初始化安装的机器,确缺少很多工具包
办法1,挂载本地光盘作为yum仓库(没有光驱,无法用光盘)
办法2,提前准备好所需的rpm包,通过usb 接口,把rpm包考过去,安装
2、仅下载,不安装,指定文件路径
yum install --downloaddir=/opt/base_rpm/ --downloadonly gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel net-tools vim -y
或者使用yumdownloader工具(前提是,配置好yum仓库源)
yum install yum-utils
yumdownloader --destdir=/opt/base_rpm gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel net-tools vim -y
3、自建yum仓库,使用createrepo命令,将这个目录,改造为yum可识别的一个仓库目录,它会生成repodata文件夹
createrepo /opt/base_rpm
4、创建本地yum仓库文件,去找这些rpm包了,找本地的yum仓库文件夹
vim /etc/yum.repos.d/local_dir.repo
[local_dir]
name=local dir base rpm
baseurl=file:///opt/base_rpm
enabled=1
gpgcheck=0
5、注意清空yum缓存(因为,系统中现有的,是centos7官方的一些rpm包缓存数据)
yum clean all
rm -rf /var/cache/yum
这里的缓存分为两种
一个是内存缓存,是通过yum clean all
一个是持久化存储的缓存,以及写入到磁盘了 rm -rf /var/cache/yum
yum安装本地文件夹的rpm包参数
yum 的参数
localinstall
Is used to install a set of local rpm files. If required the enabled repositories will be used to resolve dependencies. Note that the install command will do a local install, if given
a filename. This command is maintained for legacy reasons only.
用于安装一组本地 rpm 文件。如果需要,将使用启用的存储库来解决依赖关系。请注意,如果给定,install 命令将执行本地安装
文件名。仅出于旧版原因维护此命令。
用法
yum localinstall xx.rpm
如何检查rpm软件依赖
1.针对已经安装的rpm程序(注意安装包名需要全称)
rpm -qR nginx
-R ==列出此程序包所依赖的功能
2、安装工具 rpmreaper
yum install rpmreaper
#rpmreaper会向用户显示已安装包的列表,显示他们的依赖关系
rpmreaper
/ search nginx
r #展示依赖关系
3、(不要求安装,直接去yum源仓库中,检索他们的依赖关系)
使用repoquery工具来罗列包的依赖关系,软件名字得正确,先yum list看看
# 安装如下工具包,即可使用
yum install yum-utils
repoquery --requires --resolve nginx
如何yum获取rpm包
1.使用yumdownloader工具(前提是,配置好yum仓库源)
yum install yum-utils
2.仅仅下载linux的软件rpm包
# --destdir 也是指定一个rpm包存放的路径
yumdownloader --destdir=/opt/mysql mysql
#与--downloadonly --downloaddir=/opt/my_rpm/nginx 相同
# --downloadonly 默认是把rpm包,放到/var/cache/yum/
yum install --downloadonly --downloaddir=/opt/my_rpm/ nginx
配置阿⾥云yum源,以及epel源,仅仅且保留nginx的rpm包缓存到/opt/nginx_rpm/
[root@client-242 ~]# yumdownloader --destdir=/opt/nginx_rpm nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
[root@client-242 ~]#
[root@client-242 ~]# ls /opt/nginx_rpm/
nginx-1.20.1-9.el7.x86_64.rpm
Ubuntu系统
ubuntu是什么
Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。*(centos)
商业版本以Redhat为代表,开源社区版本则以debian为代表。
这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。
Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面(苹果系统),完善的包管理系统,强大的软件源支持(mysql,nginx,java,python,.golang),丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡(做区块链的,需要用最新的显卡技术做计算,那么centos可能还没有对应的驱动支持,乌班图一般就有了)等等。
这一切让Ubuntu越来越向大众化方向发展。
Ubuntu的图形界面固然漂亮,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。如何你希望在学习Linux的过程中有个沉浸式的环境,那么Ubuntu的确不错:仅仅安装在自己的电脑中而非服务器中。
乌班图适用于物联网企业,是最多的,比如智能机器人,智能输入法,智能窗帘
乌班图适合的场景
https://cn.ubuntu.com/internet-of-things、
乌班图是更好看,有更多的丰富的应用程序,更适合喜欢用linux的程序员,作为个人笔记本的系统。
CentOS
非常多的商业公司部署在生产环境上的服务器都是使用的CentOS系统,CentOS是从RHEL源代码编译的社区重新发布版。
CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。与Redhat有着相同的渊源。
虽然不单独提供商业支持,但往往可以从Redhat中找到一丝线索。
相对debian来说,CentOS略显体积大一点。是一个非常成熟的Linux发行版。
很多网站站长一般都选择centOS系统,CentOS是从redhat源代码编译重新发布版。
CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,并且有帮助文档和社区的支持。
安装Ubuntu开启ssh服务
1.默认拿到一个新机器,可能没开启ssh服务,无法远程连接
2.需要升级下软件仓库
sudo apt update
3.需要安装ssh服务
sudo apt install openssh-server
4.启动ssh服务,即可远程连接
sudo service sshd start
5.查看该端口
sudo ss -tunlp|grep 22
dpkg命令管理deb包
dpkg -i package.deb #安装包
dpkg -r package #删除包,保留配置文件
dpkg -P package #删除包(包括配置文件)
dpkg -L package #列出与该包关联的文件
dpkg -l package #显示该包的版本
dpkg --unpack package.deb #解开 deb 包的内容
dpkg -S keyword #搜索所属的包内容
dpkg -s package # 查询软件包详细信息
dpkg -l #列出当前已安装的包
dpkg -c package.deb #列出 deb 包的内容
dpkg --configure package #配置包
安装ubuntu软件
nginx_1.18.0-2~focal_amd64.deb
# 下载该软件
yu@yu-virtual-machine:~$ wget yuchaoit.cn/nginx_1.18.0-2~focal_amd64.deb
# 安装该nginx
# 等于 rpm -ivh nginx.rpm
yu@yu-virtual-machine:~$ sudo dpkg -i nginx_1.18.0-2~focal_amd64.deb
# 启动nginx服务
yu@yu-virtual-machine:~$ sudo service nginx start
yu@yu-virtual-machine:~$
yu@yu-virtual-machine:~$ ss -tunlp|grep 80
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:*
apt命令
apt其实和yum命令的用法一样
例如:apt安装如vim
sudo apt install vim
# 给乌班图配置网络apt源
1.打开图版图的apt源配置文件
yu@yu-virtual-machine:~$ sudo apt install vim -y
yu@yu-virtual-machine:~$ sudo vim /etc/apt/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
2.需要更新乌班图的软件源
sudo apt update
3.使用图版图,安装nginx、或者apache2
sudo apt install apache2
4、使用apt安装mysql
sudo apt install mysql-server -y
sudo service mysql start
sudo mysql -uroot -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit
Bye
ubuntu搭建博客系统(搭建java环境)
1.准备环境
sudo apt install openjdk-8-jre-headless -y
检查java环境
yu@yu-virtual-machine:~$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
2.下载博客源码
sudo wget https://dl.halo.run/release/halo-1.4.2.jar
3.启动这个程序
sudo java -jar halo-1.4.2.jar
4、运行到后台
sudo touch /var/my_boke.log
sudo chmod -R 777 /var/my_boke.log
sudo nohup java -jar halo-1.4.2.jar >> /var/my_boke.log 2>&1 &
jobs
5.访问ip