Linux操作
查看系统版本信息
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
查看ip
net-tools
安装net-tools就可以使用ifconfig:
yum install net-tools
netstat -tnlp
[root@01 /]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1109/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1384/master
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 20437/python
tcp6 0 0 :::22 :::* LISTEN 1109/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1384/master
查看进程/服务
ps -aux | grep xxx
chkconfig --list
systemctl list-unit-files
空间
df -h 一看却发现还有挺多没有用 df -i 一看发现是inodes空间满了
fdisk -l
查看/home 占用的空间
du –hs /home
yum
安装:
yum install -y mongodb-org
卸载:
yum -y remove 包名
rpm
卸载:
rpm -qa | grep 包名
rpm -e 文件名
查看安装位置
rpm -qpl 包名
mongodb-org
查看运行报错
journalctl -xn
systemctl status docker.service
安装Ruby
yum源:阿里的base和epel源
Install Dependencies
yum -y groupinstall "Development Tools"
yum -y install gdbm-devel libdb4-devel libffi-devel libyaml libyaml-devel ncurses-devel openssl-devel readline-devel tcl-devel
Download and Build Ruby from Source
mkdir -p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz -P rpmbuild/SOURCES
wget https://raw.githubusercontent.com/tjinjin/automate-ruby-rpm/master/ruby22x.spec -P rpmbuild/SPECS
rpmbuild -bb rpmbuild/SPECS/ruby22x.spec
yum -y localinstall rpmbuild/RPMS/x86_64/ruby-2.2.3-.el7.centos.x86_64.rpm
Test the Install
ruby -v
gem -v
GEM
https://gems.ruby-china.org/
CentOS
192.168.153.181
https://docs.docker.com/registry/#requirements
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-14-04
ubuntu
vi 方向键乱
vi /etc/vim/vimrc.tiny
将“compatible”改成“nocompatible
再加入set backspace=2
启用ssh
ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全,现在介绍一下如何在Ubuntu 14.04上安装和配置ssh
工具/原料
Ubuntu 14.04
方法/步骤
更新源列表
打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了。
安装ssh
打开"终端窗口",输入"sudo apt-get install openssh-server"-->回车-->输入"y"-->回车-->安装完成。
查看ssh服务是否启动
打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。
使用gedit修改配置文件"/etc/ssh/sshd_config"
打 开"终端窗口",输入"sudo gedit /etc/ssh/sshd_config"-->回车-->把配置文件中的"PermitRootLoginwithout-password"加一个"#"号,把它注释掉-->再增加一句"PermitRootLogin yes"-->保存,修改成功。
查看Ubuntu 14.04的IP地址
打开"终端窗口",输入"sudo ifconfig"-->回车-->就可以查看到IP地址。
6.连接测试
在另外的机器上输入 ssh 192.168.*.* 回车
第一次操作会显示如下页面:
输入密码后即可连接。
操作完成后,输入quit回车后退出ssh连接
源地址:
http://wiki.ubuntu.org.cn/%E6%A8%A1%E6%9D%BF:16.04source
deb https://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
sudo vi /etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
https://mirrors.ustc.edu.cn/repogen/
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
GIT
git安装
yum install git
git更新
- git status(查看本地分支文件信息,确保更新时不产生冲突)
- git checkout – [file name] (若文件有修改,可以还原到最初状态; 若文件需要更新到服务器上,应该先merge到服务器,再更新到本地)
- git branch(查看当前分支情况)
- git checkout remote branch
- git pull
Docker
docker 指南
http://www.widuu.com/docker/index.html
https://docs.docker.com/
docker 安装
教程:
https://docs.docker.com/engine/installation/
安装docker ce:
https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-docker-ce
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce
apt-cache madison docker-ce
sudo apt-get install docker-ce=<VERSION>
sudo apt-get install docker-ce=
docker compose
官方方法:
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
我在centos下是用
pip install docker-compose
pip install --upgrade backports.ssl_match_hostname
docker-compose.yml:
version: '2'
services:
rabbitmq:
image: rabbitmq:latest
hostname: rabbit
environment:
- RABBITMQ_DEFAULT_USER=osprey
- RABBITMQ_DEFAULT_PASS=osprey
mongo:
image: mongo:latest
hostname: mongo
osprey:
image: tophant/osprey
volumes:
- ../pocs:/opt/osprey/pocs
links:
- rabbitmq
- mongo
command: docker/start-osprey.sh
ports:
- "5000:5000"
FIX
Couldn't connect to Docker daemon at http docker://localunixsocket - is it r
maybe try running it as sudo docker ... instead of docker .... The user that you are running as may not have permissions to talk to /var/run/docker.sock on that system.
docker-compose加sudo
镜像控制
1)下载镜像:docker pull hub.c.163.com/library/php:latest
2)列出所有镜像:docker images
3)保存容器为镜像:首先使用docker ps -l命令获得安装完ping命令之后容器的id。docker commit 698 learn/ping把这个镜像保存为learn/ping。无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。
4)上传镜像:docker push learn/ping
5)删除镜像:$ sudo docker rmi training/sinatra
docker commit -a "muhe" -m "muheosprey" 1677 muhe/osprey:v1
docker run -it tophant/osprey bash
搜索
docker search 192.168.1.205:5000/mysql
加速DockerImage下载
如果你是Centos系统,你可以执行如下命令开启加速 :
sudo sed -i 's|OPTIONS=|OPTIONS=--registry-mirror=http://zbseumga.mirror.aliyun.com |g' /etc/sysconfig/docker
sudo service docker restart
如果你是Ubuntu 系统,你可以执行如下命令开启 :
echo "DOCKER_OPTS=\"$DOCKER_OPTS --registry-mirror=http://zbseumga.mirror.aliyun.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart
容器控制
1)启动容器:
开启并进入容器:docker runlean/ping (learn/ping为镜像名)
2)启动并后台运行:
docker run -idt learn/ping /bin/bash
其中-i是交互模式,t指分配tty设备,-d后台执行。
注意如果没有/bin/bash,那么容器运行结束会自己停止。同时,如果单纯的d没有i和t那么运行完也会自动退出了。
例子:运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑,还能用控制台管理。
$docker run -d–restart=always lean/ping ping www.docker.com
这个容器将永久在后台执行,因为ping这个线程不会停止。如果你把ping这个线程终止了,那么容器会重启继续执行ping功能。
3)启动并映射端口:
$ docker run -d -p 5000:5000 training/webapp python app.py
这里映射了容器的5000端口到Docker的5000端口。
4)查看运行中容器:docker ps
5)查看更详细的容器的信息:docker inspect。
如:$ docker inspectefe
6)停止容器:docker stop
7)结束容器:docker kill
8)启动一个或多少已经被停止的容器:docker start
9)重启容器:docker restart
10)获取容器输出:$ sudo docker logs insane_babbage
11)进入容器:run之后用ps查看再attach进入
例子:
#使用exit退出会stop容器
$docker attach 44fc0f0582d9
#加入--sig-proxy=false才不会
$docker attach --sig-proxy=false 44fc0f0582d9
#使用exec在外面对容器执行命令
$docker exec -it bb2 /bin/sh
12)从Container中拷贝文件出来:
sudo docker cp 7bb0e258aefe:/etc/debian_version .
拷贝7bb0e258aefe中的/etc/debian_version到当前目录下。
13)删除所有容器:
docker rm$(docker ps -aq)
14)删除一个容器:
$sudo docker rm trusting_newton
15)导出容器:
$ sudo dockerexport 7691a814370e > ubuntu.tar
16)导入容器:
| $ cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0 |
FIX
解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
常用的安装因为系统软件位数问题,如:64位系统中安装了32位程序了,
是因为64位系统中安装了32位程序
解决方法:
yum install glibc.i686