mac os

macOS系统下配置FRP客户端并实现开机自启动

是的,你没看错,我脑子也没问题macOS系统下配置FRP客户端并实现开机自启动 今天要说说怎么在macOS系统下配置和使用FRP客户端,从而实现内网穿透,让我们可以随时随地的访问我们的macOSmacOS系统下配置FRP客户端并实现开机自启动

你一定想说,网上FRP的教程随便一搜都能找到一大堆,这还用你再说一遍?你这骗金币也骗的太没水平了macOS系统下配置FRP客户端并实现开机自启动

你就姑且当我是想骗一两个金币吧macOS系统下配置FRP客户端并实现开机自启动

好了,这次真的是要介绍在macOS下如何配置和使用FRP客户端,并且还为跟我一样懒的各位童鞋稍微介绍一下如何在macOS下实现FRP自启动,如果你喜欢每次登陆macOS后自己手动启动,然后留着一个“终端”窗口在那,下面将要说的的内容与你无关了macOS系统下配置FRP客户端并实现开机自启动

言归正传,要在macOS下配置和使用FRP,第一步当然就是去下载FRP的客户端程序了

以下内容均是假设你已经搭建有、或者白嫖到、或者跟别人共用着FRP服务端macOS系统下配置FRP客户端并实现开机自启动 反正就是有一个能正常使用的FRP服务器的前提下,如果没有FRP服务器,赶紧自个想办法整一个

首先让我们打开世界上最大的同macOS系统下配置FRP客户端并实现开机自启动macOS系统下配置FRP客户端并实现开机自启动macOS系统下配置FRP客户端并实现开机自启动 友网站GitHub,让我们进入这里下载与服务器对应的版本,mac下用的是darwin_amd64.tar.gz的。一定要注意,一定要选择与FRP服务端对应的版本,比如我一直用着v0.16.1的老版本,所以我只能找这个版本的darwin压缩包

接下来第二步,当然是把下载回来的文件解压到你喜欢的地方去,比如我就偷懒直接在Downloads里解压了macOS系统下配置FRP客户端并实现开机自启动

解压得到的文件,我偷懒就直接在Downloads里解压了解压得到的文件,我偷懒就直接在Downloads里解压了

解压好了我们进入解压出来的文件夹里编辑frpc.ini配置文件,如果你要使用frpc的更多功能的话,请自行编辑frpc_full.ini配置文件,GitHub有很详细的说明文档,这里就不多余介绍了macOS系统下配置FRP客户端并实现开机自启动

[common]
server_addr=xxx.xxx.xxx.xxx
server_port = 7000

[macOS VNC]
type = tcp
local_ip = 0.0.0.0
local_port = 5900
remote_port = 5900

[macOS SSH]
type = tcp
local_ip = 0.0.0.0
local_port = 22
remote_port = 5922

frpc.ini的配置跟Windows或者Linux下没什么区别,注意填上你正确的FRP服务器地址和端口就行了,上边代码里server_addr=xxx.xxx.xxx.xxx代表你的FRP服务器地址,server_port = 7000代表你FRP服务器的端口,千万别照抄我的macOS系统下配置FRP客户端并实现开机自启动 SSH默认的端口是22,VNC默认的端口是5900,如果你修改过,请填写正确的本地端口,remote_port则表示穿透到外网使用的端口,请确保在服务器的系统防火墙上放行了这些端口,且没有被其他程序占用,否则你是连不上的macOS系统下配置FRP客户端并实现开机自启动

配置好frpc.ini配置文件之后,让我们先./frpc -c frpc.ini执行以下,在外网试试看能不能穿透,能不能连进来,如果可以成功连上你的macOS,那就继续下一步,不行就查日志看看什么错误吧macOS系统下配置FRP客户端并实现开机自启动

好,接下来我们将进行最重要的一步操作,也就是第三步,让FRP客户端能开机后在后台自启动,不弹出任何的窗口或者终端

