在linux上普通用户无法绑定1024以下的端口，不过总是会碰到一些特殊情况，比如遇到最多的就是普通用户程序要监听80端口，有很多方法可以实现，之前常用的就是使用sudo给予普通用户一定的权限，不过总感觉sudo控制起来不是很方便，最近发现ubuntu下面有一款小程序authbind可以实现该功能，且配置起来也方便。authbind允许程序不使用root权限来绑定系统1024以下的特权端口，你必须使程序调用authbind，authbind会调用一些环境变量，来允许你的程序绑定在特权端口。ubuntu16.04安装authbindapt-get install authbind -y 默认的配置文件区域在/etc/authbind目录下，里面有三个目录：byport、byaddr、byuid。假如我们有个test账号，想运行一个程序绑定80端口在byport目录下建立80文件：/etc/authbind/byport/80，设置test账户有80文件的使用权限，如果80文件可以被test访问，则绑定就是成功的，否则绑定就是失败的。具体操作：chmod 755 /etc/authbind/port/80 chown test.test /etc/authbind/port/80 在你要启动的命令前加上authbind --deep命令即可。我们也可以直接在地址上绑定端口，在byaddr下建立ip:port文件，测试方法如上。也可以在byuid目录下建立uid文件，只要你的test账号可以访问，否则绑定失败。
在基于unix的机器上，喜欢grep这样的特定进程：ps ax | grep elasticsearch 有时需要杀死一组与你的模式相匹配的进程时，可以使用pkill来grep和kill进程。例如，要杀死所有匹配'elasticsearch'的进程，请运行：pkill -f elasticsearch 或者如果您希望在杀死它们之前查看进程：pgrep -lf elasticsearch pkill安装sudo apt-get install pkill -y
一、安装需要使用的软件sudo apt-get install squashfs-tools genisoimage #装入 squashfs文件系统处理工具以及 ISO制作工具 sudo modprobe squashfs #加载 squashfs模块 二、提取光盘内容1、创建一个livecd文件夹作为工作目录mkdir ~/livecd 2、挂载ubuntu光盘镜像cd ~/livecd mkdir mnt sudo mount -o loop ubuntu-14.04-desktop-i386.iso mnt 3、展开ubuntu镜像文件中的内容到 mycd 目录mkdir mycd sudo cp -Ra mnt/* mycd 三、解压squashfs系统文件1、挂载 squashfs 文件系统mkdir squashfs sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs 2、展开 squashfs 文件系统中的内容到 myedit 目录下mkdir myedit sudo cp -Ra squashfs/* myedit/(这一步需要较长的时间) 四、配置设置自己的系统1、复制resolv.conf到系统目录sudo cp /etc/resolv.conf myedit/etc/ 2、hosts复制一份过去sudo cp /etc/hosts myedit/etc/ 3、替换apt源rm /home/yourname/livecd/myedit/etc/apt/sources.list cp /etc/apt/source.list /home/yourname/livecd/myedit/etc/apt apt-get update 4、在自己系统上挂载一些重要的目录sudo mount --bind /dev/ edit/dev sudo chroot myedit mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts 五、安装卸载系统中的软件，配置以达到自己的要求1、安装卸载软件cd ~livecd/ sudo chroot myedit sudo apt-get install 软件名 sudo apt-get remove 软件名 2、进行清理sudo apt-get autoremove sudo apt-get clean 3、记得卸载刚才加入的挂载，退出chroot环境umount /proc umount /sys umount /dev/pts exit sudo umount myedit/dev 六、生成自己的ubuntu系统镜像playubuntu.iso1、重新压缩系统文件到filesystem.squashfssudo rm mycd/casper/filesystem.squashfs //删除原有的filesystem.squashfs sudo mksquashfs myedit mycd/casper/filesystem.squashfs //生成自己的filesystem.squashfs 2、创建playubuntu.isocd mycd sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../playubuntu.iso ~/livecd/mycd/ (这是一条命令) 七、完成后我们可以在virtualbox虚拟机里测试了
ubuntu 13之后，64位系统下无法安装ia32-libs库，提示没有可用的软件包终端执行sudo apt-get install ia32-libs提示：正在读取软件包列表...完成 正在分析软件包的依赖关系树 正在读取状态信息...完成 现在没有可用的软件包 ia32-libs，但是它被其它的软件包引用了。 这可能意味着这个缺失的软件包可能已经被废弃， 或者只能在其他发布源中找到 E：软件包 ia32-libs 没有可供安装的候选者 原因是Debian项目宣布，预计于2013年发布的Debian 7（代号Wheezy）将支持Multiarch。Multiarch（多架构）术语被用于指一个系统能安装和运行有多个不同二进制文件的应用程序，例如i386-linux-gnu程序能运行在 amd64-linux-gnu系统上。Multiarch还简化了跨架构编译。Debian在年度会议DebConf11上作出了引入 Multiarch支持的决定。开发者表示，它大大增强了Debian实现通用操作系统承诺的能力，加强了新的64位系统对32位应用程序的支持。解决办法:首先判断在用的架构sudo dpkg --print-architecture输出当前的使用的架构，比如amd64添加架构sudo dpkg --add-architecture i386添加i386架构，然后刷新下源列表sudo apt-get update这时就已经包含i386的软件列表安装i386sudo apt-get install -y iceweasel:i386
最近拿些老机器安装Ubuntu16.04，装完之后，显示非常模糊，分辨率有问题，于是做了如下处理：按下win键，搜索“附加驱动”，安装一个nvidia最新的驱动。安装nvidia prime:sudo apt-get updatesudo apt-get updatesudo apt-get install nvidia-prime -ysudo nvidia-xconfig重启电脑。打开设置页面，调整分辨率，你会看到1920x1080出现了。发现重启后并没有出现1920x1080分辨率 使用命令sudo gedit /etc/X11/xorg.conf打开配置文件 找到: Section "Monitor"Identifier "Monitor0" VendorName "Unknown" ModelName "CRT-0" HorizSync 28.0 - 82.0 VertRefresh 43.0 - 72.0 Option "DPMS"EndSection把HorizSync 28.0 - 82.0 VertRefresh 43.0 - 72.0改的范围大一点，上面这个是改过的。重启电脑，然后再看一下是否出现1920x1080分辨率了。