This will be the goto to help solve e-mail delivery issues and talk about many practical issues that happen between developers, admins and scripts that send e-mail and do things that may not be acceptable or cause deliverability problems.
Sendmail Stuff
Edit /etc/mail/sendmail.mc
The problem is that if you send directly out from the server using the mail function, the Return-path of the e-mails will be username@thehostnameoftheserver.com. Let........
Step 1.) Upgrade to Debian 11 first
The process to go to Debian 12 is not as smooth as 11, when trying to upgrade from Debian 10. In fact, it doesn't work directly, so you'll first need to follow this guide to update to Debian 11, reboot and come back here if successful.
Step 2.) Update sources.list
Update your /etc/apt/sources.list like this:
deb http://........
You can read lots of posts about this issue but there is not much information about why this is the case or how grub determines the root= device name. Some even suggest modifying grub.cfg manually which is a disaster as the next kernel update will cause grub to revert back to the device name.
For most people this won't be an issue but those using template system, automated deployments and working in embedded may run into this issue with custom embedded and created minimal kernel........
Later versions of ls try to be helpful and smart to prevent errors in dealing with files with spaces that were tradtionally a pain.
However if you need the raw/real filenames, this can break scripts or if you are pasting into a csv etc....
How do you make ls not add the quotes?
Add the capital "-N" switch
ls -N
You could also add an alias to make it more permanent
Do this to add it to ~/........
Sometimes manual intervention on various Linux system's, including Debian, is required to fix things after waking up from sleep.
One persistent issue is the sound system / pulseaudio needing to be reset and not working until you do that after waking up. It's not clear if it's an OS issue itself or the sound driver, but this will fix things.
Where do we put scripts or commands that need to be used upon wakeup automatically?
/lib/systemd/syst........
Why choose OpenVPN instead of a firewall appliance?
OpenVPN can be a reliable and easy replacement for traditional hardware or just be an additional tool that your company uses so that the firewall can focus on its job rather than acting as a VPNappliance at the same time.
When comparing OpenVPN with traditional firewal........
Most newer distros inexplicably cause your NIC to have what Icall "random" non-standard name conventions because of systemd.
This is a big problem for many people and especially those running servers. Imagine that you have a static IPconfigured for ens33 but then the hard disk is moved to a newer system, the NIC could be anything from ens33 to enp0s1, meaning that manual intervention is required to go and update the NIC config file (eg. /etc/network/interfa........
Install Errors on Version 12:
This error happened on QEMU emulator version 2.11.1 pve-qemu-kvm_2.11.1-5
on Proxmox/Debian but installing on QEMU.12 on Centos 6 did not produce the error.
*Update it is not related to the OS or QEMU version. This happened in Centos 6 too after a second install.
What really causes this even though you successfully install........
The strange thing is that usually the first install or two will work on any new machine but then it suddenly won't. I had this experience on QEMU 2.13 on a different machine. There is something finicky or buggy about the CUCM installer even when choosing the same virtual hardware specs.
qemu-kvm command:
/usr/libexec/qemu-kvm -version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.506.el6_10.1), Copyright (c) 2003-2008 Fabrice Bellard
........
This is usually because of STP causing a delay in the negotiation.
Edit your ifcfg script eg:
/etc/sysconfig/network-scripts/ifcfg-eth0
Add a LINKDELAY of 30 seconds or whatever works for you:
LINKDELAY=30
After that you should have an IP during bootup.........
The key thing is that you must use a "machine"id of "pc-1.3" or it will say your hardware is not supported.
Additionally you MUST use a virtio disk or you will get a ks_pre.sh error as soon as the install starts (a look at logs will show it can't find a disk). This is funny because even though the OS finds the disk and an fdisk -l shows it, it looks like the script looks for a /dev/vda device (virtio) and nothing else, so if you didn't use Virtio as you........
umask are the default permissions that are applied when a file or directory are created. To see this in action simply just "touch filename" or "mkdir somedir" and you'll see what default permissions are applied.
The first thing Ialways tell people you should know is to NEVER change the defaults unless you are making them more restrictive. But they work well and if you change the defaults you could end up creating a file without permission to read........
sudo apt-get install libcurl4-openssl-dev git build-essential autotools-dev autoconf libcurl3
sudo apt-get install libcurl4-gnutls-dev
git clone https://github.com/wolf9466/cpuminer-multi
sudo apt-get install cmake libpthread-* libmicrohttpd-dev libssl-dev libhwloc-dev
git clone https://github.com/fireice-uk/xmr-stak-cpu.git
make install
cd bin
chmod +x xmr-stak-cpu
./xmr-stak -O xmr........
SyntaxError: Missing parentheses in call to 'print'
This is an annoying issue where the syntax betweenPython 2 and 3 changed which breaks old scripts.
print "hello"
#change to
print("Hello, World!")........
#mount the VCSA DVD
mount /dev/sr0 /mnt/cd
#alternatively you could mount the iso directly
mount -o loop vcsa.iso /your/mount/path
#for this purpose we are using the CLI installer on Linux
cd /mnt/cd/vcsa-cli-installer/lin64
#no it's not going to be that easy you can't just run vcsa-deploy like that you need to use a template or configured .json file
./vcsa-deploy
Usage: vcsa-deploy [-h] [--version] [--supported-deploymen........
A simple way that may work for a lot of people who just need basic output for their scripts or daemons to announce an action is this:
echo "body or message" | mail -s "realtechtalk.com" user@domain.com
If you want to send a text file as the body just do this instead:
mail -s "realtechtalk.com" user@domain.com < /tmp/sometxtfile.txt
These are some ve........
This usually happens when you are using something like an INT and try to insert a larger valuethan the maximum which is larger than "2147483647"
On a practical term I have seen this and been guilty of this error when using scripts like PHPand generating large random numbers:
$hash = mt_rand(5,9999999999999);
Obviously that many 9's are more digits than the maximum of an INT resulting in that error. Change your code accord........
This is one thing that has me wondering about SMF. It is apparently a known issue but in the latest version and new install nothing looked right because it was using http://127.0.0.1 to find everything! How on earth would it ever do this or think it is normal?
Excerpt of crazy html code it produces that causes the issue:
........
Done on Centos 7.3 very important as clearly based on older guides it was a lot easier and more simpler! Hint do not use grub2-install!
If you have trouble booting after this check this CentOS mdadm RAID booting/fixing guide.
One huge caveat if you are an oldschool user or sysadmin who has avoided UEFIbooting
The nor........
This is mainly the case on Centos but applies to other distros and situations. If you are running programs in the background with the &, at least in Centos it is usually not honored and if you quit or are disconnected the backgrounded programs will be sent sighup and be shut down.
The simplest way around this instead of using & is to start any programs or commands with "nohup"
Eg.
nohup yourscript.sh........
Centos 7 is no cakewalk, there are many fundamental features and basic utilities that are missing or even completely renamed or different!
Another shocking thing is to check your NIC it is set by default to not turn on when booting!
And by the way there is no more standard eth0 the NIC convention is now "enp0s3"
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3........
This is actually very simple and this example assumes your network device is "eth0"
In Centos your network config would be the following: /etc/sysconfig/network-scripts/ifcfg-eth0
Take the same path and just add a "-range0"
So to add a range create the following file: /etc/sysconfig/network-scripts/ifcfg-eth0-range0
IPADDR_START=192.168.1.50
IPADD........
I never did get it working, it is too bad as obfsproxy should really be an option and integrated into the OpenVPN client and server or something similar:
yum -y install python-pip python-devel
No package python-pip available.
#install the EPEL repo
python-pip install obfsproxy
python-pip install obfsproxy
-bash: python-pip: command not found
pip install obfsproxy
&........
If a service is not working and resetting it to defaults is not working and you get bizarre error messages it is probably a broken update and possibly duplicate package.
Take in this case "exim" not working even after resetting to defaults.
Check for duplicates:
rpm -aq|grep exim
........
It's a basic script that reads the file "ips.txt" in the current directory and then creates a corresponding ifcfg file
#!/bin/bash
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
device=eth0
counter=0
for ips in `cat ips.txt`; do........
First of all if you're getting this error it is a result of extreme database activity. If you aren't expecting it or it doesn't make sense to you 99% of the time this is a database driven script being exploited (some common examples I see often are things like phpBB being hit by dozens, hundreds or thousands of bots making constant DB write requests).
The easiest way to identify this is to restart MySQL and then run the third party tool "mtop" and you'll see all........
CPanel says you can access 98% of the functions through CLI which experienced Unix/Linux admins prefer for simplicity and for scripting. I've never found CPanel easy to use from the admin panel, it seems everything is hard to find and a simple task becomes a series of hunts.
So for people like me here's the list: http://cpanel.net/system-administrators/command-line-scrip........
OpenVZ has made vzctl version 4.7 default to using ploop which is a big annoyance. No one wants it otherwise we'd use Xen or KVM.
Make sure to manually specify vzctl 4.6.1 or you will have issues with old scripts breaking since it defaults to using ploop (a single image like Xen/KVM).
Here's a list to old versions of vzctl.........
./configure
./configure: line 91: cd: /lib/modules/2.6.32-042stab084.25/build: No such file or directory
Error: kernel version not found.
Please make sure your kernel is configured.
dr-xr-xr-x. 4 root root 4096 Feb 21 06:13 ..
lrwxrwxrwx 1 root root 45 Feb 21 06:13 build -> ../../../usr/src/kernels/2.6.32-042stab084.25
drwxr-xr-x 2 root root 4096 Feb 12 20........
root@hkhosting [/]# service httpd start
Starting httpd: Syntax error on line 2 of /etc/httpd/conf/httpd.conf:
Invalid command 'Alias', perhaps misspelled or defined by a module not included in the server configuration
........
Fatal error: Out of memory (allocated 6291456) (tried to allocate 7680 bytes)
This is usually caused by Wordpress, Drupal or other ridiculously inefficient CMS' out there, as a temporary fix you can increase PHP's memory limit but it's best to find the actual culprit, by disabling add-ons and other scripts etc...........
Linux box13. 2.6.32-042stab076.5 #1 SMP Mon Mar 18 20:41:34 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux
even setting privvmpages to a specific setting DOES not affect "free -m" in containers.
This is probably a kernel issue
23:36:29 up 159 days, 7:12, 4 users, load average: 0.42, 0.44, 0.33
[root@box13 ~]# free -m
total&n........
PHP5 Centos 6 displays part of code from PHP file for some scripts
Solution
edit /etc/php.ini change short_open_tag = Off to:
short_open_tag = On
Then restart Apache and it should be resolved (assuming the scripts failing used )
........
/scripts/phpextensionmgr install PHPSuHosin
Updating md5sum list
Fetching http://httpupdate.cpanel.net/cpanelsync/easy/targz.yaml (connected:0).......(request attempt 1/12)...Resolving httpupdate.cpanel.net...(resolve attempt 1/65)...
Fetching http://httpupdate.cpanel.net/mirror_addr_list (connected:0).......(request attempt 1/3)......connecting to 74.50.120.123...@74.50.120.123......connected......receiving...100%......request success......Done........
The first is a dual CPU AMD Opteron 2373EE (4 cores x 2) and I think it did bad because it has some old 250GB SATAs which can only do about 65MB/s max sequential reads. I think it should have blown away the second (AMD X4 640 Quad Core).
[root@fs12home unixbench-4.1.0-wht-2]# ./Run
make all
make[1]: Entering directory `/root/unixbench-4.1.0-wht-2'
Checking distribution of files
./pgms exists
./src exists........
for ip in `cat fixlist.txt`; do
sudo -u apache ssh root@$ip "`cat iptablesrules.sh`"
done
In the above example we are going to execute the commands within the local file "iptablesrules.sh" on all the machines in "fixlist.txt". This is a great way of performing server maintenance in a clustered or cloud environment.........
-bash-3.1# shutdown -rn now
Connection to localhost closed by remote host.
Connection to localhost closed.
Sometimes I work with embedded systems/custom kernels without any of the fancy init scripts and other common Linux basics that most would expect. This means that often the "reboot" command (which uses an init script) will never work, not only that but it will hang the server and a manual power cycle or reboo........
Solution To The Following:
yum -y install zlib-devel
yum -y install e2fsprogs*
*** Cannot find /usr/include/et/com_err.h. (yum install libcom_err-devel) ***
Installation didn't pass, halting install.
Once requirements are met, run the following to continue the install:
cd /usr/local/directadmin/scripts
./install.sh
Common pre-install commands:
http://help.directadmin.com/it........
In bash you test like this for problems that can be caused by non-printable characters since if you don't know how to identify it because it basically breaks your script.
echo "url=$url" should print something like this normally if you have properly formatted input/text:
url=::http://someaddress.com::
But if you have some weird hidden characters (not visible in a text editor of any sort you'll get something like this
::l=::http://s........
I experienced this with CPanel's Exim after an auto-update (a Google of this error produces lots of complaints with few clear solutions). In this case I'll put the solution at the top.
Run /scripts/buildeximconf to rebuild the Exim config and it should be fine after that.
mail -vs "from test" user@dest.com < .bash_history
LOG: MAIN
cwd=/root 4 args: send-mail -i -v user@dest.com
LOG: MAIN
&........
I used the suggested script to bridge from OpenVPN and it took my client's server off-line! Don't ever use their "sample" scripts if you don't have another way of accessing the server than SSH.
I actually found it easier to use iptables to tell it to route IPs based on a certain subnet to route through eth0:
iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o eth0 -j MASQUERADE
Replace "192.168.200.0/24" with your subnet of cour........
carat M isn't this symbol ^ that you think, it can only be produced by typing "Ctrl-v, Ctrl-m". That you might see in text files saved from Windows.
tofrodos is the package that has dos2unix which is basically the same scripts that replace ^M with /n
tofrodos is the Debian/Buntu package name which has the dos2unix and unix2dos binaries........
This is e-mail notification to warn you that your hostname is setup improperly on your system.
This is an annoying message and bug with Directadmin, my hostname is set correctly, why does it complain?
To get of this message just run this command:
/usr/local/directadmin/scripts/hostname.sh yourhostname.com........
http://www.datsi.fi.upm.es/~frosal/
SHC is a program written by the author above that does just that, it's a great little tool to have.
Some have said it isn't exactly encrypting the code but just making it hard to read by obfuscating the code.
There was also a good discussion about that here:........
drup 6.2 install
$cd drupgoodinst3883/
[ drupgoodinst3883]$ ls
CHANGELOG.txt cron.php index.php INSTALL.pgsql.txt INSTALL.txt MAINTAINERS.txt modules robots.txt sites update.php xmlrpc.php
COPYRIGHT.txt includes INSTALL.mysql.txt install.php LICENSE.txt misc&........
Apache/httpd
Failed to save enabled features : The Suexec command on your system is configured to only run scripts under /var/www, but the Virtualmin base directory is /home. CGI and PHP scripts run as domain owners will not be executed.
This is because I never edited the Apache Config and Virtualmin config to reflect my new/current updated structure.........
yum exits in the middle
The problem is this VPS seems to be an OpenVZ template from HyperVM. The only way to make it work was to disable i386 packages since this was an x64 kernel. That shouldn't be necessary but it was the only way to make yum stop quitting after the first package or two. I couldn't find any issue by checking the logs either.
echo y|yum install vim-minimal telnet expect jwhois net-tools slocate iptables elinks gawk
L........
nautilus-gksu - privilege granting extension for nautilus using gksu
nautilus-sendto - integrates Evolution and Pidgin into the Nautilus file manager
nautilus-share - Nautilus extension to share folder using Samba
nautilus-actions - nautilus extension to configure programs to launch
nautilus-bzr - Bazaar (bzr) integration for nautilus
nautilus-cd-burner - CD Burning front-end for Nautilus
nautilus-clamscan - Antivirus scanning for Nautilus
n........
2010:09:09-22:22:11: The ip of this machine (xx.xx.xx.xx) does not match the ip in the license file.
Check the value of your ethernet_dev=venet0:0 setting in your /usr/local/directadmin/conf/directadmin.conf file and the output of /sbin/ifconfig
Solution
/usr/local/directadmin/scripts/getLicense.sh........
cd /usr/local/directadmin/scripts/
scripts]# ./awstats.sh
--23:49:28-- http://files.directadmin.com/services/all/awstats/awstats-6.9.tar.gz
Resolving files.directadmin.com... 72.35.85.222
Connecting to files.directadmin.com|72.35.85.222|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1125906 (1.1M) [application/x-gzip]
Saving to: `/usr/local/directadmin/scripts/packages/awstats-6.9.tar.gz'
100%[=........
I've never understood how to enable and disable services for different run levels in Debian based distros, it's just weird, annoying and doesn't make sense. I much prefer chkconfig from RHEL.
Just install the package called 'rcconf' and be done with it. rcconf makes things easy for you.
apt-get install rcconf
Reading package lists... Done
Building dependency tree
Reading state information... Done........
route add -net 192.16.5.0 netmask 255.255.255.0 eth0
Of course adjust as you need (eg. the 192.16.5.0 should be changed to the subnet you need access to and eth0 should be changed to the network device that you want that subnet routed through). I also use the /etc/sysconfig/rc.local script and add the above into it (remember that this route only gets added AFTER all other init scripts have finished though).........
Basically the two main types of distros are Debian and RHEL/Centos based. I'm just going to give a quick overview of how the configuration of IP interfaces works in Debian/Centos based distros.
*Just one thing to remember, when setting IPs statically you have to manually specify a DNS server in /etc/resolv.conf (since DHCP is what normally does it automatically)
Debian/Ubuntu/Kubuntu/MEPIS
The IP (DHCP &........
I used the "Image Manipulation and Security Options" and let the script do the rest.
/scripts/easyapache
For whatever reason, doing a manual compile of PHPmyself broke everything and I've never seen that before, that's why I resorted to the cheat of easyapache.........
This was unbelievable how much the Xen kernel slows things down, keep in mind both tests were done on the hostnode, one was with the Openvz-Xen hybrid kernel and the other was just OpenVZ. You can see the performance difference is nearly 300% better when not using the Xen kernel.
OpenVZ-Xen Kernel Test Results (I was wondering what was wrong/so slow with my Core i5!)
# # # # # #&n........
I'm really starting to love ImageMagick, I've used it to mass convert/resize family photos with scripts and all kinds of handy things.
Today I just learned that you can create PDF files with it too, say if you have images scanned or anything else it's very simple:
convert *.jpeg output.pdf
You can replace jpg with whatever format your files are in. One thing to remember is that you can specify the order that the images/pages are added to the PDF manu........
I decided on using yum to help me decide even though I normaly use proftpd I decided to see what else I could find.
yum search ftp
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* rpmforge: ftp-stud.fht-esslingen.de
* base: mirrors.netdna.com
* updates: updates.interworx.info
* addons: yum.singlehop.com
* extras: mirrors.netdna.com
rpmforge........
Here are the results, it is Sempron 3000+ AMD Mobile, 500Gig HDD, 512MB RAM with shared ATI Radeon graphics.
# # # # # # # ##### ###### # # #### # #
# # ## # # # #&nb........
Photoshop Save Layers as a fileJust click:
[quote:64c0c64b5a]File: Scripts: Export Layers to Files[/quote:64c0c64b5a]
You can choose an individual layer or all of them.
Have fun :)........
Setup Static IP Address ONBOOTAssuming you are using eth0
Note this will work for any version of CentOS and basically any version of Redhat Linux or Redhat based distribution.
You would need to create a new file
[code:1:02f8d34c30] /etc/sysconfig/network-scripts/ifcfg-eth0:0[/code:1:02f8d34c30]
DEVICE=eth0:0
the ":0" at the end specifies alias 0 we could actually change this to ":99" or "........
Updated to Version 3.8 and can't loginSSHD accepts my password but then hangs at "Last login: Wed Sep 13 21:30:02 2006 from"
This occurred during a yum update after upgrading my release, installing the new kernel and rebooting.
I got kicked out of sshd after seeing the following during yum update:
telnet 100 % done 85/476
tux 100 % done 86/476
ntsysv 100 % done 87/476
rpmdb-redhat 94 % done 88/476........
Server Uptime ScriptA cool and free tool for uptime!
http://checkwebsite.org/........
Linux Kernel v2.6.30.3
102220 blocks
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC drivers/net/igb/igb_main.o
drivers/net/igb/igb_main.c: In function `igb_up':........
You might remember my original GluserFS/OpenVZ benchmark which produced a horrible 29.8
This is the exact same system, but using the latest 2.0.8 (with some small files patch which speeds up performance) you can see it is about 25% faster.
I also haven't tuned my config files at all, but there are some settings that should increase performance on small files which I believe i........
This is very disappointing since GlusterFS markets itself as a solution to deploy VPS servers on. On the HNitself I get a Unixbench of about 360.
I'm also using an SSH tunnel to secure the communications, but even before that, things seemed very slow.
# # # # # # # #####&n........
A VPS Server I had just wasn't working right, code that I migrated there just wasn't working. For example, it kept telling me the connection to the database was unsuccessful, halfway through iterating through results it already had.
Then I realized it wasn't my code. Ichecked my /proc/user_beancounters and found this:
cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt........
There is a tool called "xml2" which will parse both HTML and XML scripts, this is very useful to do a mass extraction or conversion of data based on say an HTML table etc..
It becomes even more powerful using bash if certain tags are identified with a certain class="" attribute or something else unique to only the tags you want.
Happy parsing.........