配置本地yum源 windows和linux之间共享文件

http://yum.baseurl.org/wiki/RepoCreate
1.yum install createrepo
2.createrepo /srv/local/repo
Note:repo目录下存放的是rpm包,在将所有rpm包拷贝到此路径下之前,再执行2中的命令,createrepo是为了生成管理这些rpm包的信息
3.add the file xxx.repo in /etc/yum.
[srv-local-repo]
name=This is the local(/srv/local/repo) repo by lixubo
baseurl=file:///srv/local/repo
enabled=1
gpgcheck=0
/////////////////////////////////////////////////////////////////////////////////////////////////
方式二:挂在系统iso;
mount -r -o loop *.iso /mnt/cdrom –>可以看到iso中所有的文件,然后在仿照2中步骤创建本地源
创建本地源之后,需要更新本地源:
yum clean all
yum makecache

windows和linux之间共享文件总结

前提:统一局域网内,网络连通

场景一:windows访问windows共享文件:简单到不想多写

场景二:windows访问linux共享文件:
SMB协议;linux作为samba服务器,Windows直接访问\linux_ip\share
step:

yum install samba samba-client
//insert code into /etc/samba/smb.conf
[share] # by this to use the path in windows
path = /home/gzd/smbshare   #share path
public = yes
writable = yes
valid users = username      #use this to r/w this path
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
available = yes
//insert username the passsswd; default [enter]
smbpasswd -a username
//service restart; disable selinux; firewalld stop
systemctl restart smb
setsebool -P samba_enable_home_dirs on 
systemctl stop firewalled
//use example in windows
\\linux-ip\share

场景三:linux访问linux共享文件
NFS协议;/etc/ecports;开启nfs-services;关闭防火墙;检测selinux是不是已经关闭
step
1. LinuxA:作为nfs服务器
a) 在/etc/exports文件中新增内容如下:
/home/smbshare 10.175.112.225/22(rw,sync,no_root_squash)
/home/smbshare为共享文件夹;10.175.112.225为可访问该共享文件夹的ip;22为子网掩码
b) 启动nfs服务service nfs restart
c) 关闭防火墙 systemctl stop firewalled.service
2. LinxuB:挂载共享目录(此处讨论包括Android环境,pc环境可能也适用)
a) 首先确认系统是否支持nfs系统;查看 sys/module目录下是否有nfs(pc查看/proc/fs),如果没有
i. 找到对应的nfs.ko进行安装
ii. 打开config中CONFIG_NFS_FS(CONFIG_NFS_V4)开关重新编译系统镜像刷机
b) 创建挂载点 mkdir /mnt/smbshare
c) 挂载:mount -o nolock –t nfs /linuxA_ip:/home/smbshare /mnt/smbshare (与1中对应,有时候linuxA_ip前的反斜杠可能不需要)
i. 如果报错Invalid argument:使用busybox mount;(Android下mount是阉割版)
ii. 如果还报错input/output error:检查selinux:getenforce 如果输出为Enforcing,执行setenforce 0;(pc也可修改修改/etc/selinux/config 文件将SELINUX=enforcing改为SELINUX=disabled;reboot)
d) http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html

场景四:linux访问windows共享文件
SMB协议;linux使用cifs挂载;如果是android,mount不能使用时,可以尝试使用busybox mount
step:
1. Windows下创建共享文件夹 share :D:/malluma/share
2. Linux(android)
a) 安装cifs包:cifs-utils
b) 创建共享文件挂载点:mkdir /mnt/share mkdir /mnt/mallumashare
c) 挂载共享文件:mount -t cifs -o username=abc,password=123 //windows_ip/share /mnt/share
d) 使用时将username以及password和windows_ip替换掉
3. 访问/mnt/share 就相当于访问windows下share文件内容
a) 创建文件
b) 读写文件

Question1:可以打开文件夹,但是看不到具体的文件,试试修改/etc/sysconfig/selinux中SELINUX=disabled ,reboot重启生效
Question2:报错NT_STATUS_CONNECTION_REFUSED
关闭防火墙
systemctl stop firewalld.service
重启smb服务
service smb restart
Question3:针对于场景四(Windows上smb协议有v1/v2/v3)
mount失败,根本原因是Windows上smbv1服务没有开;
但是mount这个命令默认使用v1,即使Windows上SMBV2和smbV3已经开启,也会失败。
所以方法一是指定mount的时候指定vers=2.0或3.0;方法二是启动Windows上v1;
windows开启smb服务的方式:https://support.microsoft.com/zh-cn/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and

你可能感兴趣的:(运维)