分类 linux 下的文章

1. 备份旧的配置文件

1 cd /etc/yum.repos.d/ # 进入文件夹
2 mv CentOS-Base.repo CentOS-Base.repo_back # 备份原始配置文件

2. 下载阿里源的文件

1 wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2 # 若没有 wget 可使用 curl
3 curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3. 安装 epel repo 源

1 wget -O epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2 # 若没有 wget 可使用 curl
3 curl -o epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4. 清理缓存

1 yum clean all

5. 重新生成缓存

1 yum makecache

6. 更新

1 yum -y update

因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:

1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。

1

[root@hexuweb102 ~] rpm -qa | grep ruby

2、以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”;

1

[root@hexuweb102~]dpkg-l|grepruby

3、yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;

1

[root@hexuweb102 ~] yum list installed | grep ruby

4、如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,

上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin:/usr/bin目录下。

说明:其中rpm yum 是Redhat系linux的软件包管理命令,dpkg是debian系列的软件包管理命令

 

参考:https://blog.csdn.net/weixin_43025071/article/details/122325802

先说明下我用的系统是Linux CentOS,不同的Linux版本差别不大。

1.安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

 

2.设置阿里云镜像源

因为docker默认官方的镜像源地址是国外的,速度很慢,这里将数据源设置为阿里云的镜像。当然国内还有其他的镜像源,在此不再一一介绍。

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

3.安装 Docker-CE

Docker CE(Community Edition) 社区免费版,属于docker引擎。

sudo yum install docker-ce

 

4.启动 Docker-CE

添加启动Docker服务

sudo systemctl enable docker

sudo systemctl start docker

 

5.为 Docker 建立用户组

docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。

1. 建立 Docker 用户组

sudo groupadd docker

2. 添加当前用户到 docker 组

sudo usermod -aG docker $USER

6.GUI 管理配置 (可选配置)

gui管理工具 有需要则可以安装使用,没有强制要求。

Portainer 

官方地址:https://portainer.io/install.html (国外地址如果不能访问建议翻墙)

安装命令:

docker volume create portainer_data

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

  

然后通过自己的IP+9000端口访问

 

下面能看到自己的容器、镜像等。

 

7.Docker基本概念介绍

镜像(Image)

这里面保存了应用和需要的依赖环境 比如运行runtime 和webapp

为什么需要多个镜像?当开发、构建和运行容器化应用程序时,我们通常会有不同优先级。通过为这些 独立的任务提供不同镜像 

 

容器(Container)

镜像的实例。一个容器代表一个正在运行的应用程序、进程或服务。它由 Docker 镜像、执行环境和标准指令集组成。需要扩展服务时,我 

真正将镜像跑起来的东西,镜像在容器里面。可以看作是一个完全隔离的盒子。

一个容器镜像实例 代表一个独立的进程。

Hub

远程存放镜像的平台, hub上已经有很多制作好的镜像 比如redis mongodb。

仓库 (repository)

仓库用来保存镜像的地方。

镜像构建完成后,可以直接在当前宿主上运行,但是 如果需要在其它服务器上使用这个镜像,就需要一个集中存储、分发镜像的服务。仓库就是这样的一个服务。

8.Docker常用命令

docker ps --查看目前正在运行的所有容器 -a 显示包括已经停止的容器

docker pull --拉取镜像

docker rmi --删除镜像 后面可以直接根据镜像 名称或者tag 前首字母匹配

docker start  container_id --打开容器 (这里可以是容器id或名称)

docker stop container_id --停止容器 (这里可以是容器id或名称)

docker rm --删除容器(只有停止的容器才可以删除)

docker build --使用 Dockerfile 创建镜像

docker exec --容器中执行命令,例如:docker exec -it  container_id(容器名或id) /bin/bash  (bin/bash要执行的命令或工具)

docker logs --查看 容器日志 ,例如:docker logs -f -t --tail 10 container_id (容器名或id) 

 

运行容器

docker run -it --rm -p 8000:80 --name aspnet_sample microsoft/dotnet__

--name 容器名称 ,后面跟着是镜像路径或名称

--rm 运行完后删除该容器 

-p  端口映射 8000 外部端口 80镜像里面运行的端口 将8000映射到镜像里面的80

-it  输出容器命令行的内容 即容器的自身的程序输出在控制台 有点类似前台运行

