liunx3

linux命令:

目录:
文件: vi a.txt
>
cat more less tac
cp copy
mv move
find
grep

文件权限: read write exe
d rwx r-x r–
chmod [ugoa] [±=] [rwx] 文件,文件夹
chmod 654 ….

      chown  python  a.txt
      chown   :groupname   a.txt
    chown   owner:groupname  a.txt

用户与组:
用户: /etc/passwd
useradd -m -s /bin/bash 用户名
userdel -r 用户名

             sudo  su   用户名
             
             sudo  su   root   |  sudo su -

            passwd  用户名   /etc/shadow
 组: /etc/group

网络:
ifconfig
ping
netstat

进程:
ps
top

打包与解包:

tar ----》 xxx.tar
tar -cvf …
tar -xvf …

tar -zcvf … ----→ xxx.tar.gz
tar -zxvf …. —→ 文件夹

zip: xxx.zip

压缩:
gzip —》xxx.gz
bzip2 —→ xxx.bz2

软件的安装:

apt = apt-get+ apt-cache+apt list

apt install xxx
apt-get install xxx

yum --→centos

wget 主要是通过指定的url完成资源的下载

https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

wget -c https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

wget -c https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz -P 保存的路径

curl: 下载工具 类似 wget

curl -O https://download.jetbrains.8686c.com/python/pycharm-professional-2019.2.1.tar.gz

相同点:

都是linux下的文件下载工具
它们都可以向互联网发送HTTP POST请求并返回请求项。这可以是文件、图片或者是其他诸如网站的原始 HTML 之类
可以集成在bash脚本中。

wget

专业的下载工具,支持递归下载。
纯粹的命令行工具
wget 简单直接,拥有智能的默认设置。它规定了很多在常规浏览器里的事物处理方式,比如 cookies 和重定向,这都不需要额外的配置。

curl

curl是一个多功能工具。当然,它可以下载网络内容,但同时它也能做更多别的事情。
curl 技术支持库是:libcurl。这就意味着你可以基于 cURL 编写整个程序,允许你基于 libcurl 库中编写图形环境的下载程序,访问它所有的功能。
curl 支持更多的网络协议。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP

虚拟环境:
venv:
lib —>site-packages
原因:
pip install flask

在线视频 + 虚拟环境 (online)
django 2.0

online:
pip
python3
django 2.0

电商类+ 虚拟环境(shopping)
django 2.1

shopping:
pip
python3
django 2.1
redis
进入虚拟环境:
pip install django==2.1
博客:
django1.11

虚拟环境:
Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对python的版本进行管理,除此之外还需要对不同的软件包进行管理。大部分情况下,对于开源的库我们使用最新版本即可。但是,有时候可能需要对相同的Python版本,在不同的项目中使用不同版本的软件包。

在这里,我们要使用两个工具:pyenv和virtualenv。前者用于管理不同的Python版本,后者用于管理不同的工作环境。有了这两个工具,Python相关的版本问题将不再是问题。

虚拟环境搭建:

  1. python3 3.6.8
  2. pip3 sudo apt install python3-pip
    whereis python3 —→ /usr/bin/python3
    whereis pip3 —→ usr/bin/pip3

virtualenv: 用于管理不同的工作环境

virtualenv | virtualenvwrapper
创建虚拟环境:
virtualenv 虚拟环境名字
默认去找python2
The path python2 (from --python=python2) does not exist

virtualenv -p /usr/bin/python3.6 虚拟环境名字

virtualenv -p /usr/bin/python3.6 mytest

进入虚拟环境:(激活虚拟环境)
source 虚拟环境目录/bin/activate

(mytest) running@ubuntu:~

退出虚拟环境:
deactivate

virtualenvwrapper:virtualenv的扩展包

安装:

  1. sudo apt install virtualenvwrapper
    /usr/share/virtualenvwrapper/ virtualenvwrapper.sh

  2. pip3 install virtualenvwrapper

usr/local/lib/python3.6/dist-packages

/home/running/.local/bin/virtualenvwrapper.sh

.bashrc ---->当前用户的环境变量的配置文件

$HOME --→ /home/running

在.bashrc的最后面添加:
export WORKON_HOME=$HOME/.Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6
source /home/running/.local/bin/virtualenvwrapper.sh

保存.bashrc

source .bashrc

常用命令:
mkvirtualenv shopping:创建虚拟环境 shopping
workon shopping: 工作在 online环境 或 从其它环境切换到 shopping 环境
deactivate: 退出终端环境
rmvirtualenv 虚拟环境的名字:删除运行环境 虚拟环境的名字
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包

pip list
pip freeze > requirements.txt

pip install -r requirements.txt

总结:

  1. virtualenv -p /usr/bin/python3 虚拟环境
    激活:source 虚拟环境/bin/activate
    退出虚拟环境: deactivate

  2. virtualenvwrapper 虚拟环境 的升级版

配置:.bashrc文件 (当前用户家目录cd ~ , ll)
.bashrc_profile