要实现macOS下程序的自启动,很多人都知道在“设置” – “用户和群组”中设置和取消开机启动,但这里要说的是另外一种方式,那就是launchd的方式,通过在launchd下编写plist启动文件实现FRP带参数启动。这里要啰嗦两句,在launchd下其实有两种实现程序自启的方式

1.如果需要 root,并且是需要用户登陆后才能运行,把 plist 放在 /Library/LaunchAgents/
2.如果需要 root,并且不需要用户登陆后都能运行,把 plist 放在 /Library/LaunchDaemons/

怎么理解呢,第一种就是系统启动后,你不登录到桌面,程序就不会在后台启动,类似于Windows下的开始菜单里的startup。第二种就是系统启动后,程序也随系统在后台启动,不管用户是否登录桌面,类似于Windows下的系统服务。你需要哪种方式让程序自启,自行选择第一种或者第二种。

出于安全的考虑或者说被迫害妄想症作怪macOS系统下配置FRP客户端并实现开机自启动 我不想完全把我的macOS暴露出去,我只选择了在/Library/LaunchAgents/创建plist

sudo vim ~/Library/LaunchAgents/frpc.plist

让我们用上面的命令创建FRP的启动文件frpc.plist,并用vim编辑它,你当然也可以用你自己喜欢的编辑器编辑macOS系统下配置FRP客户端并实现开机自启动

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version=”1.0″>
<dict>
<key>Label</key>
<string>frpc</string>
<key>ProgramArguments</key>
<array>
<string>/Users/xxxxxxxx/Downloads/frp_0.16.1_darwin_amd64/frpc</string>
<string>-c</string>
<string>/Users/xxxxxxxx/Downloads/frp_0.16.1_darwin_amd64/frpc.ini</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

将上面一段代码粘贴到frpc.plist里,粗体字部分请修改为你的frpc和frpc.ini的真实路径,千万别照抄作业哦,老师会发现的macOS系统下配置FRP客户端并实现开机自启动

最后,在终端输入下面的两段命令给frpc.plist赋予权限,并加载配置到系统使配置生效

sudo chown root ~/Library/LaunchAgents/frpc.plist
sudo launchctl load -w ~/Library/LaunchAgents/frpc.plist

好了,现在你可以重启系统,然后就会发现FRP客户端已经可以随系统自启了

打开活动监视器,可以看到frpc的后台进程

如果某一天你后悔了,不想让它自启了,只要在终端里输入下面的命令,下次FRP客户端就不会跟随你的系统自启了

sudo launchctl unload -w ~/Library/LaunchAgents/frpc.plist

macOS X Mount NFS Share / Set an NFS Client

Network File System (NFS), a distributed file system protocol developed by Sun Microsystems. NFS is the common for file sharing on NAS server and Linux / UNIX systems like, HP-UX, Solaris, Mac OS X, and

Tutorial details
Difficulty level Intermediate
Root privileges Yes
Requirements OSX 10.6.x/10.7.x
Est. reading time 10m

others. Mac OS X can be setup as an NFS client to access shared files on the network. Mounting NFS volumes in OS X can be done using following methods: 

ADVERTISEMENT

a] Command line option.

b] GUI option.

macOS X Mount NFS Share / Set an NFS Client

Our sample setup for macOS client and nfs server:

        nas01                                   Laptop/Desktop
   +--------------+                           +--------+
   |  UNIX/Linux  |                           | Mac    |
   |    NFS       +---------------------------+ OS X   |
   |   SERVER     |  mount nas01:/mp3 /nfs    | Client |
   +--------------+                           +--------+
         |                                    (192.168.3.100)
     (shared dirs)
         /
         --/Sales
         --/Mp3
         --/Data
         --/wwwroot
   (192.168.3.1) 
See all UNIX related articles/faq

nas01 allows your users or client compute to access files over a network. Mac OS can mount file system over a network and work as they are mounted locally. This is perfect for sharing files or centralized home directories. See how to setup an NFS server under RHEL / CentOS Linux and Ubuntu Linux here. 

How Do I Find Out Shared Directories?

