分类: LINUX
2015-01-22 22:36:44
使用字符界面安装fedora linux时,很多rpm软件包并没有安装,如果使用rpm 命令来安装软件包,会因为软件包依赖的关系,使人感觉很烦。那有没有一种比较简单的方法,能避免自己去找软件包的依赖关系呢?答案是有的,那就是yum。
Yum在安装rpm软件包是会自动的去寻找软件包的依赖关系,并自动的把依赖的软件包安装好。
1.1 如果linux是安装在VMware上,请在VMware中的cdrom中加载iso的linux安装包Fedora-12-i386-DVD.iso,加载iso方法如下。
1.1.1 点击VMware软件的右下角
1.1.2 并在弹出框的选项中选择settings
1.1.3 选择use ISO image file,并选择正确的ISO存放路径
1.1.4 使用mount –t auto /dev/cdrom /mnt把VMware中cdrom的ISO挂载到/mnt目录下
2.1 在把ISO镜像挂载到/mnt目录后,cd /mnt/Packages/跳转到rpm包的存放位置
2.2 安装yum的rpm包:rpm -ivh yum-3.2.25-1.fc12.noarch.rpm
2.3 安装成功,提示下面信息
[root@localhost Packages]# rpm -ivh yum-3.2.25-1.fc12.noarch.rpm
Preparing... ########################################### [100%]
3.1 cd /etc/yum.repos.d/,在yum.repos.d目录下面建立一个fedora-iso.repo文件,并输入以下内容保存退出。
[root@localhost yum.repos.d]# vi fedora-iso.repo
[dvd]
name=fedora-iso
baseurl=file:///mnt/
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-fedora
3.2 把yum.repos.d目录下的其他几个文件使用mv命令改成其他的名字。
[root@localhost yum.repos.d]# mv fedora.repo fedora.repo.bak
[root@localhost yum.repos.d]# mv fedora-updates-testing.repo fedora-updates-testing.repo.bak
[root@localhost yum.repos.d]# mv fedora-rawhide.repo fedora-rawhide.repo.bak
[root@localhost yum.repos.d]# mv fedora-updates.repo fedora-updates.repo.bak
网上有很多说要使用createrepo建立rpm包依赖数据库,其实在fedora12的ISO中就已经有自己的已经关系数据库了,在ISO的repodata目录下。
4.1使用命令安装rpm包,如:yum localinstall samba-3.4.2-47.fc12.i686.rpm
//--------------转载后注---------------------------------------------------------------------------
同样可以用yum install samba 命令来安装,界面将更加简洁,不会出现太多中间过程
//-----------------------------------------------------------------------------------------------------
如果正确安装,过程如下:
[root@localhost Packages]# yum localinstall samba-3.4.2-47.fc12.i686.rpm
Setting up Local Package Process
Examining samba-3.4.2-47.fc12.i686.rpm: samba-3.4.2-47.fc12.i686
Marking samba-3.4.2-47.fc12.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package samba.i686 0:3.4.2-47.fc12 set to be updated
--> Processing Dependency: samba-common = 3.4.2-47.fc12 for package: samba-3.4.2-47.fc12.i686
...很多省略
5.1 注意,如果安装过程中有下面信息错误信息提示:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 signature: NOKEY, key ID 57bbccba
Public key for samba-3.4.2-47.fc12.i686.rpm is not installed
这是因为没有安装rpm包的签名信息导致,只有安装下签名信息即可:
[root@localhost Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
[root@localhost mnt]# rpm -qa | grep samba
如果出现下面三行内容,则表示已经安装好了Samba
samba-winbind-clients-3.4.2-47.fc12.i686
samba-common-3.4.2-47.fc12.i686
samba-3.4.2-47.fc12.i686
如果没有安装好,需要挂载安装光盘Fedora-12-i386-DVD.iso
[root@localhost /]# mount –t auto /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost /]# cd /mnt/
[root@localhost mnt]# ls
EFI Packages RPM-GPG-KEY-fedora-ppc
GPL repodata RPM-GPG-KEY-fedora-ppc64
images RPM-GPG-KEY-fedora RPM-GPG-KEY-fedora-x86_64
isolinux RPM-GPG-KEY-fedora-12-primary TRANS.TBL
media.repo RPM-GPG-KEY-fedora-i386
[root@localhost mnt]# cd Packages/
[root@localhost Packages]# rpm -ivh samba-3.4.2-47.fc12.i686.rpm
即可安装成功。
如果不能安装,有依赖关系提示的话,请使用yum安装:
[root@localhost Packages]# yum localinstall samba-3.4.2-47.fc12.i686.rpm
[root@localhost /]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts smb.conf smbpasswd smbusers
这里的smb.conf是samba服务器的主要配置文件。
还要注意一点,smbpasswd文件是用来存储用户帐号和经过md5加密后的密码。
刚安装好samba服务时,此文件不存在。需要手工创建。下面会介绍。
◆编辑smb.conf文件
[root@localhost samba]# vi smb.conf
进行如下设置:
#============================ Share Definitions ==============================
[homes]
comment = Home Directories
browseable = yes
writable = yes
; valid users = %S
; valid users = MYDOMAIN/%S
# A publicly accessible directory, but read only, except for people in
# the "staff" group
; [public]
; comment = Public Stuff
; path = /home/dengfei
; public = yes
; writable = yes
; printable = no
; write list = +staff
wq! (保存退出)
提示:
path = /home/dengfei ,/home/dengfei为共享目录
[root@localhost samba]# service smb start
Starting SMB services: [ OK ]
[root@localhost samba]# service nmb start
Starting NMB services: [ OK ]
1)建一个系统用户
[root@localhost samba]# useradd testuser (建一个名叫testuser的用户)
[root@localhost samba]# passwd testuser (给testuser用户添加密码)
Changing password for user samba.
New password: (密码要六位以上,不显示在屏幕上)
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new password: (确认密码)
passwd: all authentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@localhost samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
3) 然后创建samba帐户
[root@localhost samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
Added user testuser.
6、重新启动smb服务
[root@localhost samba]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@localhost samba]# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
1、 打开selinux共享
[root@localhost samba]# setsebool -P samba_enable_home_dirs on
2、 开启samba读写权限
[root@localhost samba]# setsebool -P samba_export_all_rw on
3、 关闭防火墙
[root@localhost samba]# chkconfig iptables off (永久关闭,重启不复原)
[root@localhost samba]# service iptables stop (马上生效,启动后又打开了)
在Linux 下访问自己的samba服务器,显示信息为:
如果没有smbclient命令,就先要按照smbclient rpm包。
[root@localhost samba]# smbclient -L //192.168.40.200 -U dengfei
Enter dengfei's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.4.2-47.fc12]
Sharename Type Comment
--------- ---- -------
homes Disk Home Directories
IPC$ IPC IPC Service (Samba Server Version 3.4.2-47.fc12)
dengfei Disk Home Directories
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.4.2-47.fc12]
Server Comment
--------- -------
LOCALHOST Samba Server Version 3.4.2-47.fc12
Workgroup Master
--------- -------
MYGROUP LOCALHOST
WORKGROUP IPANEL-C4977EBB
参考文档:
(外国人写的,比较有技术含量)
(介绍samba的由来及详细资料,可以随便看看)
rpm -qa | grep tftp
如果有显示:
tftp-0.49-5.fc12.i686
tftp-server-0.49-5.fc12.i686
就表示软件包有正确安装。
如果没有任何提示表示没有安装软件包,需要下载tftp-0.49-5.fc12.i686.rpm和tftp-server-0.49-5.fc12.i686.rpm,并且下载xinetd-2.3.14-31.fc12.i686.rpm软件包并安装,
安装命令:
rpm -ivh tftp-0.49-5.fc12.i686.rpm
rpm -ivh xinetd-2.3.14-31.fc12.i686.rpm
rpm -ivh tftp-server-0.49-5.fc12.i686.rpm
如果有安装软件包,则需要配置tftp服务,运行命令:vi /etc/xinetd.d/tftp 配置成如下格式:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
其中,server_args用于指定tftp的目录,-s指定目录,-c指定了可以创立文件。
如果没有/tftpboot目录,则使用命令:mkdir /tftpboot命令创建这个目录,并使用命令chmod 777 -R /tftpboot命令改变目录权限。
做好这些后,使用命令:service xinetd restart 启动tftp服务。
验证tftp服务是否可以使用,在/tftpboot目录下面放置一个文件test.txt。在命令输入框中cd 跳转到其他目录做如下操作:
[root@localhost home]# cd /home/
[root@localhost home]# tftp 192.168.1.100
tftp> get test.txt
tftp> q
[root@localhost home]# ls
test.txt
如果没有提示,并且在当前目录能看到get的文件,说明tftp安装成功。
如果在测试tftp时,出现如下错误:
Error code 0: Permission denied
出现这样的问题是因为selinux造成的,只要修改/etc/sysconfig/selinux中的SELINUX改成SELINUX=disabled,在重启就能解决。
1、 查询是否已经安装nfs软件包
rpm –qa | grep nfs
如果有下列显示,则表示已经安装nfs软件包:
[root@localhost home]# rpm -qa | grep nfs
nfs-utils-lib-1.1.4-8.fc12.i686
nfs-utils-1.2.0-18.fc12.i686
如果没有安装则使用yum安装,
yum localinstall nfs-utils-1.2.0-18.fc12.i686.rpm
修改nfs共享设置:
[root@localhost ~]# vi /etc/exports
/share *(rw,no_root_squash,sync,no_all_squash)
wq!保存退出