标签归档:Linux

Linux中设置UEFI启动项 -- efibootmgr

usage: efibootmgr [options]
-a | --active sets bootnum active
-A | --inactive sets bootnum inactive
-b | --bootnum XXXX modify BootXXXX (hex)
-B | --delete-bootnum delete bootnum (hex)
-c | --create create new variable bootnum and add to bootorder
-C | --create-only create new variable bootnum and do not add to bootorder
-D | --remove-dups remove duplicate values from BootOrder
-d | --disk disk (defaults to /dev/sda) containing loader
-e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess
-E | --device num EDD 1.0 device number (defaults to 0x80)
-g | --gpt force disk with invalid PMBR to be treated as GPT
-i | --iface name create a netboot entry for the named interface
-l | --loader name (defaults to \EFI\redhat\grub.efi)
-L | --label label Boot manager display label (defaults to "Linux")
-n | --bootnext XXXX set BootNext to XXXX (hex)
-N | --delete-bootnext delete BootNext
-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)
-O | --delete-bootorder delete BootOrder
-p | --part part (defaults to 1) containing loader
-q | --quiet be quiet
-t | --timeout seconds set boot manager timeout waiting for user input.
-T | --delete-timeout delete Timeout.
-u | --unicode | --UCS-2 pass extra args as UCS-2 (default is ASCII)
-v | --verbose print additional information
-V | --version return version and exit
-w | --write-signature write unique sig to MBR if needed
-@ | --append-binary-args file append extra args from file (use "-" for stdin)
-h | --help show help/usage

Ubuntu Server搭建svn服务以及迁移方法

采用apache+svn,http访问方式。

先确定安装了apache,没有安装则用以下命令:

sudo apt-get install apache2
然后安装subversion及svn-apache连接库:

sudo apt-get install subversion
sudo apt-get install libapache2-svn
增加svn用户组,用于管理svn,并加入到www-data的apache组:

sudo addgroup subversion
sudo usermod -G subversion -a www-data
然后可以创建svn项目仓库了:

# 一般可以将项目仓库建立到/home/svn目录
# 假设项目名为myproject,先建立空目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
#创建为svn项目,使用以下命令
$ sudo svnadmin create /home/svn/myproject
# 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
# 如果命令顺序搞错,可能会报错,请参照官方wiki
$ sudo chmod -R g+rws myproject
最后是配置apache,用http协议访问svn服务:

# 在安装了libapache2-svn时会自动生成该文件
$ sudo vim /etc/apache2/mods-available/dav_svn.conf
编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,最后内容大概如下即可:

<Location/svn> #/svn表示http://hostname/svn/myproject
DAV svn
SVNParentPath /home/svn #配置仓库父目录
AuthType Basic
AuthName "ToFishes Project Svn"
AuthUserFile /etc/apache2/dav_svn.passwd #svn用户文件
AuthzSVNAccessFile /etc/apache2/dav_svn.authz #授权访问文件
Require valid-user
</Location>
svn用户文件/etc/apache2/dav_svn.passwd 和 授权访问文件/etc/apache2/dav_svn.authz是不存在的,需要手动创建。

svn用户文件可以通过命令创建:

#首次创建需要加-c选项,同时可以增加一个svn用户
#执行该命令会提示为新用户user_name设置密码
sudo htpasswd -c /etc/subversion/passwd user_name
#以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了
sudo htpasswd /etc/subversion/passwd new_name
用户是可以添加了,同时需要管理授权,用于多个svn项目,划分不同的用户组:

用vim /etc/apache2/dav_svn.authz编辑授权文件,无文件则编辑并保存后会自动创建,无需担心。

授权文件内容格式如下:

#用户组指令
[groups]
#格式为 组名 = 用户名1,用户名2
group1 = user1, user2
group2 = user1, user3
#other groups...
#格式为 svn项目的仓库名:对应目录
[svn_repository_name:/]
#设置组的权限,r=read, w=write
@group1= rw
[svn_repository_name2:/web/css]
@group2= rw
改完最后重启apache : sudo /etc/init.d/apache2 restart。这样工作就全部完成了。