To mount an NFS file system, the resource must be made available on the NAS or NFS server. To verify that resource available open the terminal and type the following command:
$ showmount -e nas01
$ showmount -e nfs-server-ip-address-here
$ showmount -e nas01.lan.nixcraft.net.in

Sample outputs:

Fig.01: UNIX showmount command lists all clients that have remotely mounted a filesystem from NFS server

Fig.01: UNIX showmount command lists all clients that have remotely mounted a filesystem from NFS server

The showmount command show remote NFS mounts (resources).

Mac OS X Nfs mount Command

First, create a directory to mount an nfs share, enter:
$ sudo mkdir /private/nfs
$ sudo mkdir /private/mp3

To mount an NFS file system, enter:
$ sudo mount -t nfs nas01:/mp3 /private/nfs
OR
$ sudo mount -t nfs 192.168.3.1:/mp3 /private/nfs
To mount an NFS file system in read/write mode, enter:
$ sudo mount -o rw -t nfs nas01:/mp3 /private/nfs

Tip: Operation not permitted Error

If you get an error which read as follows:

 192.168.3.1:/mp3 Operation not permitted

Try to mount it as follows with -o resvport command:
$ sudo mount -t nfs -o resvport 192.168.3.1:/mp3 /private/nfs
OR mount an NFS in read/write mode, enter:
$ sudo mount -t nfs -o resvport,rw 192.168.3.1:/mp3 /private/nfs
From the man page:

resvport
Use a reserved socket port number. This is useful for mounting
servers that require clients to use a reserved port number on the
mistaken belief that this makes NFS more secure. (For the rare
case where the client has a trusted root account but untrustwor-
thy users and the network cables are in secure areas this does
help, but for normal desktop clients this does not apply.)

Verify: NFS Is Working or Not

Type the following commands:
df -H
$ cd /private/nfs
$ ls -l

Sample outputs (note I’ve mounted it at /private/mp3/ dir):

Fig.02: UNIX df command

Fig.02: UNIX df command which displays information about total space and available space for NFS

How Do I Copy Files?