……
保存 source .bashrc
命令:
mkvirtualenv -p /usr/bin/python3 shopping:创建虚拟环境 shopping
workon shopping: 工作在 online环境 或 从其它环境切换到 shopping 环境
deactivate: 退出终端环境
rmvirtualenv 虚拟环境的名字

  1. 可以使用此方式:
    sudo apt-get install python3-venv
    python3 -m venv 虚拟环境
    source 虚拟环境/bin/activate
    退出: deactivate

Pyenv:
用于管理不同的Python版本
2.7
3.5
3.6
3.7.0
3.7.1

requirements.txt

pyenv是一个Python版本管理工具,它能够进行全局的Python版本切换,也可以为单个项目提供对应的Python版本。使用pyenv以后,可以在服务器上安装多个不同的Python版本,也可以安装不同的Python实现。不同Python版本之间的切换也非常简单。pyenv官方地址https://github.com/pyenv/pyenv-installer

  • 注意:
    • 使用pyenv管理python,必须是用pyenv安装的python才行,系统以前有的,需要重新用pyenv安装
    • 使用pip安装第三方模块时会安装到~/.pyenv/versions/xxx下,不会和系统模块发生冲突;
    • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。

export PATH=“ H O M E / . p y e n v / b i n : HOME/.pyenv/bin: HOME/.pyenv/bin:PATH”
eval “ ( p y e n v i n i t − ) " e v a l " (pyenv init -)" eval " (pyenvinit)"eval"(pyenv virtualenv-init -)”

source .bashrc

pyenv update 更新

pyenv install –list

强调:原生python3.6 python2.7 python3.7 操作系统

安装对应版本的python

pyenv install 版本号

pyenv versions 查看可以管理的版本有哪些

python 3.7.0
python 3.6.8
python 2.7.5
python 3.7.1

使用版本号:
pyenv global 3.6.8

使用3.6.8设置虚拟环境:
pyenv virtualenv 3.6.8 虚拟环境

进入虚拟环境:
pyenv activate 虚拟环境名字

退出:
pyenv deactivate 虚拟环境名字

pyenv:
3.6.8 --→
pyenv global 3.6.8
创建虚拟环境:
pyenv virtualenv 3.6.8 虚拟环境名

3.7.0
-----》
pyenv global 3.7.0
创建虚拟环境:
pyenv virtualenv 3.7.0 虚拟环境名

3.6.5
….

Psm :
镜像源:
pip python包管理器

pip install redis
pip install pymysql

需要安装:
pip install psm
psm的命令:

psm ls 浏览查看可以使用的镜像源

pypi https://pypi.python.org/simple/
douban http://pypi.douban.com/simple/
aliyun http://mirrors.aliyun.com/pypi/simple/
qinghua https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

psm use 镜像源的名字
如: psm use aliyun

psm show 查看镜像源

apt
apt install virtualenv

安装常用的软件:

  1. mysql
    数据库:mysql数据库

数据库:
大小:
大型: oracle , db2
中小型: sql server mysql,redis,mongodb,…

关系型和非关系型:
关系型数据库: mysql ,oralce,sql server
非关系型:NoSQL : redis, mongodb

数据库管理系统:
mysql 服务器

server

sudo apt install mysql-server mysql-client

ps -aux | grep mysql

sudo service mysql start
sudo service mysql stop

进入mysql服务器终端:

1。 命令窗口终端:
mysql -u用户名 -p密码

 sudo  mysql -uroot -p
 直接进入终端


 /etc/mysql/debian.cnf

# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]
host = localhost
user = debian-sys-maint
password = S9byvnkmo64Hdij3
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = S9byvnkmo64Hdij3
socket = /var/run/mysqld/mysqld.sock

尝试使用配置文件的用户名或者密码进行登陆:

mysql -udebian-sys-maint -pS9byvnkmo64Hdij3

show databases;

±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |

进入系统的数据库:
修改密码正确的步骤是:

use mysql;

select host,user from user;

update user set authentication_string=PASSWORD(‘root’) where User=‘root’;

update user set plugin=“mysql_native_password”; 必须要加否则修改不成功

flush privileges;

exit;


用户创建:
CREATE USER ‘username’@‘localhost’ IDENTIFIED BY ‘password’;

授权:(单独授权)

GRANT privileges ON databasename.tablename TO ‘username’@'localhost’

说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*

创建用户同时授权:(建议使用)
grant all privileges on . to test@localhost identified by ‘1234’;

flush privileges;#更新数据

****远程访问:
1. 切换到root用户完成, 修改配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf
注释掉: bind-address = 127.0.0.1
2.修改授权:
grant all privileges on . to ‘root’@’%’ identified by ‘root’;

flush privileges;****

回收权限:
REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;

删除用户:
DROP USER ‘username’@‘host’;

补充:
UFW或Uncomplicated Firewall是iptables的接口,旨在简化配置防火墙的过程。UFW默认安装在Ubuntu上。如果没有安装,你可以使用sudo apt-get install ufw 。