-d 和it相反  隐藏后台运行

 

原文链接:https://www.linuxidc.com/Linux/2019-12/161823.htm

首先去curl 官方的Github,找curl的源码

wget https://github.com/curl/curl/archive/refs/tags/curl-7_76_1.tar.gz || \
wget http://download.zhufunin.com/curl-7_76_1.tar.gz

因为curl源码,默认没有configure 文件,需要用buildconf生成

./buildconf

源码编译安装

curl需要开启https访问的功能,需要用到openssl, 首先用源码编译安装最新的openssl, 安装步骤,见链接

#请确保/usr/local/openssl/是openssl源码安装的目录
./configure --with-ssl=/usr/local/openssl/ --prefix=/usr/local/curl
make 
make install

测试是否正常

/usr/local/curl/bin/curl -V
/usr/local/curl/bin/curl -v https://www.baidu.com

考虑把系统默认的curl 替换掉

mv /usr/bin/curl /usr/bin/curl.bak
ln -s /usr/local/curl/bin/curl /usr/bin/curl

最后一次验证

curl -V
curl -v https://www.baidu.com

可能遇到的问题

config.status: error: cannot find input file: `Makefile.in'

解决:https://www.cnblogs.com/Haijunzhu/p/8879728.html

 

原文链接:https://www.cnblogs.com/faberbeta/p/14808229.html

 

1. 软件安装与卸载

  (1) 二进制安装:直接解压使用

  (2) rpm安装
  安装:rpm -ivh xxx.rpm
  卸载:rpm -evh xxx

  (3) yum安装
  安装:yum install xxx
  卸载:yum remove xxx

  (4) dpkg安装
  安装:dpkg -i xxx.deb
  卸载:dpkg -r xxx.deb

  (5) apt-get安装
  安装:apt-get install xxx
  卸载:apt-get remove xxx

  (6) 源码编译安装
  ./configure --prefix=./test
  make && make install

2. 压缩与解压

  (1) tar包
  压缩:tar -cvf test.tar ./test
  解压:tar -xvf test.tar

  (2) tar.gz包
  压缩:tar -zcvf test.tar.gz ./test
  解压:tar -zxvf test.tar.gz

  (3) tar.bz2包
  压缩:tar -jcvf test.tar.bz2 ./test
  解压:tar -jxvf test.tar.bz2

  (4) zip包
  压缩:zip -r test.zip ./test
  解压:unzip test.zip

  (5) gzip包
  压缩:gzip fileName
  解压:gzip -d fileName.gz

  (6) bzip2包
  压缩:bzip2 fileName
  解压:bzip2 -d fileName.bz2

3. 配置环境变量

  (1) export PATH=PATH:/usr/local/node/bin(临时有效)

  (2) vim ~/.bashrc
  #在最后一行加上
  export PATH=$PATH:/usr/local/node/bin
  #保存后执行
  source ~/.bashrc(永久有效,仅对当前用户有效)

  (3) vim ~/.bash_profile(永久有效,仅对当前用户有效,部分系统为~/.profile)
  (4) vim /etc/bashrc(永久有效,对所有用户有效)
  (5) vim /etc/profile(永久有效,对所有用户有效,部分系统为/etc/bash_profile)
  (6) vim /etc/environment(永久有效,对所有用户有效)

4. 服务管理

  (1) 启动服务
  systemctl start mysqld
  (2) 查看服务状态
  systemctl status mysqld
  (3) 使某服务开机自启
  systemctl enable mysqld
  (4) 关闭某服务开机自启
  systemctl disable mysqld

5. 服务器远程上传与下载

  (1) 连接远程服务器
  ssh -p 22 远程用户名@远程机器IP

  (2) 上传文件到远程服务器
  scp -P 22 本地路径 远程用户名@远程机器IP:远程路径

  (3) 下载文件到本地
  scp -P 22 远程用户名@远程机器IP:远程路径 本地路径

6. 配置ssh key

  (1) 检查是否存在ssh key
  cd ~/.ssh && ls
  (2) 生成ssh key
  ssh-keygen -t rsa -C "xxx@xxx.com"
  (3) 查看ssh key公钥
  cat id_rsa.pub
  (4) 将ssh key公钥添加到远程主机

参考:https://blog.csdn.net/weixin_45682261/article/details/122895651

          https://www.linuxcool.com/