其中访问地址是什么呢,只要当前服务器已经绑定了一个域名,并且在apache中启用了此域名的虚拟主机。

比如能正常访问 http://www.linuxidc.com/, 那么svn项目的访问地址就是 http://www.linuxidc.com/svn/项目名。

 

迁移SVN仓库

用以上同样的方法在新服务搭建好SVN,接着导出原svn仓库资料,再导入到新svn仓库即可。

1. 在老服务器进行导出操作:
$ svnadmin dump 原先的repos的目录路径(/repository/directory) > dumpfile.svndump

2. 在新服务器将dumpfile.svndump导入到新的repository 目录中。
$ svnadmin load 新建的repos的目录路径(/repository/directory) < dumpfile.svndump

如果项目仓库比较多,附上一个批处理导出命令,导入的改改就行了:

#!/bin/bash
cd /home/svn
filelist=`ls`#符号·不是单引号,而是位于键盘感叹号左侧
for fname in $filelist
do
svnadmin dump $fname >/home/svndump/${fname}.svndump
#echo $fname
#最好是root用户执行,否则要sudo了
done
那么本地项目svn的检出及更新地址就需要变更了, 使用TortoiseSVN工具的右键找到Relocate菜单就可以了,而使用命令的话如下:

#在项目目录查看下仓库地址
$ svn info
#回显中的URL项就是旧版地址oldpath
#然后切换到新版地址newpath即可
$ svn switch--relocate http://oldpath http://newpath
#查看信息确认下
$ svn info

 

设置备份

目录结构:
root@HomeServer:/home/svn# ll
total 16
drwxrwxrwx 4 root root 4096 Aug 23 10:10 ./
drwxr-xr-x 14 root root 4096 Aug 23 09:05 ../
drwxrwsrwx 7 root subversion 4096 Aug 23 09:10 MyProject/
drwxrwsrwx 7 root subversion 4096 Aug 23 10:13 Public/
root@HomeServer:/home/svn#

配置文件:
[groups]
g_admin = hbn
g_public = Public
[MyProject:/]
@g_admin = rw
[Public:/]
@g_public = rw

Ubuntu 服务器配置

一、设置root密码

1.在终端键入sudo passwd;
2.会提示你要输入当前用户密码,按照提示输入,回车;
3.设置root密码,这时就会提示你键入root的密码,按照提示输入;
4.确认密码,会提示你再次输入密码确认;
5.登录root用户:su root,回车输入密码;
6.成功

二、开启 root ssh 登录

1.开启root远程登录权限
sudo vi /etc/ssh/sshd_config
将PermitRootLogin without-password 修改为PermitRootLogin yes
2.重启ssh服务
service ssh restart

三、升级与清理垃圾命令  --  最好更换源,用国内的;

sudo apt-get update
sudo apt-get dist-upgrade(耗时较长)

sudo apt-get autoclean 清理旧版本的软件缓存
sudo apt-get clean 清理所有软件缓存
sudo apt-get autoremove 删除系统不再使用的孤立软件

四、修改配置 samba

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf

[share]
path = /home/martin/samba_share
available = yes
browseable = yes
public = yes
writable = yes

[home]
path = /home
valid users = root
public = no
writable = yes
printable = no
create mask = 7777

设置目录权限
mkdir /home/martin/samba_share
sudo chmod 777 samba_share/

五、vsftpd本地用户root无法登录的问题

在etc目录下有个ftpuser文件,是用来记录不允许连接的用户列表,其中root也包含在里面。注释root这一行,再重新连接,就可以了。

六、增加用户

adduser self

七、设置固定ip地址

http://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html

八、pptpsetup命令行连接pptp vpn | 拨号

apt-get install pptp-linux
添加一个vpn连接,执行

pptpsetup -create vpnname -server xxx.xxx.xxx.xxx -username username -password passwd -encrypt (记得改一下)
PS:更多选项运行”pptpsetup –help”

这样其实是写入了/etc/ppp/peers/ 这个目录下面(网上有在这个目录新建文件的方法,看来不如这个方便)

/etc/ppp/chap-secrets 用户名密码写入到了这个文件

上线:

pon vpnname
下线:

poff vpnname (全部下线poff -a)
然后ifconfig查看一下多了ppp0这个网络

现在还不能通过vpn来走

因为并不知道数据该怎么走,很明显要配一下路由

#route 查看现在的默认路由,下面两条操作将默认路由改为vpn的地址,删除原来的默认路由

route add default gw 10.19.1.1
route delete default gw xxx.xxx.xxx.yyy
或者这样更简便

route del default
route add default dev ppp0 (Linux设置默认路由,如果不用vpn当默认出口可以不用设置)
route add -net 192.168.2.0 netmask 255.255.255.0 dev ppp0

这样就能通过vpn来做事了。

九、开机自动运行

vim /etc/rc.local

十、DLNA服务器

a、使用apt-get安装
sudo apt-get install minidlna
b、修改minidlna配置
sudo gedit /etc/minidlna.conf
参数名 说明
port 服务端口,默认为8200。如果有防火墙配置,需要开放。
media_dir 媒体目录可以设置多个,如:media_dir=V,/noah/videos(逗号前为类型标识:A音频,P图片,V视频)
friendly_name 服务名称,在其它设备中看到的名称
inotify 设置为true,将自动发现媒体目录中的新文件

一般也就设置以上的参数就可以了。

c、重启minidlna服务
sudo /etc/init.d/minidlna force-reload       如果发现没有显示出文件,可以执行它;

十一、USB摄像头WEB界面视频

sudo apt-get install motion
sudo vim /etc/motion/motion.conf

Daemon = on 配置的时候改成off
webcam_localhost = off
webcam_port 8082 #默认8081不修改出现无法访问
sudo vim /etc/default/motion

start_motion_daemon=yes #开机自动运行
sudo /etc/init.d/motion start
sudo du -h /tmp/motion/ #这个目录产生好多照片
sudo netstat -anl |grep 8082 #查看
http://192.168.0.36:8082 #访问视频监控画面

如何借助Motion操控Linux监控摄像头:http://os.51cto.com/art/201407/445709.htm

十二、防止重启自动清空tmp

vim /etc/default/rcS
TMPTIME=0 改成TMPTIME=7 一周清理一次
TMPTIME=-1 永远不自动清理

十三、迅雷远程下载

Linux环境下使用迅雷下载(Xware):http://my.oschina.net/u/1382972/blog/285129
Linux(x86)下安装教程,以及init.d服务脚本,可自启动:http://luyou.xunlei.com/thread-3290-1-1.html

十四、修改时区

默认时区是Etc/UTC,和我们的北京时间相差8个时区,需要修改系统的时区,以下有两种简单方式修改系统时区:
1.使用命令行交互界面修改.
sudo dpkg-reconfigure tzdata
选择相应的时区.
2.修改/etc/timezone文件
vi /etc/timezone
把Etc/UTC改成Asia/Shanghai,然后保存(:wq),重启机器.

十五、crontab设置

*/1 * * * * SHELL=/bin/bash DISPLAY=:0.0 /home/test.sh

十六、百度云

下载安装包:https://github.com/LiuLang/bcloud-packages

安装命令:dpkg -i file.deb ,会 提示需要安装python,按照提示安装就可以了;

十七、流量监控

Linux VPS流量查看/监测工具 -- vnStat

十八、SVN

Ubuntu Server搭建svn服务以及迁移方法

十九、修改ssh端口号
/etc/ssh/sshd_config 将Port 22这一行取消注释,改成自定义的即可。注意别忘了修改iptable防火墙设置。
自定义端口选择建议在万位的端口(如:10000-65535之间)
重启 ssh 命令:service sshd restart

二十、Linux 系统实时监控的瑞士军刀 —— Glances (Ubuntu上目前还没有安装)

译文:https://linux.cn/article-2782-1.html

原文:http://www.tecmint.com/glances-an-advanced-real-time-system-monitoring-tool-for-linux/

 

 

OpenWRT Chaos Calmer 15.05

安装中文
opkg update
opkg install luci-i18n-base-zh-cn luci-i18n-commands-zh-cn luci-i18n-diag-core-zh-cn luci-i18n-firewall-zh-cn

