Just my blog
Blog about everything, mostly about tech stuff I made. Here is the list of stuff I'm using at my blog. Feel free to ask me about implementations.
- Mobaxterm SSH RDP FTP...
- Thunderbird Email client
- Filezilla FTP client/server
- Nirsoft Win utils
- Sysinternals Win utils
- Pi-Hole AD block by DNS
- NUT UPS manager
- Rpi MON Raspberry monitoring
- Free CAD 3D modelling
- Free Commander Far-like filemanager
- Bitwarden Password manager
- Django web framework
- celery multi-tasking
- celery-beat Celery + Django
- celery-results Celery + Django
- Pillow Python image lib
- wsgi mod Apache + Python
- requests best in WEB requests
- openpyxl make Excell docs
- p4python Perforce + Python
- paramiko SSH + Python
- pyvmomi ESXi Vcenter + Python
I'm using these libraries so you can ask me about them.
Perforce - Centos start investigation and install
The Perforce service and applications are available from the Downloads page on the Perforce web site: http://www.perforce.com/downloads/complete_list THIS is not a JOKE!
Installation:
Do not worked for me:
[su_spoiler title="Official"] From here: http://www.perforce.com/perforce/doc.current/manuals/p4sag/chapter.install.html#install.unix Although you can install p4 and p4d in any directory, on UNIX, the Perforce applications typically reside in /usr/local/bin
, and the Perforce service is usually located either in /usr/local/bin
or in its own server root directory. You can install Perforce applications on any machine that has TCP/IP access to the p4d host. To limit access to the Perforce service's files, ensure that the p4d executable is owned and run by a Perforce user account that has been created for the purpose of running the Perforce service. To start using Perforce:
- Download the p4 and p4d applications for your platform from the Perforce web site.
- Make the downloaded p4 and p4d files executable.
- Create a server root directory to hold the Perforce database and versioned files.
- Tell the Perforce service what port to listen to by specifying a TCP/IP port to p4d.
- Start the Perforce service (p4d).
- Set the p4d port and address for Perforce applications by setting the
P4PORT
environment variable.
chmod +x p4 chmod +x p4d
Then move file to recommended dir:
[root@testcentos www]# mv p4d /usr/local/bin [root@testcentos www]# cd /usr/local/bin [root@testcentos bin]# ls -l total 5856 -rwxr-xr-x. 1 root root 5993112 Mar 26 09:33 p4d [root@testcentos bin]#
Also do not work:
[su_spoiler title="Perforce visual"] From here: http://www.perforce.com/documentation/tenminute-test-drive-linuxunix Make a directory to use for your demo installation, and set up your environment: (I have made /usr/perforce)
mkdir ~/perforce
For bash:
export PATH=~/perforce:$PATH export P4PORT=1666
[root@testcentos bin]# export PATH=/usr/perforce:$PATH export P4PORT=1666
Go to our Downloads page and download the Perforce Server executable (p4d), P4V (p4v.tgz), and the Perforce Command-Line Client (P4) for your platform. Put the programs in your /perforce directory. Make the server executable, then start it (root permission not required):
cd ~/perforce chmod a+x p4d ./p4d -d
[root@testcentos perforce]# chmod a+x p4d ./p4d [root@testcentos perforce]# chmod a+x p4d ./p4d -d chmod: invalid option -- 'd' Try 'chmod --help' for more information. [root@testcentos perforce]# ls -l total 8616 -rw-r--r--. 1 root root 2825800 Mar 26 11:57 p4 -rwxr-xr-x. 1 root root 5993112 Mar 26 09:33 p4d [root@testcentos perforce]# chmod +x p4 [root@testcentos perforce]# ls -l total 8616 -rwxr-xr-x. 1 root root 2825800 Mar 26 11:57 p4 -rwxr-xr-x. 1 root root 5993112 Mar 26 09:33 p4d
Unzip and untar p4v.tgz:
tar xvzf p4v.tgz
Finally, launch P4V:
./p4v
[/su_spoiler] Procedures above looks not complex, I cannot run P4 by them.
Will try another:
[su_spoiler title="Third way"] From: https://ssteiner.wordpress.com/2008/04/23/installing-perforce-on-red-hat-linux-the-gory-details/ Also can help: http://sudomakeinstall.com/linux-systems/perforce-p4d-init-d-script-centos 1. Download the 'daemon' utility. This utility allows 'p4d' to be run by the 'perforce' user instead of 'root'. I use /usr/local/src for the source of anything I install on the server so here’s what I did. If you’re not logged in as root, put a 'sudo' ahead of each of the commands below or 'su’ in first.
cd /usr/local/src
wget http://libslack.org/daemon/download/daemon-0.6.3.tar.gz
tar zxvf daemon-0.6.3.tar.gz
cd daemon-0.6.3.tar.gz
./configure
make install
2. Download the PerForce daemon file 'p4d' and client 'p4' files directly into /usr/local/bin. These files are for Linux installs using the 2.6 kernel version, adjust if you’re still running a 2.4.x kernel:
cd /usr/local/bin wget http://www.perforce.com/downloads/perforce/r07.3/bin.linux26x86/p4d
wget http://www.perforce.com/downloads/perforce/r07.3/bin.linux26x86/p4
3. Make the 'p4d' and 'p4' files executable.
chmod +x p4d p4
4. Create a group for perforce files and a user for admin work: (I really do not now why is this important because I want to run it as is - root) <ignoring>
groupadd p4admin
useradd -m -g p4admin perforce
5. Use 'visudo' to give the perforce user account the ability to use 'sudo'. Add the following line at the end o f the file. NOTE: visudo on Red Hat doesn’t actually use 'vi' to do the work, it uses pico so don’t expect 'vi' commands to work. Stupid Red Hat. Stupid pico.
perforce ALL = ALL
6. Log off your default user account. 7. Log in using the 'perforce' account. 8. Create a directory to hold the repository. I based mine in /var/www.
sudo mkdir /var/www/perforce
sudo chown perforce:p4admin /var/perforce
<ignoring> 9. Create a directory to hold Perforce log files under /var/log.
sudo mkdir /var/log/perforce
sudo chown perforce:p4admin /var/log/perforce
A. Add the following lines to the end of /etc/profile. These settings will be used by local client programs run on the Linux server – not by the Perforce server.
P4USER may also be a root in my situation
# Perforce Settings
export P4JOURNAL=/var/log/perforce/journal
export P4LOG=/var/log/perforce/p4err
export P4PORT=localhost:1666
export P4ROOT=/var/www/perforce
export P4USER=perforce
B. Load the Perforce settings.
source /etc/profile
Does not work now:
[root@testcentos init.d]# service perforce status /etc/init.d/perforce: line 10: -d”: command not found
[/su_spoiler] [su_spoiler title="Setup Perforce As Bootup Service"] 1. Change to the initialization control directory. cd /etc/init.d
2. Create the Perforce control script using 'sudo vi perforce'.
#!/bin/sh -e export P4JOURNAL=/var/log/perforce/journal export P4LOG=/var/log/perforce/p4err export P4ROOT=/perforce_depot export P4PORT=1666 PATH=”/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin” p4start=”p4d -d” p4stop=”p4 admin stop” p4user=perforce case “$1″ in start) # NOTE: in original, haven’t found RedHat equiv or source to include # Haven’t found . /lib/lsb/init-functions # log_action_begin_msg “Starting Perforce Server” daemon -u $p4user $p4start; ;; stop) # see above # log_action_begin_msg “Stopping Perforce Server” daemon -u $p4user $p4stop; ;; restart) daemon -u $p4user $p4stop daemon -u $p4user $p4start ;; *) echo “Usage: /etc/init.d/perforce (start|stop|restart)” exit 1 ;; esac exit 0
3. Goto your home directory then use the control script to start the Perforce server.
cd ~
sudo /etc/init.d/perforce start
4. Make sure it actually started
ps aux | grep perforce
I get:
userx@wonky [~]# ps aux | grep perforce
perforce 3669 0.0 0.0 1736 536 ? Ss 20:27 0:00 daemon -u perforce p4d -d
perforce 3672 0.0 0.0 5076 1492 ? S 20:27 0:00 p4d
userx 3689 0.0 0.0 1584 492 pts/0 S+ 20:27 0:00 grep perforce
14. Create a Perforce group to limit resource usage using: sudo p4 group developers This, on Red Hat, opens 'pico' where you’re editing a text file to set the following values. See the Perforce site for more information.
Group: developers
MaxResults: 50000
MaxScanRows: 250000
MaxLocktime: 30000
Timeout: 4320
Subgroups:
Users: developer
To which perforce responds:
userx@wonky [~]# sudo p4 group developers
Group developers created.
5. Use the control script to restart the Perforce server.
sudo /etc/init.d/perforce restart
[/su_spoiler]
Another way don't work:
[su_spoiler title="This guide can help partually"] From: http://www.donaldsimpson.co.uk/2011/10/25/setting-up-perforce-on-a-linux-server-and-a-windows-client/ Set root_dir
export P4ROOT=/apps/perforce – or – -r /var/www/perforce
Try run: (without nohup )
./p4d -r /var/www/perforce -J /var/log/journal -L /var/log/p4err -p 1666
Nope, did not work:
[root@testcentos perforce]# ./p4d -r /var/www/perforce/ -J /var/log/perforce/journal -L /var/log/perforce/p4err -p 1666 [1] 20070 [root@testcentos perforce]# ps aux | grep perforce root 19488 0.0 0.1 175548 3056 pts/0 S 14:33 0:00 sudo su perforce root 19490 0.0 0.0 145472 1828 pts/0 S 14:33 0:00 su perforce perforce 19492 0.0 0.0 108340 1768 pts/0 S 14:33 0:00 bash root 20107 0.0 0.0 103252 836 pts/0 S+ 14:49 0:00 grep perforce [1]+ Exit 255 ./p4d -r /var/www/perforce/ -J /var/log/perforce/journal -L /var/log/perforce/p4err -p 1666
Reboot and check everything, and still can't start:
[root@testcentos perforce]# ./p4d Perforce Server starting... ^C[root@testcentos perforce]# p4d -r /var/www/perforce/ -J /var/log/journal -L /var/log/p4err -p tcp64:[::]:1666 [1] 3154 [root@testcentos perforce]# -bash: p4d: command not found p4d -r /var/www/perforce/ -J /var/log/journal -L /var/log/p4err -p tcp64:[::]:1666^C [1]+ Exit 127 p4d -r /var/www/perforce/ -J /var/log/journal -L /var/log/p4err -p tcp64:[::]:1666 [root@testcentos perforce]# ./p4d -r /var/www/perforce/ -J /var/log/journal -L /var/log/p4err -p tcp64:[::]:1666 [1] 3155 [root@testcentos perforce]# Perforce Server starting...
Doesn't work:
[root@testcentos perforce]# ./p4 info Perforce client error: Connect to server failed; check $P4PORT. TCP connect to perforce:1666 failed. Name or service not known
[root@testcentos perforce]# ./p4d Perforce server error: Listen 1666 failed. TCP listen on 1666 failed. bind: 0.0.0.0:1666: Address already in use
FINALLY It's worked: Probably there is no output after ./p4d runs, but server is up and listen
Useful commands:
p4 info --- This should show if you can access the perforce server at all p4 counters --- This should give you a list of all counters p4 counter change --- This should give you the value of the change list counter, which is probably also requested by the hudson server.