另外大家也可以使用sudo apt install gufw(此为图形界面的安装,可以通过图形界面修改防火墙)

  • ufw常见操作

    sudo ufw status                 #查看状态和规则
    sudo ufw disable                #禁用
    sudo ufw enable                 #启用
    sudo ufw reset                  #重置
    sudo ufw status numbered        #显示规则编号
    
  • 设置默认策略

    如果您刚刚开始使用防火墙,则首先要定义的规则是您的默认策略。这些规则控制如何处理未明确匹配任何其他规则的流量。

    sudo ufw default deny incoming   #拒绝所有传入连接
    sudo ufw default allow outgoing  #允许所有传出连接
    
  • 开启或禁用指定连接

    #允许连接
    sudo ufw allow 端口/服务
    
    #允许ssh远程连接
    sudo ufw allow ssh  #或者sudo ufw allow 22/tcp  
    
    #允许未加密的web访问
    sudo ufw allow http  #或sudo ufw allow 80
    #允许加密的web访问
    sudo ufw allow https  #或sudo ufw allow 443
    
    #允许ftp访问
    sudo ufw allow ftp  #或sudo ufw allow 21/tcp
    
    #允许远程mysql访问
    sudo ufw allow 3306
    
    #允许特定范围的端口
    sudo ufw allow 6000:6007/tcp #允许使用端口6000 - 6007 X11连接
    
    #允许特定ip地址
    sudo ufw allow from 15.15.15.51
    
    #允许特定子网
    sudo ufw allow from 15.15.15.0/24  #允许所有的IP地址范围从15.15.15.1到15.15.15.254
    
    #拒绝连接
    sudo ufw deny http
    sudo ufw deny from 15.15.15.51
    
  • 删除规则

    sudo ufw status numbered #先查看编号
    sudo ufw delete 2  #再按编号删除
    
    #按实际规则
    sudo ufw delete allow http
    sudo ufw delete allow 80
    
    
### 解决方案概述 在阿里巴巴云 Linux 3 上遇到 `yum` 命令无法正常使用的情况,可能是由于配置文件错误、网络连接问题或者仓库地址不可达等原因引起的。以下是针对该问题的具体分析和解决方案。 --- #### 配置 YUM 源 如果默认的 YUM 源失效,可以尝试更换为阿里云官方提供的稳定源。通过编辑 `/etc/yum.repos.d/` 下的相关 `.repo` 文件来实现自定义配置[^1]: ```bash cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF ``` 上述命令会创建一个新的 Kubernetes 软件包存储库配置文件,并将其指向阿里云镜像站点。此方法适用于需要安装特定软件(如 Kubelet、Kubeadm 和 Kubectl)的情形。 对于通用的基础系统更新,则需调整 CentOS 或 Alibaba Cloud Linux 的基础 YUM 源设置。例如,将以下内容写入到 `/etc/yum.repos.d/alinux.repo` 中: ```ini [alinux-base] name=Alibaba Cloud Linux $releasever - Base mirrorlist=http://mirrors.cloud.aliyuncs.com/$basearch/os/$releasever/base/mirrorlist.txt gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlibabaCloud-$releasever [alinux-extras] name=Alibaba Cloud Linux $releasever - Extras baseurl=http://mirrors.cloud.aliyuncs.com/$basearch/extras/$releasever/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPG-GPG-KEY-AlibabaCloud-$releasever ``` 完成以上更改之后运行清理缓存并重新加载元数据的操作: ```bash yum clean all && yum makecache fast ``` --- #### 网络连通性验证 确认服务器能够访问外部互联网资源非常重要。可以通过 ping 测试以及 curl 请求检查目标 URL 是否可达。比如测试阿里云公共 DNS 地址解析功能是否正常工作: ```bash ping mirrors.aliyun.com -c 4 curl http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/repodata/repomd.xml --head ``` 如果发现网络不通或超时现象,请联系 IDC 提供商排查物理链路状况;另外也可以考虑切换至其他可用区域内的实例再试一次。 --- #### SELinux 设置影响 SELinux 可能会对某些服务造成干扰,在调试阶段建议临时关闭它以便排除潜在冲突因素: ```bash setenforce 0 getenforce # 查看当前状态 ``` 注意这只是短期措施,生产环境中推荐采用更精细的安全策略而非完全禁用防护机制。 --- #### 数据库初始化提示 尽管本案例主要讨论的是关于 YUM 工具本身的问题,但如果涉及到了后续步骤中的数据库组件部署失败情况的话,也需要注意查看日志记录寻找线索[^3]。通常来说,这类警告信息往往暗示着前置条件尚未满足完毕——譬如缺少必要的依赖项或者是端口占用冲突等等。 --- ### 总结 综上所述,当面对阿里巴巴云 Linux 3 平台上发生的 YUM 功能异常情形时,可以从以下几个方面入手解决问题:一是修正本地配置文件使其适配最新的在线仓储链接;二是保障良好的通信环境从而顺利获取远程资料;三是适当调节操作系统层面的安全管控力度以免误伤合法进程活动最后别忘了仔细审阅整个流程里产生的各类反馈消息以定位深层次原因所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值