Title: debian
Subject: This is a tail of my new-bee Debian experience with apt.
##############################################
Download Debian iso with jigdo:
Jigsaw Download homepage:
Debian CD images via jigdo:
Written by Richard Atterer: atterer.net>
##############################################
A program called alian can convert rpm's to .deb packages
##############################################
Cool tips: http://linuxmafia.com/pub/linux/debian-tips
##############################################
List all packages starting with work apache2
debian1:/etc/apache2# dpkg --list apache2*
List files supplied by package
debian1:/etc/apache2# dpkg -L php4-cgi
##############################################
Nightly upgrade:
Just update and download new packages each night,
and clear out useless .deb from /var/lib/dpkg/archive
apt-get update && \
apt-get -y --download-only dist-upgrade && \
apt-get autoclean
Later install
atp-get dist-upgrade
##############################################
Update system after new install
# To find the fastest mirror in North America for testing, run
apt-spy -d testing -a north-america
# Update list of current package version numbers
apt-get update
# Update pacakges that are installed on the system to current verison
atp-get dist-upgrade
##############################################
Dangerouse:
apt-get update # upgrade list of current versions
apt-get -u dist-upgrade # also install new packages added to the dist
##############################################
Found a great link for administering Debian
http://developers.coedit.net/UserModeLinux
p Learning how to use apt I ran an
# stop after 10 servers, specify paths to files, grab new mirrors from http.us.debian.org
apt-spy -e 10 -c /etc/apt-spy.conf -m /var/lib/apt-spy/mirrors.txt -o /etc/apt/sources.list update
apt-get update
apt-get upgrade
which of course died at a funny point
(complaining that the pcmcia socket in use).
Now most apt-* programs die with this error:
apt-get
apt-get: error while loading shared libraries: /usr/lib/libapt-pkg-libc6.3-5.so.3.3: invalid ELF header
------------------------------------------------------
I downloaded a new apt package from a debian ftp site, and installed:
wget http://ftp.debian.skynet.be/ftp/debian/pool/main/a/apt/apt_0.6.25_i386.deb
dpkg -i apt_0.6.25_i386.deb
------------------------------------------------------
but dpkg errors about /var/lib/dpkg/available corruption.
dpkg -l
dpkg-query: parse error, in file `/var/lib/dpkg/available' near line 157037:
field name `menu' must be followed by colon
------------------------------------------------------
I edited /var/lib/dpkg/available, to find a binary section (bunch of
@'s), so I deleted the binary line (before making a local backup). Now I
need a new /var/lib/dpkg/available! Oh great.
------------------------------------------------------
I created an empty /var/lib/dpkg/available, and ran an update
rm -rf /var/lib/dpkg/available
touche /var/lib/dpkg/available
dpkg --update-avail /var/lib/dpkg/available
------------------------------------------------------
Then I installed the new apt package I got from a debian ftp site.
dpkg -i apt_0.6.25_i386.deb
------------------------------------------------------
Now dpkg and apt-get work!
I ran an update and upgrade again:
apt-get update
apt-get -u upgrade -f
------------------------------------------------------
The upgrade died again (complaining that the pcmcia socket in use), but
apt-get still works:
/etc/init/network stop
/etc/init/pcmcia stop
------------------------------------------------------
This time I killed all network connections and reran the update.
apt-get update
apt-get -u upgrade -f
------------------------------------------------------
This time it completed without error! Ya! But some packages did not
upgrade:
The following packages have been kept back:
abiword-common abiword-gnome apt-spy bind9-host bzflag classpath discover dnsutils emacs21 emacs21-common evolution gdm
gedit gimp1.2 gksu gnome-core gnome-media gnome-office gnomemeeting gnucash gnumeric gnuplot gpdf grip gs gtkhtml3.0
gucharmap guessnet guile-1.6-libs libdiscover1 libgal2.0-common libglut3 libgnomeprint2.2-0 libgnomeprint2.2-data
libgnomeprintui2.2-0 libgtksourceview1.0-0 libplplot9 libsane libxine1 ltrace motor mzscheme nautilus-cd-burner
nautilus-media openoffice.org openoffice.org-bin openoffice.org-debian-files openoffice.org-l10n-en pdl planner r-base
r-base-core rhythmbox tasksel vorbis-tools wing wing-data xblast
0 upgraded, 0 newly installed, 0 to remove and 58 not upgraded.
------------------------------------------------------
I got many of the 'kept back' packages to install with this:
apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
------------------------------------------------------
This appeared to start working and then failed with the error:
Errors were encountered while processing:
/var/cache/apt/archives/classpath-common_2%3a0.12-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
------------------------------------------------------
So I tried to debug just the install of classpath-common
apt-get -o Debug::pkgProblemResolver=yes upgrade classpath-common -f
------------------------------------------------------
Almost there, but synaptic will not install due to a dependency on libapt-pkg-libc6.3-5-3.3
apt-get install synaptic
synaptic: Depends: libapt-pkg-libc6.3-5-3.3
------------------------------------------------------
Found the library belongs to apt
dpkg -S /usr/lib/libapt-pkg-libc6.3-5.so.3.5*
apt: /usr/lib/libapt-pkg-libc6.3-5.so.3.5
apt: /usr/lib/libapt-pkg-libc6.3-5.so.3.5.0
------------------------------------------------------
Found the version of apt
dpkg -l |grep apt
ii apt 0.6.25 Advanced front-end for dpkg
------------------------------------------------------
show that apt provides libapt-pkg-libc6.3-5-3.3
apt-cache show apt
------------------------------------------------------
The apt package is installed but the dependency is still not met.
So I check for the version listed in my cache:
find /var/cache/apt/archives/ -name "apt*"
/var/cache/apt/archives/apt_0.5.27_i386.deb
------------------------------------------------------
I installed the version in the cache
dpkg -i /var/cache/apt/archives/apt_0.5.27_i386.deb
------------------------------------------------------
Finally all is installed and updated.
##############################################
# Download debian ISO:
#----------------------
1. Get jigdo-lite from: http://atterer.net/jigdo/#download
2. For CD and DVD images, see: http://www.debian.org/CD/jigdo-cd/
Found: http://us.cdimage.debian.org/jigdo-area/3.0_r4-cd/jigdo/
3. Unpack jigdo
tar -zxvpf /home/jstile/jigdo-bin-0.7.1.tar.bz2
cd jigdo-bin-0.7.1/
4. Run jigdo
./jigdo-lite
Enter mirror for jigdo: http://us.cdimage.debian.org/jigdo-area/3.0_r4-cd/jigdo/i386/woody-i386-{1_NONUS,1,2,3,4,5,6,7}.jigdo
Files to scan:
Debian mirror: us
Debian mirror: http://ftp.keystealth.org/debian/
Debian non-US mirror: ca
Debian non-US mirror: http://mirror.peer1.net/debian-non-US/
5. You should have some ISO's to burn
#####################################################
# From within kde, regular user can't eject the cdrom
#----------------------
ls -alF /bin/{u,}mount
-rwsr-xr-x 1 root root 76888 Sep 23 21:34 /bin/mount*
-rwsr-xr-x 1 root root 39960 Sep 23 21:34 /bin/umount*
Google: debian kde eject cdrom fails
http://lists.debian.org/debian-user/2003/12/msg03445.html
Can't eject my CDROM as a normal use or using the eject command.
But I can mount.
ls -l /dev/hdc
brw-rw---- 1 root disk 22, 0 Mar 23 2004 /dev/hdc
chown root:cdrom /dev/hdc
ls -l /dev/hdc
brw-rw---- 1 root cdrom 22, 0 Mar 14 2002 /dev/hdc
Add user to cdrom group (as well as other commonly used groups)
cdrom:x:24:jstile
floppy:x:25:jstile
audio:x:29:jstile
Change permissions of eject
ls -alF /usr/bin/eject
-rwxr-xr-x 1 root root 18388 Jul 20 16:05 /usr/bin/eject*
chmod 4755 /usr/bin/eject
ls -alF /usr/bin/eject
-rwsr-xr-x 1 root root 18388 Jul 20 16:05 /usr/bin/eject*
NOTE: details about user gorups: /usr/share/doc/base-passwd/users-and-groups.html
######################################################
# 2005-03-27 jstile:
# Transplanted debian system from a ide desktop to a scsi desktop.
## Steps I didn't document:
# Downloaded and burned knopix iso to CD
# Booted with knopix
# mount scsi and ide disks
# fdisk to create partitions
# mkreiserfs
# mkext3
# Mounted the scsi disks
# rsync -avz / /
update-grub
grub-install /dev/sda
vi /etc/fstab
cat /etc/modules
vi /etc/modules
add 'aic7xxx'
man dpkg-reconfigure
apt-cache search 'kernel-image'
dpkg -S /boot/vmlinuz-2.4.25-1-386
kernel-image-2.4.25-1-386: /boot/vmlinuz-2.4.25-1-386
dpkg-reconfigure kernel-image-2.4.25-1-386
/usr/sbin/mkinitrd: neither /dev/fd or /proc/self/fd exists!
Try mounting the proc filesystem: mount -tproc none /proc
Failed to create initrd image.
mount /proc
dpkg-reconfigure kernel-image-2.4.25-1-386
Not touching initrd symlinks since we are being reinstalled (2.4.25-1)
Not updating image symbolic links since we are being updated (2.4.25-1)
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /vmlinuz-2.4.25-1-386
Updating /boot/grub/menu.lst ... done
######################################################
Setup apache2 with mod_php4 the debian way:
# List Installed php stuff
dpkg --list |grep php
# Remove All php stuff
dpkg -B --remove php4-cgi php4-cli php4-common php4-curl php4-domxml php4-gd php4-imagick php4-imap php4-ldap php4-mcal php4-mcrypt php4-mhash php4-mysql php4-pear php4-pgsql php4-snmp php4-xslt phpmyadmin phpsysinfo
dpkg -B --purge php4-cgi php4-cli php4-common php4-curl php4-domxml php4-gd php4-imagick php4-imap php4-ldap php4-mcal php4-mcrypt php4-mhash php4-mysql php4-pear php4-pgsql php4-snmp php4-xslt phpmyadmin phpsysinfo
# List Installed apache stuff
dpkg --list |grep apache
# Remove All apache stuff
apt-get -o Debug::pkgProblemResolver=yes remove --purge apache-common apache-utils apache2-doc apache2-utils libapache2-svn apache2-utils libapache2-mod-jk2
apt-get -o Debug::pkgProblemResolver=yes remove --purge libapache2
apt-get -o Debug::pkgProblemResolver=yes remove --purge libapache2*
apt-get -o Debug::pkgProblemResolver=yes autoclean
# List Dependencies for mod_php
apt-cache depends libapache2-mod-php4
apt-cache show libapache2-mod-php4
# Install Apache2, apche2-mpm-prefork, mod_php4, php4-common
apt-get -o Debug::pkgProblemResolver=yes install -f libapache2-mod-php4 apache2-mpm-prefork apache2 php4-common libbz2-1.0 libc6 libcomerr2 libdb4.2 libexpat1 libkrb53 libpcre3 libssl0.9.7 libzzip-0-12 zlib1g mime-support
# Filesystem layout should look like this after install
grep -rn php /etc/apache2/{sites,mods}-enabled /etc/apache2/apache2.conf
/etc/apache2/mods-enabled/php4.conf:1:
/etc/apache2/mods-enabled/php4.conf:2: AddType application/x-httpd-php .php .phtml .php3
/etc/apache2/mods-enabled/php4.conf:3: AddType application/x-httpd-php-source .phps
/etc/apache2/mods-enabled/php4.load:1:LoadModule php4_module /usr/lib/apache2/modules/libphp4.so
/etc/apache2/apache2.conf:202:DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
/etc/apache2/apache2.conf:334:#AddType application/x-httpd-php .php
/etc/apache2/apache2.conf:335:#AddType application/x-httpd-php-source .phps
#########################
# Found a basic problem:
# My script had incorrect php syntax
# correct syntax for phpinfo.php
#########################
# WRONG info.php test script
# CORRECT info.php test script
# Install extra php stuff
aptitude install php4-curl php4-domxml php4-gd php4-imagick php4-imap php4-ldap php4-mcal php4-mcrypt php4-mhash php4-mysql php4-pear php4-pgsql php4-snmp php4-xslt phpmyadmin phpsysinfo
######################################################
# Configure ssl cert for apache2, the debian way
#NOTE: this doesn't acutlly work yet...
# the server is listening on 443, but i don't see
# a warning about an invalid certificate.
# for this I followed notes from :http://www.ilovett.com/node/126/
apt-get -o Debug::pkgProblemResolver=yes -f install apache2-ssl
apache2-ssl-certificate
cp /usr/share/doc/apache2/examples/ssl-std.conf.gz /etc/apache2/sites-available/
gzip -d /etc/apache2/sites-available/ssl-std.conf.gz
a2ensite ssl-std.conf
a2enmod ssl
vi /etc/apache2/mods-enabled/ssl.conf
Add:
SSLCertificateFile ssl/apache.pem
SSLCertificateKeyFile ssl/apache.pem
vi /etc/apache2/ports.conf
Add:
Listen 443
vi /etc/apache2/sites-enabled/000-default
Change:
NameVirtualHost *
To:
NameVirtualHost *:80
NameVirtualHost *:443
/etc/init.d/apache2 reload
lsof -i tcp |grep apa
apache2 2247 root 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2247 root 4u IPv4 180629 TCP *:https (LISTEN)
apache2 2253 www-data 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2253 www-data 4u IPv4 180629 TCP *:https (LISTEN)
apache2 2254 www-data 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2254 www-data 4u IPv4 180629 TCP *:https (LISTEN)
apache2 2255 www-data 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2255 www-data 4u IPv4 180629 TCP *:https (LISTEN)
apache2 2256 www-data 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2256 www-data 4u IPv4 180629 TCP *:https (LISTEN)
apache2 2257 www-data 3u IPv4 180628 TCP *:www (LISTEN)
apache2 2257 www-data 4u IPv4 180629 TCP *:https (LISTEN)
######################################################
# Compile Kernel (debian way)
# to add with dma and i2c support
#
# Reference: http://www.groupedia.com/node/view/126
######################################################
# Try to set dma manually
debian1:/# hdparm -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
# test the speed
debian1:/# hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 496 MB in 2.01 seconds = 246.77 MB/sec
Timing buffered disk reads: 14 MB in 3.20 seconds = 4.38 MB/sec
debian1:~# lspci -v
0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Flags: bus master, medium devsel, latency 32
I/O ports at f000 [size=16]
0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
Flags: medium devsel, IRQ 9
# Checked the settings, and dma support is loaded as a module
aptitude install kernel-source-2.4.25-1-386
apt-get install -f lm-sensors-source
apt-cache show i2c-source lm-sensors-source module-assistant
cd /usr/src/
tar -jxvpf kernel-source-2.4.25.tar.bz2
cd kernel-source-2.4.25/
aptitude install ncurses ncurses-dev
cp /boot/config-2.4.25-1-386 .config
make mrproper # install all the modules correctly
make oldconfig # upgrade .config to current available modules
make menuconfig
IDE, ATA and ATAPI Block devices --->
# Enable IDE as Y not as module
# Enable "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support" as Y not as module
# Enable "Intel PIIXn chipsets support" as Y not as module
# Also, I put reiserfs, msdos, and vfat as Y instead of modules.
# char device->I2C->i2C support -> Y
# char device->I2C->I2C device interface
# char device->I2C->I2C /proc interface
# char device->Watchdog Cards->
make dep
# backup my boot
rsync -avz /boot/ /boot.bak
# Compile the kernel
make-kpkg --initrd --rev Custom.0 kernel_image
# install
dpkg --install /usr/src/kernel-image-2.4.25_Custom.0_i386.deb
######################################################
# kernel upgrade again to 2.4.27
######################################################
apt-get -u dselect-upgrade
aptitude install kernel-source-2.4.27
aptitude install kernel-package
mkdir /root/kernel_build
cd /root/kernel_build
tar -xjvf /usr/src/kernel-source-2.4.27.tar.bz2
cd kernel-source-2.4.27/
cp /boot/config-2.4.25-1-386 .config
make oldconfig
make menuconfig
# add reiserfs support
File systems --->
<*> Reiserfs support
# Enable IDE as Y not as module
ATA/IDE/MFM/RLL support --->
<*> ATA/IDE/MFM/RLL support
# Enable "Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support" as Y not as module
ATA/IDE/MFM/RLL support --->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
# Enable "Intel PIIXn chipsets support" as Y not as module
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
<*> Intel PIIXn chipsets support
# Save and exit
# Compile kernel
make-kpkg --initrd --rev Custom.0 kernel_image
# Install the kernel
dpkg --install /root/kernel_build/kernel-image-2.4.27_Custom.0_i386.deb
########################
# To Remove kernel, run this:
# dpkg --remove kernel-image-2.4.27
# Test the hdparm stuff:
hdparm -d0 /dev/hda
/dev/hda:
setting using_dma to 0 (off)
using_dma = 0 (off)
hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 472 MB in 2.00 seconds = 236.00 MB/sec
Timing buffered disk reads: 14 MB in 3.15 seconds = 4.44 MB/sec
hdparm -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)
hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 492 MB in 2.01 seconds = 244.78 MB/sec
Timing buffered disk reads: 52 MB in 3.09 seconds = 16.83 MB/sec
######################################################
After installing a server, DISPLAY variable does not set when I ssh in.
Error: debian Warning: No xauth data
Problem: need to install the program that supplies the file xauth
aptitude install xbase-clients
######################################################
20050815 jstile: man -k fails to find matching man pages
Fix: rebuild makewhatis databaes with:
mandb -c
######################################################
20060315 jstile: Need forcedeth driver for 2 onboard Nvidia nics...
But debian kernel ( 2.6.8 ) has broken forcedeth driver.
Creating custom kernel debian package from kernel.org source
# Download the latest kernel:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.6.tar.bz2
tar -jxf linux-2.6.15.6.tar.bz2
cd linux-2.6.15.6
# Build the kernel and package
fakeroot make-kpkg \
--append_to_version "-sata_nv.forcedeth.reiserfs" \
-revision="01" \
--config menuconfig \
kernel-image modules-image
# I read that SCSI support cannot be a module when booting from Sata drives.
# And I have a sata_nv controler, reiserfs file system, and nvidia nic.
Device Drivers ->
SCSI device support ->
<*> SCSI device support
<*> SCSI disk support
SCSI low-level drivers ->
<*> NVIDIA SATA support
Network device support ->
<*> Network device support
Ethernet (10 or 100Mbit) -->
<*> Reverse Engineered nForce Ethernet support (EXPERIMENTAL)
File Systems ->
<*> Ext3 journaling file system support
<*> Reiserfs support
dpkg -i ../linux-image-2.6.15.6_2.6.15.6-10.00.Customi386.deb
######################################################
200603015 jstile: Now that i've got my custom kernel, I want a console server on my serial port.
vi /boot/grub/menu.lst
# To global section
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
# To the kernel line, append:
"console=tty0 consol=ttyS0,9600n8"
# start a getty on the serial port
vi /etc/inittab
T0:23:respawn:/usb/getty -L ttyS0 9600 vt100
# In the bios, also set console redirect to serial port
######################################################
20060315 jstile: Dump your installed package list to a file and read it back:
# Dump:
dpkg --get-selections "*" > myselections.orig
# Install everything in package list
dpkg --set-selections < myselections
######################################################
20061213 jstile: Install 3ware cli and web utils for 9550sx controller.
echo 'deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted' >> /etc/apt/sources.list
echo 'deb-src http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted' >> /etc/apt/sources.list
aptitude update
aptitude install 3ware-cli-binary
aptitude install 3ware-3dm2-binary
tw_cli
//mother> info
Ctl Model Ports Drives Units NotOpt RRate VRate BBU
------------------------------------------------------------------------
c0 9550SX-4LP 4 4 2 0 4 4 -
//mother> info c0
Unit UnitType Status %Cmpl Stripe Size(GB) Cache AVerify IgnECC
------------------------------------------------------------------------------
u0 RAID-1 OK - - 111.748 ON OFF OFF
u1 RAID-1 OK - - 279.387 OFF OFF OFF
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 111.79 GB 234441648 4MS0H48L
p1 OK u0 111.79 GB 234441648 4MS0H3CE
p2 OK u1 279.46 GB 586072368 4NF1ZMDA
p3 OK u1 279.46 GB 586072368 4NF1ZGX0
//mother> info c0 u0
Unit UnitType Status %Cmpl Port Stripe Size(GB) Blocks
-----------------------------------------------------------------------
u0 RAID-1 OK - - - 111.748 234352640
u0-0 DISK OK - p1 - 111.748 234352640
u0-1 DISK OK - p0 - 111.748 234352640
# If I evern have to rebuild a raid, it goes something like this:
# If 'tw_cli info c0 u0' shows DEGRADED, the mirror has issues.
# 1. Remove the drive
tw_cli maint remove c0 p1
# 2. If Rescanning drive results in N/A, drive is bad, replace
tw_cli maint rescan c0
# 3. Rebuilding the drive
tw_cli maint rebuild c0 u0 p1
# 4. Check status
tw_cli info c0 u0
######################################################