Use the cp command:
cp /path/to/file.doc /private/nfs/
$ cp -a /path/to/*pl /private/nfs/
$ cp /private/nfs/mp3/*.mp3 ~/mp3

Using the Finder

Note: The following entry “NFS mounts” in the Disk Utility does NOT exist in MAC OS X v10.8+. The following discussion only applies to the older Mac OS X version <= 10.7.x and eariler.

The Finder is the default file manager used on the Mac OS and Mac OS X operating systems that is responsible for the overall user-management of files, disks, network volumes and the launching of other applications. Open Finder > Shared (select from the left sidebar) > NFS server (nas01 or 192.168.3.1):

Fig.03: The Finder in action (browse an NFS share)

Fig.03: The Finder in action (browse an NFS share)

Now, you can copy and paste files as usual. 

Recommend mount Command Options

I suggest that you run the mount command it as follows to get better a performance:
$ sudo mount -t nfs -o soft,intr,rsize=8192,wsize=8192,timeo=900,retrans=3,proto=tcp nas01:/sales /private/sales
OR
sudo mount -t nfs nfs -o soft,timeo=900,retrans=3,vers=3, proto=tcp nas01:/sales /private/sales
See mont_nfs(8) for more information.

GUI Method: HowTo Set Mac OS X As an NFS Client

To mount an NFS share from OS X using GUI tools, follow these steps:

[1] Start Finder, and go to Applications / Utilities / Disk Utility:

Fig.04: Starting Disk Utility

Fig.04: Starting Disk Utility

You will see the disk utility as follows: 

Fig.05: Click the 'Mounts' icon at the top of the Directory Utility panel

Fig.05: Click the ‘Mounts’ icon at the top of the Directory Utility panel

[2] Alternatively, you can select “Disk utility” > click on File > Mount NFS as follows:
Fig.06: Mounting an NFS using - Disk Utility > File > Mount optionYou will see an “NFS mounts” window as follows:

Fig.07: OS X NFS Mounts to set it as an NFS Client

Fig.07: OS X NFS Mounts to set it as an NFS Client

[3] Click on “+” icon:

Fig.08: Setting up an NFS mount options in the dialog box

Fig.08: Setting up an NFS mount options in the dialog box

You need to enter your remote NFS server URL (IP address or dns name) in the following format:
nfs://192.168.3.1/mp3
nfs://nas01/mp3

Where, 

  1. 192.168.3.1: NFS server IP address.
  2. nas01: NFS server dns name.
  3. mp3: Shared nfs directory name.

You need to set mount location as follows:
/Volumes/mp3
/Volumes/mp3 is nothing but the mount location. This is a convenient place. In this example, you entered the URL as nfs://192.168.3.1/mp3, enter /Volumes/mp3 as the mount location. Please note that don’t create the subdirectory (mp3); it will be created dynamically when the share is mounted.

Optional

Click the arrow in front of “Advanced Mount Parameters”. A new text entry box is displayed. Enter: resvport (this is only required if you get some sort of error [see above for more info or read mount_nfs man page]).
[4] Finally, click “Verify” button at the bottom right:

Fig.09: Verify NFS mount configuration which only checks that your NFS server is enabled and working correctly.

Fig.09: Verify NFS mount configuration which only checks that your NFS server is enabled and working correctly.

[5] You will see a popup window, stating that “The NFS server appears to be functional” > Click “OK” button to continue. Finally, Click “Save” button. You may be prompted for the password to make changes. Your NFS share should appear at the mount location you entered above i.e. /Volumes/mp3.

Fig.10: NFS Share mounted

Fig.10: NFS Share mounted

You can access /Volumes/mp3 using the Finder:

Fig.11: The finder in action

Fig.11: The finder in action

You can also use command line options:
$ ls /Volumes/mp3
$ cd /Volumes/mp3
cp /path/to/something.file.in file.out
rsync -av user@server3.nixcraft.com:/var/www/html/ server.backups/
 

See also:

This entry is 3 of 15 in the Linux / UNIX NFS File Server Tutorial series. Keep reading the rest of the series:

  1. CentOS / Redhat: Setup NFS v4.0 File Server
  2. Debian / Ubuntu Linux: Setup NFSv4 File Server
  3. Mac Os X: Mount NFS Share / Set an NFS Client
  4. RHEL: How Do I Start and Stop NFS Service?
  5. How To Restart Linux NFS Server Properly When Network Become Unavailable
  6. Linux Iptables Allow NFS Clients to Access the NFS Server
  7. Debian / Ubuntu Linux Disable / Remove All NFS Services
  8. Linux: Tune NFS Performance
  9. Mount NFS file system over a slow and busy network
  10. Linux Track NFS Directory / Disk I/O Stats
  11. Linux Disable / Remove All NFS Services
  12. Linux: NFS4 mount Error reason given by server: No such file or directory
  13. Linux NFS Mount: wrong fs type, bad option, bad superblock on fs2:/data3 Error And Solution
  14. CentOS / RHEL CacheFS: Speed Up Network File System (NFS) File Access
  15. Increase NFS Client Mount Point Security

 

Was this helpful? Please add your comment below to show your appreciation or feedback ↓

? Get the latest tutorials on Linux, Open Source & DevOps via

RSS feed ➔    Weekly email newsletter ➔

Category List of Unix and Linux commands
Ansible Check version • Fedora • FreeBSD • Linux • Ubuntu 18.04 • Ubuntu • macOS
Download managers wget
Driver Management Linux Nvidia driver • lsmod
Documentation help • mandb • man • pinfo
Disk Management df • duf • ncdu • pydf
File Management cat • cp • less • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
KVM Virtualization CentOS/RHEL 7 • CentOS/RHEL 8 • Debian 9/10/11 • Ubuntu 20.04
Linux Desktop apps Chrome • Chromium • GIMP • Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap • ping
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 11 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Power Management upower
Package Manager apk • apt-get • apt • yum
Processes Management bg • chroot • cron • disown • fg • glances • gtop • iotop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
Searching ag • egrep • grep • whereis • which
Shell builtins compgen • echo • printf
System Management reboot • shutdown
Terminal/ssh tty
Text processing cut • rev
User Environment exit • who
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • w
User Management /etc/group • /etc/passwd • /etc/shadow • chsh
WireGuard VPN Alpine • Amazon Linux • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 • qrencode
37 comments… add one
  • Sergei Nov 4, 2010 @ 7:58

    now that’s a working tutorial! been struggling with my Zyxel NSA220, trying to use NFS instead of SMB – couldn’t mount until found this page 🙂

  • Jaysunn Dec 8, 2010 @ 21:19

    Wow,
    Vivek this is a great tutorial. I as well was struggling and as soon as I found this page I nailed it in one try. Thanks jaysunn

  • Ken Mar 30, 2011 @ 22:48

    This doesn’t describe how to set up persistent NFS mounts from the command line (hard mounts, not automounts). That should be easy but I can’t find it anywhere.

    • nixCraft Mar 31, 2011 @ 5:18

      Do you want to know about soft / hard option that determines the recovery behavior of the NFS client after an NFS request times out? May be you need to give us more info..

    • dipmit Aug 2, 2011 @ 11:54

      you have to fire this command for mout NFS shared folder to MAC OX
      sudo mount_nfs -P :

  • erez May 6, 2011 @ 0:28

    Great job……thanks 🙂

  • Chiraj Sep 11, 2011 @ 22:38

    I followed every step(gui and terminal) word for word and I can see files on my nfs server, but I can’t write or modify the contents of the shared directory. It keeps saying “Permission Denied”. Is there anything particular I need to do on the server side?

    • nixCraft Sep 12, 2011 @ 11:36

      You need to make sure server is exporting directories in a rw (read write) and not in a ro (read only) mode.

      • Chiraj Sep 14, 2011 @ 21:26

        If have tried exporting it as rw as seen below, but still no avail 🙁

        /mnt/shared 192.168.0.0/255.255.0.0(rw,sync,all_squash,anonuid=502,anongid=502,insecure)

        • sofia story Feb 7, 2012 @ 3:42

          Same problem here.

          • Colin Aug 28, 2012 @ 12:50

            ditto Lion 10.7.4 rw enabled in /etc/exports

  • fsimerey Sep 14, 2011 @ 16:18

    Have a NFS server running on Debian 5.
    I can mounting my shares on Linux Mint 11 like a charm (with r/w permissions).
    But under os 10.6.8, i can mount these shares but i haven’t permission to write or modify anything -> “Permission Denied”.
    The NFS server is setup with these options in /etc/exports

    /mnt/shared 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)

    Any idea ?
    Thanks in advance

    • fsimerey Sep 14, 2011 @ 16:57

      In fact, i can create and modify files via terminal if i use sudo command or logged as root.
      All folders/files are uid=1000 and gid=1000 like the screen capture of this article.

      • ttt May 7, 2012 @ 13:52

        You need to add an account on Debian server. For example if you login as fsimerey on OS X. Make fsimerey account on the Debian too. This will map UID and GIDs.

  • Sx1 Oct 8, 2011 @ 19:30

    Hi from France,

    Great faqs, thank !
    I have the same question as fsimerey.

    I can access to my nfs server, but not with my single user account under mac Osx. I need to use SUDO into the terminal to access it.

    From my others PC, under Ubuntu, single users don’t needs to use root account to access the nfs.

    My nfs server exports : rw, sync, no_root_squash, anonuid=1000,anongid=1000

    Can you help me please ?

    Thank a lot

  • Lyndon Adams Oct 18, 2011 @ 21:02

    Worked first time using Fedora 15 and latest Mac OS X. Many thanks!!

  • pww Oct 21, 2011 @ 2:35

    got it

  • Nicklas Nilsson Jan 15, 2012 @ 16:53

    Same problem as fsimerey and sx1! Anyone now a fix?

    • nixCraft Jan 15, 2012 @ 19:21

      Most modern NFS server need some sort of user authentication and user id mapping. For example, /home/vivek is owned by vivek user id # 501 on the Debian Linux nfs 4 server.
      You need to add a user called vivek to Apple OS x with user id # 501 using the following command:

      sudo dscl . -create /Users/vivek UniqueID "501"

      See this page for more info. Use dscl command with care as it can destroy existing users and other system properties.

  • Rogerio Jan 21, 2012 @ 5:04

    Thanks for the article.
    Now I have a NFS server running on Ubuntu 11.10 exporting a 2TB exFAT external HD drive. Had to install fuse-exfat to be able to mount the HD on Ubuntu.
    I mounted a NFS folder on a Mac OSX using: sudo mount -t nfs -o resvport my_nfs_server:/media/HD2TB /private/nfs and from Finder I can navigate through and create folders and even open large files. The problem is that I can’t copy anything to the NFS (neither from Finder nor from Terminal). Here is the error:
    cp: /private/nfs/test.txt: fchmod failed: Input/output error
    Here is my /etc/exports:
    /media/HD2TB my_mac(rw,no_root_squash,no_subtree_check)
    Thanks for helping.

    • fsimerey Jan 21, 2012 @ 10:26

      For my nfs exports on Debian, i used insecure option.
      Try with:
      /media/HD2TB my_mac(rw,no_root_squash,no_subtree_check,insecure)

      Hope that would solve your prob.

  • Björn König Apr 15, 2012 @ 14:58

    Thanks for the tutorial. It fit the trick for me!

  • tim Jul 31, 2012 @ 0:50

    running ox 10.8 and in disk utility. Under file menu mount is grayed out and there is no nfs mount in menu.

  • Nik Sep 2, 2012 @ 15:13

    Vivek – Brilliant! Was annoyed with my Synology 1512+ shares with AFP going offline and having to remount for my Plex (MMS). This was the solution! I used your tutorial (which was spot on) and a GUI from NFS Manager(now that OSX 10.8 Disk Utility doesn’t have NFS mounting options) and was successful. I’m super happy now with automounts and dismounts for all my shares! Great, great job!!!!

    p.s. With OSX 10.8 not including the Disk Utility bit, you may want to update/mention that for future users.

  • Daniel Sep 6, 2012 @ 9:43

    After a solid week of having permission denied messages etc.. out of Mountain Lion, here is the fix…..

    Stolen from Apple Discussions:

    Hi!
    Few days ago i run into same problem. I have Ubuntu server and want to mount some folders from there… Anyway, I was solved this problem this way:
    — on Ubuntu —
    1. edit /etc/exports (sudo vim /etc/exports) and add this line(s)

    /folder 0.0.0.0(rw,sync,all_squash,insecure,anonuid=xxx,anongid=xxx)
    


    where “/folder” is a folder you want to mount from your Mac
    “0.0.0.0” is an IP address you allow to connect to your share from
    “anonuid=xxx,anongid=xxx” is UID and GID of user on Ubuntu you want to be used as owner of files you want to create on mounted share (if you ommit this you will have read-only access to the share folder)
    2. export your shares – sudo exportfs -a
    ———————–
    — on your Mac —
    Use Connect to Server (Commant+K) menu and write nfs://server-name-or-ip/folder
    ————
    Voila! You have to have rw access to shared folder on your server.

    P.S. check man exports to find some additional info to set IP ranges you want to allow to connect from.

    Good luck!

  • Ulf von Barth May 25, 2013 @ 11:00

    Dear Helper,

    There are two major flaws with the mount instructions above:
    1. The entry “NFS mounts” in the Disk Utility does NOT exist in MAC OS X 10.8!
    2. It is easy to NFS-mount disks read only in 10.8 but much harder to mount them
    read-write. As you can see above the parameter “-o rw” is missing in the
    examples above!

    Thanks anyway for the nice tutorial. Have a good day, vonbarth

    • nixCraft Aug 4, 2013 @ 8:41

      Thanks for the heads up! The faq has been updated.

  • Steve Glasser May 29, 2013 @ 3:09

    Vivek — there is a problem accessing a “normal” nfs server from osx if the mount option “-o resvport” is used on the osx client. Most/normal nfs servers are firewalled; opening port 2049 for nfs connections. Osx is going to pick a random low-numbered port to connect on and this will be blocked on the nfs server.

    Is there some sort of solution for this? Cheers

  • Matheus Oct 1, 2013 @ 14:13

    I has no problem at all setting up a NFS client for my macOsx 10.8…. The only thing is that diskutil does not support it but terminal does!

  • Klas Wirholm Mar 1, 2014 @ 4:06

    The problem is the dynamic port the mac client try to access. For you who have a Linux nfs server, this is probably is off interests.

  • remd Sep 8, 2014 @ 8:55

    I’ve setup a freeipa server on centos mostly following theses guidelines:
    http://linsec.ca/Using_FreeIPA_for_User_Authentication#Mac_OS_X_10.7.2F10.8

    Everything seems to be working fine, except that the osx client can’t automount the /home share at startup.
    I can auth and/or mount the share manually in the command line, but at startup the logs show “server not responding”.
    This is the line I’ve added in auto_home (referred to in auto_master):
    * -fstype=nfs,rw,resvport,soft,intr,rsize=8192,wsize=8192,nosuid,tcp nfsserver:/home/&

    I have tried many options and variations of this command, but have been unsuccessful so far – does anyone have an idea how this can be done ?

  • remd Sep 9, 2014 @ 13:42

    It was a firewall issue – its working now

  • Jeron Dec 15, 2015 @ 11:37

    What about reverse situation? I want to share dir from my mac to linux machine.

    Mac has ip 192.168.0.26 and linux has 192.168.99.100

    In /etc/exports on mac I have this:
    /Users -mapall=my_user -alldirs -network 192.168.99.0 -mask 255.255.255.0

    Then on linux I do this:
    sudo mount 192.168.0.26:/Users /Users -o rw,async,noatime,rsize=32768,wsize=32768,p
    roto=tcp

    And it says:
    mount: 192.168.0.26:/Users failed, reason given by server: Permission denied
    mount: mounting 192.168.0.26:/Users on /Users failed: Bad file descriptor

    my_user belongs to admin group. Firewall is disabled at all. What the problem can be?

  • Francisco Jan 19, 2016 @ 19:34

    Thanks for your article
    how could you configure your export for mounting without option resvport?

    thanks

  • Benjamin May 29, 2017 @ 22:48

    Worked perfectly for me from an Ubuntu host to a macOS Sierra guest, thank you!

  • kitkat Dec 6, 2017 @ 21:52

    those running into ‘permission denied’ for writing into the mount- do not use sudo to mount on the mac side. If you use sudo – you will mount the dir as root and you will have to be ‘sudo’ to make changes. Just do mount, then you will mount as the user and not as root.

  • brad Jan 22, 2021 @ 0:12

    On Mac, running 11.1 OS, I got an error nfs can’t mount with remote locks … rpc.statd. On cmd line I ran this:
    sudo mount -o nolocks -t nfs …
    and it worked

Leave a Reply

Your email address will not be published. 

Use HTML <pre>…</pre> for code samples. Your comment will appear only after approval by the site admin.

pip install mysqlclient error

I just had the same problem and only got a partial working solution. Here are the steps I made to make it work:

  • brew install mysql-client
  • brew install mysql-connector-c

IF YOU HAVE ZSH:

  • echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
  • source ~/.zshrc

ELSE:

  • echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
  • source ~/.bash_profile

Now for the installation itself:

  • LDFLAGS=-L< your openssl lib folder location > pip install mysqlclient==<  version  >

for exampleLDFLAGS=-L/usr/local/opt/openssl/lib pip install mysqlclient==1.3.12

Mac下使用ll命令

vim .bash_profile

添加以下代码

alias ll=’ls -alF’
alias la=’ls -A’
alias l=’ls -CF’

然后source文件

source .bash_profile

到这里就可以畅所欲为的在mac机子下面执行ll命令了。

Be the First to comment.
————————————————
版权声明:本文为CSDN博主「windy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wccczxm/article/details/96650980

macOS命令行创建Android模拟器

  • macOS下不安装Android Studio
  • 使用VSCode来开发Flutter应用
  • 使用命令行创建和管理Android模拟器设备

avdmanager

avdmanager 是一种命令行工具,可让您通过命令行创建和管理 Android 虚拟设备 (AVD)。借助 AVD,您可以定义要在 Android 模拟器中模拟的 Android 手机、Wear OS 手表或 Android TV 设备的特性。

如果您使用 Android Studio,则无需使用此工具,而可以从 IDE 中创建和管理 AVD。

avdmanager 工具在 Android SDK Tools 软件包(25.3.0 及更高版本)中提供,并且可以在 android_sdk/tools/bin/ 中找到。

macOS命令行创建Android模拟器

avdmanager AVD创建Android模拟器语法

创建新的 AVD。您必须为该 AVD 提供名称,并使用引号括住的 sdk_id(即 “sdk_id”)指定要用于该 AVD 的 SDK 软件包的 ID。例如,以下命令会使用 x86 系统映像(API 级别 25)创建一个名为 test 的 AVD:

下面介绍了其他选项的用法:

  • -c {path|size}:此 AVD 的 SD 卡映像的路径,或要为此 AVD 创建的新 SD 卡映像的大小(以 KB 或 MB 为单位,分别以 K 和 M 表示)。例如,-c path/to/sdcard/ 或 -c 1000M
  • -f:强制创建 AVD。如果需要用同名的新 AVD 覆盖现有的 AVD,请使用此选项。
  • -p path:用于存放此 AVD 的文件的目录所在位置的路径。如果您未指定路径,则会在 ~/.android/avd/ 中创建 AVD。

使用avdmanager建立emulator完整步骤

如果你直接使用上面的语法创建模拟器肯定会报下面的错误:

Error: Package path is not valid. Valid system image paths are:ository…
null

原因是没有相应的软件包,按如下步骤来解决:

一:首先,您需要下载必要的软件包。为x86模拟器下载API 23软件包的示例:

二:然后接受许可协议

三:然后创建您的模拟器

更多命令

更多帮助

Warning: File /Users/root/.android/repositories.cfg could not be loaded.

文件不存在,创建即可:

参考

Mac上sshd服务启用

scp (Secure copy) 命令相信 同学们都知道。今天我想从我的一台同局域网内的Linux 机器上拷贝几个文件到我的的机上来。突然想到,mac 毕竟不是 linux, sshd 服务默认没有启动的可能性很大。

到底有没有 sshd 服务呢?看看呗?于是:

  1. ~ ps auwx | grep sshd
  2. yin 1921 0.0 0.0 2432772 640 s000 S+ 6:53下午 0:00.00 grep sshd

果然没有启动 sshd 服务。那怎么办呢?

在 linux 上启动 sshd 服务的方式 很简单。

  1. > ~ sudo /etc/init.d/sshd start

但是 mac 上没有 init.d 目录啊。

那这样试试。直接使用二进制可执行程序 + 配置文件启动。

-> ~ sudo /usr/bin/sshd - f /etc/sshd_config

这样没有问题,可以正常使用,但是 不能每次开机都执行 一次 命令吧。

于是上网搜罗了一番。原来需要使用 苹果的自家方案.

一般情况下 linux 中的启动服务的方案(包括开机自动启动)都是这样的

  1. > ~ sudo service sshd start
  2. > ~ chkconfig –level 35

而最新的 CentOS 7 中是这样的

  1. > ~ sudo systemctl sshd.service start

在 Mac OS 中是这样的

-> ~ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

.plist 文件是 objective-c 编程架构中的 配置文件。
说明 launchctl 服务管理器是oc写的,怎么又废话起来了

停止

-> ~ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

如何查看进程是否启动

  1. > ~ sudo launchctl list | grep sshd
  2. 0 com.openssh.sshd

OK 启动正常。剩下的事情就不必多说了。