pptp外拨失败的解决办法
opkg install kmod-nf-nathelper-extra

配置 PPTP(VPN客户端)

opkg update
opkg install ppp-mod-pptp
opkg install luci-proto-ppp

编辑 /etc/config/network 文件,添加如下内容
config 'interface' 'vpn'
option 'proto' 'pptp'
option 'ifname' 'vpn'
option 'username' 'vpnuser'
option 'password' 'vpnpass'
option 'server' 'vpn.example.org'

Linux系统添加swap虚拟内存与删除配置

1.swap概述
Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。 其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

2.创建swap
由于在安装Centos 6.0 操作系统时候忘记创建创建swap分区,导致使用zabbix对该服务器监控时出现报警。这时才发现,没有创建swap分区。所以需要创建一个swap分区,操作如下:

首先,用拥有ROOT权限的用户通过SSH远程登入或者本地终端登入到系统,进行创建swap分区

dd if=/dev/zero of=/swap/swap bs=1024 count=1024000

if //输入
of //输出
bs //块儿大小
count //总大小
创建Linux交换文件
mkswap /swap/swap
立即激活/swap/swap交换文件
swapon /swap/swap
查看是否生效
[root@webserver ~]# free -m
total used free shared buffers cached
Mem: 2007 140 1867 0 8 35
-/+ buffers/cache: 96 1911
Swap: 972 0 972
通过以上输出信息可以看出,已经成功创建swap分区。
设置成永久生效
虽然现在已经生效,但是等下次服务器重启之后。该swap虚拟磁盘会失效,为保证永久生效,需要在/etc/fstab文件添加如下指令集:
echo "/swap/swap swap swap defaults 0 0" >> /etc/fstab
现在为止,swap分区已经完成创建。

3.删除swap分区

有时可能会需要删除swap分区,该如何正确进行删除分区哪?

首先停止swap分区
swapoff /swap/swap
删除swap分区文件
rm -rf /swap/swap
删除"/etc/swap"指定文件
这样就可以手工添加和删除swap分区。

CentOS虚拟机NAT方式无法上网解决方法

在使用CentOS虚拟机时,出现了无法上网的情况,使用主机ping虚机地址可以ping通,而虚机ping不通主机,同时虚机也无法ping通其他的网址或ip,显示内容为Network is unreachable,后来经过在网上查找解决方法,解决问题,记录如下:

首先打开服务,在services.msc中将VMware的DHCP和NAT服务开启。并修改虚机的接入方式,可以在“编辑虚拟网络”中查看,如下图

1
打开后如下
VMnet0是桥接方式,VMnet1是Host-only方式,VMnet8是NAT方式,子网IP可以自己设置,见1,修改后,需要把2,3中的地址段同时对应修改。

2

这时候最好把除了NAT外其它两个连接方式停掉,将1上面,connect的勾去掉就可以了

之后需要在虚机设置中选择NAT连接方式,,如果没有网络连接方式需要自己添加一下。以上这些设置方法网上有很多,不再赘述。
3
之后仍旧无法联网的,需要打开虚机看看虚机的网络设置了。命令如下
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
其中部分内容如下:
DEVICE=eth0 #设备名称
BOOTPROTO=dhcp #连接方式,dhcp会自动分配地址,此时不需要在下面设置ip和网关
HWADDR=00:0C:29:AD:66:9F #硬件地址,不要修改
ONBOOT=yes #yes表示启动就执行该配置,需要改为yes
网上会有些方法需要在这里添加ip地址,子网掩码,dns之类的,之前安装这些方法试验过,都不行,而且添加的这些内容后来还影响到了上网,所以,不建议采用那些方式添加这些内容。

修改完后需要重启网络设置,可以
# service network restart
或者
# /etc/init.d/network restart
此时如果还是无法连接网络,再回到物理主机,查看网络连接中的本地连接的共享是否打开,在状态->属性->共享中查看,如果没有共享选项卡,就找百度。如果共享已经打开,将Host-Only Network和VMnet8中的ipv4和ipv6服务停掉,前面的勾去掉
4

至此,我的虚机网络连接正常了