npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
D:\Program Files\nodejs\npm_global\remixd -> D:\Program Files\nodejs\npm_global\node_modules\@remix-project\remixd\bin\remixd.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\@remix-project\remixd\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ @remix-project/remixd@0.5.1
added 186 packages from 130 contributors in 8.704s
then remixd -s “project folder path” –remix-ide https://remix.ethereum.org or remixd -s . to start the server.
[WARN] latest version of remixd is 0.5.3, you are using 0.5.1
[WARN] please update using the following command:
[WARN] npm install @remix-project/remixd -g
[WARN] You can only connect to remixd from one of the supported origins.
[WARN] Any application that runs on your computer can potentially read from and write to all files in the directory.
[WARN] Symbolic links are not forwarded to Remix IDE
to mirror on the remix online IDE: https://remix.ethereum.org/, you need to choose your localhost and connect.
after the first boot up, rootfs-expand, then reboot.
Insert the LAN cable,nmcli d to check the state, set the wifi by nmtui, then yum -y update,yum -y upgrade, install GNOME GUI for CentOS 7 by sudo yum -y groups install "GNOME Desktop", echo "exec gnome-session" >> ~/.xinitrc, startx, systemctl set-default graphical.target, you can see the link below:
settings.json location changed: /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
(you need to stop the service and then change those files)
set inbount IP address:
you may meet the issue when install pivpn after ufw set:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
ERROR: problem running ufw-init
Bad argument `COMMIT'
Error occurred at line: 14
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
ip6tables-restore v1.8.7 (nf_tables): host/network `' not found
Error occurred at line: 13
Try `ip6tables-restore -h' or 'ip6tables-restore --help' for more information.
Problem running '/etc/ufw/before.rules'
Problem running '/etc/ufw/before6.rules'
SELECT
volume_mount_point AS [Drive],
total_bytes / 1024 / 1024 / 1024 AS [Total Size (GB)],
available_bytes / 1024 / 1024 / 1024 AS [Available Space (GB)],
(available_bytes * 1.0 / total_bytes) * 100 AS [Free Space %]
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id)
GROUP BY volume_mount_point, total_bytes, available_bytes
ORDER BY volume_mount_point;
GO
Create docker user group: sudo groupadd docker set group password and make user become group administrator: sudo gpasswd -a $USER docker put user into a group: sudo usermod -aG docker $USER Switch the current non-root user group to the docker user group: exec newgrp docker veryfy it: docker run hello-world
down load the container image: docker pull imageName
stop the container: docker stop containerID
start the container: docker start containerID
delete the container: docker rm containerID
delete the container image: docker rmi containerID:version
Dockerfile example(use ubuntu 20.04, as root, set env variable envVariableName, set work directory, use add to copy the file from internet, execute script.py then end container):
FROM ubuntu:20.04
USER root
RUN apt update
RUN apt install -y python3.9
RUN apt install -y python3-pip
COPY requirements.txt .
RUN python3.9 -m pip install -r requirements.txt
ENV envVariableName=xxx
WORKDIR /absolutePath
ADD https://xxx.xxx .
COPY script.py .
ENTRYPOINT ["python3.9", "script.py"]
createuser spotfire_joindb with password 'spotfire' nocreatedb; create database spotfire_joindb; alter database spotfire_joindb owner to spotfire_joindb;
mkdir -p parent/son
mkdir -m 711 xxx
move/rename folder:
mv folderName newFolderName
check memory state:
cat /proc/meminfocheck cpu information:
lscpu | egrep 'Model name|Socket|Thread|NUMA|CPU\(s\)'
show current time:
date +%Y/%m/%ddate +%H:%Mdate '+%F'datepoweroff Linux:
/sbin/shutdown -h now1 min later:
/sbin/shutdown -h 1
/sbin/shutdown -h 10:33
cancel it:shutdown -creboot now:
reboot/sbin/shutdown -r nowusers' home folder is located in:
~ means /home/xxx
but root's home is in /root
file with .prefix can be a hidden file.
eg: .bash_profile
open GNOME,KDE,TWM:
startx
logout: exit(ctrl+d)
check calendar:
cal 06 2021
calculator:
bc
echo "1+35" | bcscale=number, number after the decimal point
quit to exit
get help:
--help or --h
show the manual:
eg:man date
open text editor:
nano text.txt
check who login: who
check who login: w
net state: netstat -a
the program runs: ps -aux
change to be root identity:su -
change to another identity:eg: su - nodemanagerCreate a sudo user in CentOSaccount information:/etc/passwdpassword information:/etc/shadowgroup information:/etc/group
File Permission:
https://tutonics.com/2012/12/linux-file-permissions-chmod-umask.html
d is for folder, – is for file, | is for link file, b is for equipment, c is for I/O equipment.
r:4, w:2,x:1
for folders, who only has read permission if there is no x(execute), like r– cannot access the folder.x let you can access the folder, like when using cd xxx command.
for files, w permission enable you change the content, but cannot delete the file.
change the system language:
/etc/locale.conf
change the group the files belonged to, the group must in /etc/group: chgrp
eg: chgrp groupname xxx.txt
change the owner of the files, the owner must in /etc/passwd: chown-R will influence the sub folders and files
eg: chown -R ownername xxx.txt
change owner and group:
eg: chown ownername:gourpname xxx.txt
copy a file: cp
-i if there is the same one exists, system will ask your confirmation
cp -i sourcefile destination
-a make it totally the same including the permission information
-s make a shortcut
-u update the destination with newer file.
-d copy shortcut to shortcut
-l copy shortcut’s content(real one, not itself, can be neglected)
change the permission: chmod
eg: chmod -R 777 xxx.txt
some useful permission, for example:
-rwxr—–: chmod 740 filename
-rwxr-xr-x: chmod 755 filename
chmod u=rwx,go=rx filename
chmod u=rwx,g=rx,o=r filename
add all(u,g,o) writing permission:
chmoda+w filename
cancel all execute permission:
chmoda-x filename
create a new file:
touch xxx
delete file(-r includes every son):
rm -r xxx
read and show in command line(-n show line number):
eg: cat -n ~/.bashrc
show from tailto start:
eg: tac ~/.bashrc
show with line number:
nl -b a -n rz 1.txt
delete an empty folder(-p includes every parent empty folder):
rmdir -p xx/xx
go to home folder:
cd = cd~
back to the folder just now:
cd -
print environment path variable to screen:
echo $PATH
add a folder to PATH:
PATH="${PATH}:/root"
get basename:
basename /etc/sysconfig/network
get dirname:
dirname /etc/sysconfig/network
print content to search:
more 1.txt
less 1.txt
use /key word and ?keyword to search after and before, n to repeat the action, pageup and pagedown to turn pages, G go to the last line, g go to the first line, q quit less.
revert less:
tac xxx.csv | less
show head 100 line:
head -n 100 1.txt
excludes the last 100 line:
head -n-100 1.txt
show tail 100 line:
tail -n 100 1.txt
excludes the first 100 line:
tail -n+100 1.txt
show if there is new data input:
tail -f 1.txt
show 11 line to 20 line:
head -n 20 1.txt |tail -n 10
meanwhile show the correct line number:
cat -n 1.txt | head -n 20 | tail -n 10
show the different character code result:
eg: od -t oCc 1.txt
eg: echo testword | od -t oCc
show the mtime(content modifying time) of the files:
ll
show the atime(access time) of the files:
ll --time=atime
show the ctime(change time, state of files, cannot be changed) of the files:
ll --time=ctime
create a new file with a certain mtime:
touch -t 202107041412 xxx.txt
default permission setting:
umask
umask -S
umask means needs to deduct from the max permission:
eg: for folders: 777(drwxrwxrwx) – umask number
for files: 666(-rw-rw-rw-) – umask number
change umask default number:
umask 002
show the hide attributes(-a, -d, -R):
lsattr xxx
change the hide attributes(+a, +i, -a, -i):
chattr +a xxx
SUID(4, u+s): special permission on execution file to make the executioner having owner permission in run-time.
-rwsr-xr-x
if s is S, that means as there is no x, it is meaningless
SGID (2, g+s) : special permission on file/folder to make the executioner having group permission in run-time.
SBIT (1, o+t) : special permission on folder to make only the root and owner can delete the sub folders or files.
to add suid, sgid, sbit, the method like below:
chmod 4755 filename
chmod g+s, o+t filename
get detailed information of file:
file xxx.rpm
search a command file(-a means not the first result, show all):
which -a command
check command installed or not:
eg: command -v sshfs
search a file(-l: list the folder will be checked, -b: only check binary file, -m: only check the file in manual path, -s: only check source file, -u: look for others file):
whereis -l filename
locate/updatedb:
-i(Case insensitive): locate-i partfilename
-c(output only the found number): locate -c partfilename
-l(output line number): locate -l 5 partfilename
-S(output db related information): locate -S partfilename
-r(show regex format): locate -r partfilename
updatedb can get the newest result.
find -mtime n:
find files >= 5days ago: find /var -mtime+4
find files <= 4days ago: find /var -mtime-4
find files 4-5days ago:find /var -mtime 4
-user, -group, -nouser, -nogroup
find the files under a folder which is belonged to a user: eg:
eg: find /home -user username
find a file having keyword:
eg: sudo find / -name "*xxx*"
eg: find / -name *.txt
find the number of a certain type:
find ./*.JPG -type f | wc -l
find a certain type file(s:socket, b,c: equipment, f:file, d: folder, l:link, p: FIFO):
eg:find /run -type s
eg: +, \; means finish
find ./ -type f -name mem* -exec cat {} +
find ./ -type f -name mem* -exec cat {} \;
find file with special permission:
eg: find / -perm /7000
find file size over 1M:
eg: find ./ -size +1M
eg: add -exec ls -l {} \; at last if continue to do some action
physical disk file: /dev/sd[a-p][1-128]
eg: /dev/sda1
virtual disk file: /dev/vd[a-d][1-128]
ext2 is indexed allocation
check the disk volume where a certain folder in(-i: show inode):
eg: df -hT ./
except tmpfs Filesystem, e.g: df -hT -x tmpfs
eg: xfs_quota -x -c "df-h" /home
/dev/shm/ is the folder using memory, usually volume is half of the memory
check the folder size:
eg: du -Sah ./
check all the 1st subfolders and files size(c is for summary):
sudo du -hsc ./*
list sorted results of the big 30:
sudodu -ahx ./ | sort -rh | head -n 30
check the folder size with n depth:
sudodu -h --max-depth n ./
similar to hard copy(-f: force): ln fileNameshortcutName
similar to soft copy, making link (-f: force) : ln -s fileName shortcutName
eg: sudo mount --bind /home/userName/mountTest /home/userName/SImA/SImA-1.1.10/migration
unmount a device(-f: force):
eg: umount /run/media/user/U
change the xfs disk’s label(-l is to show, -u is to show UUID, -U is to use UUID):
eg: xfs_admin -L labelname /dev/sdb4
generate a new UUID: uuidgen
to change uuid and label for ext4, use tune2fs, eg: tune2fs -L labelname /dev/sdb4
to mount automatically, change the content in:
/etc/fstab
to mount dvd.iso files:
eg: mount -o loop /tmp/xxx.iso /data/xxx
to mount a big file: eg: mount -o loop UUID=”xxx“ /mnt
check free memory in detail: free -h
total memory: grep MemTotal /proc/meminfo
check swap equipment in detail: swapon -s
grep SwapTotal /proc/meminfo
.zip file unzip:
unzip-P password xxx.zip -d ./targetFolder/
check the content in zip file:
unzip -l xxx.zip
zip a file(-v show the detail information, -d unzip, -1: quick but lower compressed, -9: slow but well compressed, default is 6, -c: show to screen and can be redirected):
eg: gzip -v textfile
eg: gzip -d testfile.gz
eg: gzip -9 -c xxx > xxx.gz
unzip img.gz:
gunzip xxx.img.gz
show the zip file’s content:
eg: zcat xxx.gz
find the content in zipped file:
eg: zgrep -n ‘anycontent‘ xxx.gz
bzip2(-k is to remain the original one) is more compressed than gzip, command is almost the same.
eg: bzip2 filename
show the zip file’s content:
eg: bzcat filename.bz2
xz(-v show detailed information, -k remain the oringal one) is more compressed than bzip2
eg: xz filename
show the zip file’s content:
eg: xzcat filename.xz
unzip tgz file:
eg: tar zxvf xxx.tgz
use tar(-j for bz2, -J for xz, -z for gz, -p keep ther original permission, –exclude= for excluding unwanted one) to make zip folder:
tar -jcv -f filename.tar.bz2 object_folder1 object_folder2
to check what is inside:
tar -jtv -f -filename.tar.bz2
to unzip:
tar -jxv -f filename.tar.bz2 -C destination_folder
to unzip one in the zipped file:
tar -jxv -f filenme.tar.bz2 thatFile
to unzip .tar.gz file: eg:
tar -xvzf shga_sample_750k.tar.gz
to unzip tar.xz file:
tar xf linux-3.12.2.tar.xz
to unzip .tar file, eg:
tar -xvf xxx.tar-C ./
view the contents of tar.gz:
tar-tf filename.tar.gz
back up xfs file system(level 0 means totall backup):
throw the content: eg: find /home -name .bashrc 2> /dev/null
stdin from the file: eg: cat > catfile < ~/.bashrc
define the end symbol: eg: cat > file << “eof“
if cmd1 pass, then do cmd2: cmd1 && cmd2
if cmd1 fail, then do cmd2: cmd1 || cmd2
to select by command1’s result: command1 && command2 || command3
get a certain command from a line(here 3 is the third one, 5 is the fifth one, c means choose by character):
eg: echo ${PATH} | cut -d‘:‘ -f 3,5
eg: echo ${PATH} | cut -c 3-5
select keywords content out(-a: check binary file by text, -c: count found words, -i: ignore case, -n: with line number, -v: opposite selection, –color=auto: show with color):
eg: last | grep-v‘reboot‘
sort the result(default sort by the first column, -k 2: sort by 2nd column, -n: sort by number, -M: sort by month, -f: ignore case, -b: ignore first space, -r: reversed order, -t: separation symbol, -u: if same just show one):
eg: last | sort -k 2
select out repeated data(-c: count, -i: ignore case):
eg: last | cut -d ‘ ‘ -f 1 | sort | uniq -c
how many lines, words, chracters in the content:
eg: cat /etc/passwd | wc -lwm
save while output(-a: add to the end of the original destination file):
eg: ls -l / | tee -a ~/homefile | more
replace words(-d: delete the words, -s: no repeated words): eg(a -> A): last | tr‘[a-z]‘‘[A-Z]‘
replace tab by space: eg: cat /etc/man_db.conf | col -x | cat -A | more
replace tab by several spaces(-t: space number): eg: xxx | expand -t 6 filename
simple join two file, default by tab(-d: default join symbol is tab): eg: paste file1 file2
split files(-b: unit size, like 1b,1kb,1mb, -l: line number): eg: split -b 300k filename prefixName
recover from split files: eg: cat prefixFile* >> finalFile
use for command can’t use pipe(-0: set for special separation symbol, -e: set for EOF, -p: need confirmation each time, -n: how many parameters each time it needs): eg: find /usr/sbin -perm /7000 |xargs ls -l
check user’s UID/GID information: eg: id root
check content lines in the file(-A: includes lines after, -B: includes lines before):
eg: dmesg | grep -n -A3 -B2 --color=auto'memory'
check the kernel information: dmesg
select by regular express(3,$d means from 3 until last line delete): eg: nl regular_express.txt | sed'3,$d'
replace by several lines(line 2-5 are replaced by xxx):
eg: nl regular_express.txt | sed'2,5c xxx'
select out several lines(line 2-5 are selected):
eg: nl regular_express.txt | sed -n'2,5p'
insert content into lines(xxx is inserted after line2):
eg: nl regular_express.txt | sed '2a xxx'
insert content into lines(xxx is inserted before line2):
eg: nl regular_express.txt | sed '2i xxx'
to replace some words(-i: sed -i… means directly change on that file and save automatically):
eg: filecontent | sed 's/wordsNeedToBeReplaced/newWords/g'
find all files containing specific text in a folder:
grep -rnw './' -e'searchPattern'
egrep means grep -E, can use advanced regular express, eg: egrep -v ‘^$|^#’ regular_express.txt
extract content by column(the eg is 1 and 4 col, NF: how many column it has, NR: current row, FS: separation symbol): eg: who | awk '{print $1,$4}'
securely delete files, directories, and block devices by overwriting their contents with random data(overwriting its contents 3 times with random data. The -v option will display progress information, and the -z option will perform a final overwrite with zeroes to hide the fact that the device was shredded.): eg:
sudo systemctl enable --now NetworkManager
# List all available Wi-Fi networks in the area.
nmcli dev wifi list
# Connect to a specified Wi-Fi network using its SSID and password.
nmcli dev wifi connect <SSID> password <password>
# Display a list of all active network connections, showing their status and other details.
nmcli con show
# Disconnect the specified network interface from its network.
nmcli dev disconnect iface <interface_name>
Check which process is using port: lsof -i:portNumber
Kill the process occupying port in one command: fuser -k portNumber/tcp
Fix UTF-8 Locale
If Chinese filenames are displayed as escaped characters such as $'\345\...' or ????, check the current locale with locale. Setting LANG to en_US.UTF-8 allows Linux tools such as ls to correctly recognize and display UTF-8 filenames.
Add the following line to ~/.profile so the setting is applied automatically after login and remains effective after a reboot:
exportLANG=en_US.UTF-8
Prevent /dev/shm Cleanup on Logout
Ubuntu may delete user-owned /dev/shm files at logout because systemd-logind defaults to RemoveIPC=yes.
Set RemoveIPC=no under [Login] in /etc/systemd/logind.conf.d/*.conf, then reboot. Files still disappear after a system reboot.
paste the whl files folder named python to the path C:\temp(in req.txt named the main modules you want to install), and go to the python.exe directory which you want to install on:
the upgrade tool UIconfig which locates in tibco\tss\10.10.0\tools\upgrade, may sometimes need:
Vc_redist.x64.exe and Vc_redist.x86.exe
XML View tab in configuration tool shows all the configuration, and open it by the path:
tibco\tss\7.9.0\tomcat\spotfire-bin\uiconfig.bat
after upgrading, the data functions need to be trusted, use the command below(if memory is not enough, using single thread, befor auto and single, it’s 2 -):
you can check the trust and untrust scripts, report in tibco\tss\10.3.10\tomcat\spotfire-bin\find-analysis-scripts>
to keep the weplayer’s language same with the visitor’s language:
tibco\tss\10.3.10\tomcat\webapps\spotfire\WEB-INF> copy ResourcesHeader.properties and ResourcesWeb.properties, and then rename it and add ‘_en_US‘ at last
need to configure the configuration tab->join database in configuration tool after configuring the upgrade tool
ChemDraw-JS-Setup-18.1.1.exe for only 1, JS includes the ChemDraw ActiveX ChemDraw ActiveX Enterprise Constant.zip for 2 more, and it is a must for the webplayer server. Must reinstall the CDAX manually if it is also used as a webplayer server meanwhile.
spotfire_webclipboard_setup.exe needs to transfer the installed content to the right folder like tibco\tss\10.3.10\tomcat\webapps\ROOT\webclipboard, you need to check the version in the path is correct or not
by command prompt, in path: \tibco\tss\10.3.10\tomcat\spotfire-bin>config enable-user --username=ANONYMOUS\guest
let anonymous user (a subgroup)in a certain group having spotfire consumer licences
making a folder in library, let anonymous user access possible
to deal with the problem that two different version installed in same server, the node manager may use the old one(basically step 3 and 4 is enough):
tip: the first node ID information line is for nodemanager, the second node ID line is for spotfire server.
check the antivirus block list
check the spotfire_db.nodes in database and found the old version’s ID number.
to check the nodes ID, by command prompt: \tibco\tss\10.3.10\tomcat\spotfire-bin>config list-nodes
by command prompt: \tibco\tss\10.3.10\tomcat\spotfire-bin>config delete-node --id=xxxxxxx
change the content in \tibco\tsnm\10.3.10\nm\config\nodemanager.properties, and restart node manager
to link well with chemical db which is to save chemical structure, we must change the configuration by the commands below in command prompt(space below –value):
Windows service account should set to be an AD controlled account for node manager(webplayer), so that the webplayer can get the information from not only the local but also its neighbours’
eg: domain name/web player ad account
to set the default saving path when save file in the library:
UI config -> Configuration Tab->Public Address:
Enable custom public address:Yes
Public address URL: spotfire server full name
when under active directory, to give the node manager ability to visit other server’s file
windows server 2012 -> server manager-> computer administration->system tool-> local user and group-> group-> Administrators ->double click->add the ad account to local
export (command: tibco/tss/10.3.10/tomcat/spotfirebin->config export-service-config –capability=WEB_PLAYER –deployment-area=XXX) and set the Spotfire.Dxp.Worker.Host.exe.config file in path:\tibco\tss\10.3.10\tomcat\spotfire-bin\config_Web Player\root, and import it, insert the userid and password, eg:
<!-- Proxy authentication settings. -->
<!-- To use these, you need to add a proxy section, including the proxy address, to section "system.net/defaultProxy/" below. -->
<setting name="ProxyUsername" serializeAs="String">
<value>USERID</value>
</setting>
<setting name="ProxyPassword" serializeAs="String">
<value>PASSWORD</value>
</setting>
<!--Authentication settings for TIBCO Spotfire Statistics Services -->
<!-- A list of URLs -->
in default communication configuration between AP server and nodemanager server, the port 9443 is for https implement communication, and 9080 is the base layer for http
if using oracle pdb‘s instance:
in batch file:
the instance name should be: //localhost/orclpdb
and when import the dump file, you need to put it into the random folder it made, like app/oracle/admin/orcl/dpdump/F2BBAEADB6274F34AFBAEC1772546E79
for JA16SJISTILDE, need to having the driver of orai18n.jar
The module for installation is in the path, such as the Visual C++ installer:
config export-library-content --tool-password=pw --file-path=C:/outputfilename --item-type=all_items --user=spotfire@SPOTFIRE --include-access-rights=true --library-path="/Test for case have space"
communicate between Spotfire Server and Node Manager without going through a proxy, you need to refresh the configure file for web player, append the red part, and grey is optional:
<system.net>
<defaultProxy enabled="true">
<bypasslist>
<add address="Service IP, like web Player, Python Service, etc." />
</bypasslist>
<proxy bypassonlocal="true" proxyaddress="Proxy Server IP" />
</defaultProxy>
</system.net>